A weakest precondition semantics for refinement of object-oriented programs | IEEE Journals & Magazine | IEEE Xplore