We present proof systems for (strong) partial correctness of object-oriented programs. We show relative completeness of the systems by transformation to recursive programs. The transformation preserves semantics, correctness, and proofs in a homomorphic way. The completeness result considers programs with variables over abstract data types. The transformational approach carries over to inheritance and subtype polymorphism.
, , , , , , , , ,
,
Elsevier
Journal of Computer and System Sciences
Networks and Optimization

Apt, K., de Boer, F., Olderog, E.-R., & de Gouw, S. (2011). Verification of object-oriented programs: A transformational approach. Journal of Computer and System Sciences.