Towards an environment for the verification of annotated object-oriented programs

The main contribution of this paper consists of a description and formal justification of a tool which supports the specification and verification of a class of flowcharts that captures the basic dynamics of object-oriented programs. The computer-aided specification and verification involves the annotation of a flowchart with assertions and the automatic generation of the corresponding verification conditions. As such it forms a front-end tool of a theorem prover which is used to check the verification conditions interactively. To use the front-end tool for a specific theorem prover, one only needs to translate the semantics of the assertion languages. In this paper such a translation is given for the HOL theorem prover. The semantics of the flowcharts is axiomatized by the verification conditions which are formulated in terms of a weakest precondition calculus.