1. Formal Verification of Ada Programs.
- Author
-
Guaspari, David, Marceau, Carla, and Polak, Wolfgang
- Subjects
- *
PROGRAMMING languages , *SOFTWARE verification , *ELECTRONIC data processing , *SEQUENTIAL processing (Computer science) , *COMPUTER software , *COMPUTER science - Abstract
This paper describes the Penelope verification editor and its formal basis. Penelope is a prototype system for the interactive development and verification of programs that are written in a rich sub- set 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 we can demonstrate the soundness of decomposing an implementation hierarchically and reasoning locally about the implementation of each node in the hierarchy. [ABSTRACT FROM AUTHOR]
- Published
- 1990
- Full Text
- View/download PDF