Abstract
A proof is given of the correctness of the algorithm “Find.” First, an informal description is given of the purpose of the program and the method used. A systematic technique is described for constructing the program proof during the process of coding it, in such a way as to prevent the intrusion of logical errors. The proof of termination is treated as a separate exercise. Finally, some conclusions relating to general programming methodology are drawn.
- 1 NAUR, P. Proof of algorithms by general snapshots. BIT 6 (1966) 310-316.Google ScholarDigital Library
- 2 DIJKSTRA, E. W. A constructive approach to the problem of program correctness. BIT 8 (1968), 174-186.Google ScholarDigital Library
- 3 HOARE, C. A. R. An axiomatic approach to computer programming. Comm. ACM 12, 10 (Oct. 1969), 576-580, 583. Google ScholarDigital Library
- 4 HOARE, C. A. R. Algorithm 65, Find. Comm. ACM s, 7 (July 1961), 321. Google ScholarDigital Library
- 5 NAUR, P. Programming by action clusters. BIT 9 (1969), 25O-258.Google ScholarDigital Library
- 6 DIJKSTRA, E. W. Structured Programming {EWD249} T.H.E. (privately circulated).Google Scholar
- 7 FLOYD, R. W. Assigning meanings to programs. Proc. Amer. Math. Soc. Symposium in Applied Mathematics, Vol. 19, pp. 19-31.Google Scholar
- 8 KING, J. C. A program verifier. Ph.D. Th., Carnegie-Mellon U., Pittsburg, Pa., Sept. 1969. Google ScholarDigital Library
Recommendations
An elementary and unified approach to program correctness
AbstractWe present through the algorithmic language DHL (Dijkstra-Hehner language), a practical approach to a simple first order theory based on calculational logic, unifying Hoare and Dijkstra’s iterative style of programming with Hehner’s recursive ...
An axiomatic basis for computer programming
Software pioneersIn this paper an attempt is made to explore the logical foundations of computer programming by use of techniques which were first applied in the study of geometry and have later been extended to other branches of mathematics. This involves the ...
An axiomatic basis for computer programming
Special 25th Anniversary IssueIn this paper an attempt is made to explore the logical foundations of computer programming by use of techniques which were first applied in the study of geometry and have later been extended to other branches of mathematics. This involves the ...
Comments