Verification of object-oriented programs: A transformational approach

作者:

Highlights:

摘要

We show that verification of object-oriented programs by means of the assertional method can be achieved in a simple way by exploiting a syntax-directed transformation from object-oriented programs to recursive programs. This transformation suggests natural proofs rules and its correctness helps us to establish soundness and relative completeness of the proposed proof system. One of the difficulties is how to properly deal in the assertion language with the instance variables and aliasing. The discussed programming language supports arrays, instance variables, failures and recursive methods with parameters. We also explain how the transformational approach can be extended to deal with other features of object-oriented programming, like classes, inheritance, subtyping and dynamic binding.

论文关键词:Object-oriented programs,Null references,Aliasing,Inheritance,Subtyping,Syntax-directed transformation,Recursive programs,Program verification,Strong partial correctness,Relative completeness

论文评审过程:Received 21 April 2010, Revised 16 February 2011, Accepted 5 August 2011, Available online 25 August 2011.

论文官网地址:https://doi.org/10.1016/j.jcss.2011.08.002