|
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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Ashcroft, E.A., and Wadge, W.W. Intermittent-assertion proofs in Lucid. Information Processing 77, North-Holland Pub. Co., Amsterdam, 1977, pp. 723-726.
|
| |
2
|
Burstall, R.M. Program proving as hand simulation with a little induction. Information Processing 74, North-Holland Pub. Co., Amsterdam, 1974, pp. 308-312.
|
 |
3
|
|
| |
4
|
Floyd, R.W. Assigning meaning to programs. Proc. Symp. in Applied Math. Vol. 19, J.T. Schwartz, Ed., Amer. Math. Soc., Providence, R.I., 1967, pp. 19-32.
|
| |
5
|
Francez, N., and Pnueli, A. A proof method for cyclic programs. To appear in Acta Informatica.
|
 |
6
|
|
 |
7
|
|
| |
8
|
Katz, S.M., and Manna, Z. A closer look at termination. Acta Informatica 5 (Dec. 1975), 333-352.
|
| |
9
|
|
 |
10
|
|
 |
11
|
|
| |
12
|
Manna, Z. Mathematical theory of partial correctness. J. Comptr. Syst. Sci. 5, 3 (June 1971), 239-253.
|
| |
13
|
|
 |
14
|
|
| |
15
|
Pratt, V.R. Semantical considerations on Floyd-Hoare logic. Proc. 17th Symp. on Foundations of Comptr. Sci., Houston, Tex., Oct. 1976, pp. 109-121.
|
| |
16
|
Schwarz, J. Event-based reasoning-a system for proving correct termination of programs. Proc. Third Int. Colloquium on Automata, Languages and Programming, Edinburgh, Scotland, July 1976, pp. 131-146.
|
| |
17
|
Topor, R.W. A simple proof of the Schorr-Waite garbage collection algorithm. To appear in Acta Informatica.
|
| |
18
|
Wang, A. An axiomatic basis for proving total correctness of goto-programs. BIT 16 (1976), 88-102.
|
|