|
ABSTRACT
The multiple assignment statement is defined in full generality—including assignment to subscripted variables and record fields—using the “axiomatic” approach of Hoare. Proof rules are developed for calls of procedures using global variables, var parameters, result parameters, and value parameters, using the idea of multiple assignment to provide understanding. An attempt is made to clarify some issues that have arisen concerning the use of rules of inference to aid in generating “verification conditions” in mechanical verifiers and the use of logical variables to denote initial values of program variables.
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
|
|
| |
2
|
BAUER, H.R., BECKER, S., ANO GRAHA~t, S.L. Algol W language description. Tech. Rep. CS89, Computer Science Dep., Stanford Univ., 1968.
|
 |
3
|
|
| |
4
|
CooK, S.A. Soundness and completeness of an axiomatic system for program verification. Siam J. Comput. 7 (Feb. 1978), 70-90.
|
| |
5
|
|
| |
6
|
|
| |
7
|
ERNST, G.W. Rules of inference for procedure calls. Acta Inf. 8 (1977), 145-152.
|
| |
8
|
GRXES, D. The multiple assignment statement. IEEE Trans. Softw. Eng. SE-4 (March 78), 89- 93.
|
| |
9
|
GUTTAG, J.V., HORNING, J.J., AND LONDON, R.L. A proof rule for Euclid procedures. IS/RR-77- 60, May 1977 (ARPA Order No. 2223).
|
| |
10
|
HOARE, C.A.R. Procedures and parameters: An axiomatic approach. In Symp. Semantics of Algorithmic Languages, E. Engeler, Ed., Notes in Mathematics 188, Springer-Verlag, New York, 1971, pp. 102-116.
|
| |
11
|
HOARE, C.A.R., AND WIRTH, N. An axiomatic definition of the programming language Pascal. Acta Inf. 2 (1973), 335-355.
|
| |
12
|
IGARASHI, S., LONDON, R.L., AND LUCKHAM, D.C. Automatic program verification I: A logical basis and its implementation. Acta inf. 4 (1975), 145-182.
|
 |
13
|
|
| |
14
|
LONDON, R.L., GUTrAG, J.V., HORNIN6, J.J., LAMPSON, B.W., MITCHELL, J.G., AND POPEK, G.J. Proof rules for the programming language Euclid. Acta Inf. 10 (1978), 1-26.
|
 |
15
|
|
| |
16
|
WULr, W.A., LONDON, R.L., AND SHAW, M. An introduction to the construction and verification of Alphard programs. IEEE Trans. Softw. Eng. SE-2 (Dec. 1976), 253-265.
|
|