From Specification to Proof Obligations
The calculus of the KeY prover operates on the logic JavaDL while Java programs are specified using the Java Modeling Language (JML). This chapter builds a formal bridge between the two logical languages by providing a denotational formal semantics for JML, translating expressions and contracts to formulas in JavaDL. Proof obligations which entail the correctness of contracts are defined for functional and dependency contracts. The issue of well-definedness of JML contracts is discussed and a formulation of a proof condition is presented.
KeywordsModel Method Proof Obligation Symbolic Execution Reference Type Java Modeling Language
Unable to display preview. Download preview PDF.