One Man's View of Computer Science
Journal of the ACM (JACM)
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
REDUCE 2: A system and language for algebraic manipulation
SYMSAC '71 Proceedings of the second ACM symposium on Symbolic and algebraic manipulation
A methodology for verifying programs
Proceedings of the international conference on Reliable software
Proceedings of the international conference on Reliable software
Verifying programs by algebraic and logical reduction
Proceedings of the international conference on Reliable software
The application of a symbolic mathematical system to program verification
ACM '74 Proceedings of the 1974 annual conference - Volume 1
Automatic program verification I: a logical basis and its implementation.
Automatic program verification I: a logical basis and its implementation.
A program verifier
A verified program-verifier.
Deciding Linear Inequalities by Computing Loop Residues
Journal of the ACM (JACM)
Technological advances in software engineering
CSC '86 Proceedings of the 1986 ACM fourteenth annual conference on Computer science
Communications of the ACM
A model for verification of data security in operating systems
Communications of the ACM
Software reliability and design: A survey
DAC '76 Proceedings of the 13th Design Automation Conference
Proceedings of the international conference on Reliable software
A view of program verification
Proceedings of the international conference on Reliable software
AFIPS '77 Proceedings of the June 13-16, 1977, national computer conference
IJCAI'77 Proceedings of the 5th international joint conference on Artificial intelligence - Volume 1
A new method for proving certain Presburger formulas
IJCAI'75 Proceedings of the 4th international joint conference on Artificial intelligence - Volume 1
The spec# programming system: an overview
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
Hi-index | 0.03 |
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.