Communications of the ACM · 1971 · 178 citations · 6 references
ComputingComputer ScienceAlgorithmsFormal MethodsSoftware EngineeringAutomated ReasoningDeductive VerificationProof TheorySoftware ConstructionTermination AnalysisTheorem ProvingAutomated Termination ProvingComputational ProofProgram DerivationProgram TerminationProgram VerificationProof SearchSoftware VerificationTermination Proofs
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.
6
An axiomatic basis for computer programming
C. A. R. Hoare · Communications of the ACM · 1969 · 3.9K citations · Full text
C. A. R. Hoare · Communications of the ACM · 1961 · 423 citations
A constructive approach to the problem of program correctness
E. Dijkstra · BIT Numerical Mathematics · 1968 · 238 citations
James C. King · IFIP Congress · 1970 · 209 citations
Proof of algorithms by general snapshots
Peter Naur · BIT Numerical Mathematics · 1966 · 150 citations