Text this: Deductive verification of object-oriented software : dynamic frames, dynamic logic and predicate abstraction