Issue No.09 - September (1990 vol.16)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.58790
<p>The Penelope verification editor and its formal basis are described. Penelope is a prototype system for the interactive development and verification of programs that are written in a rich subset of sequential Ada. Because it generates verification conditions incrementally, Penelope can be used to develop a program and its correctness proof in concert. If an already-verified program is modified, one can attempt to prove the modified version by replaying and modifying the original sequence of proof steps. Verification conditions are generated by predicate transformers whose logical soundness can be proven by establishing a precise formal connection between predicate transformation and denotational definitions in the style of continuation semantics. Penelope's specification language, Larch/Ada, belongs to the family of Larch interface languages. It scales up properly, in the sense that one can demonstrate the soundness of decomposing an implementation hierarchically and reasoning locally about the implementation of each node in the hierarchy.</p>
Ada programs; Penelope verification editor; formal basis; prototype system; interactive development; correctness proof; predicate transformers; logical soundness; interface languages; Ada; program verification; software engineering.
D. Guaspari, C. Marceau, W. Polak, "Formal Verification of Ada Programs", IEEE Transactions on Software Engineering, vol.16, no. 9, pp. 1058-1075, September 1990, doi:10.1109/32.58790