Data-Driven Learning Of Invariants And Specifications