On the mechanical derivation of loop invariants
Journal of Symbolic Computation - Special issue on automatic programming
A historical perspective on runtime assertion checking in software development
ACM SIGSOFT Software Engineering Notes
Testing and verification aspects of Pascal-like languages
Computer Languages
Hi-index | 0.00 |
This paper is an initial progress report on the development of an interactive system for verifying that computer programs meet given formal specifications. The system is based on the conventional inductive assertion method: given a program and its specifications, the object is to generate the verification conditions, simplify them, and prove what remains. The important feature of the system is that the human user has the opportunity and obligation to help actively in the simplifying and proving. The user, for example, is the primary source of problem domain facts and properties needed in the proofs. A general description is given of the overall design philosophy, structure, and functional components of the system, and a simple sorting program is used to illustrate both the behavior of major system components and the type of user interaction the system provides.