Affiliation:
1. Stanford Univ., Stanford, CA
2. SRI International, Menlo Park, CA
Abstract
This paper explores a technique for proving the correctness and termination of programs simultaneously. This approach, the
intermittent-assertion method
, involves documenting the program with assertions that must be true at some time when control passes through the corresponding point, but that need not be true every time. The method, introduced by Burstall, promises to provide a valuable complement to the more conventional methods.
The intermittent-assertion method is presented with a number of examples of correctness and termination proofs. Some of these proofs are markedly simpler than their conventional counterparts. On the other hand, it is shown that a proof of correctness or termination by any of the conventional techniques can be rephrased directly as a proof using intermittent assertions. Finally, it is shown how the intermittent-assertion method can be applied to prove the validity of program transformations and the correctness of continuously operating programs.
Publisher
Association for Computing Machinery (ACM)
Reference18 articles.
1. A Transformation System for Developing Recursive Programs
2. Assigning meanings to programs
3. Francez N. and Pnueli A. A proof method for cyclic programs. To appear in Acta Informatica. Francez N. and Pnueli A. A proof method for cyclic programs. To appear in Acta Informatica.
Cited by
45 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Zohar Manna (1939–2018);Formal Aspects of Computing;2019-12
2. KIV: overview and VerifyThis competition;International Journal on Software Tools for Technology Transfer;2014-04-16
3. SAT-based termination analysis using monotonicity constraints over the integers;Theory and Practice of Logic Programming;2011-07
4. Inter-program Properties;Static Analysis;2009
5. Verification of temporal properties;Journal of Logic and Computation;1996-06-01