IEEE Transactions on Software Engineering · 1977 · 1.1K citations · 12 references
ComputingComputer ScienceComputer SystemsDistributed SystemsFormal MethodsTheory Of ComputationAssertion-based VerificationConcurrent System VerificationDeductive VerificationModel CheckingTheorem ProvingVerificationConcurrent Program VerificationCorrectness ProofsFlowchartsFormalization Of Informal ProofsInductive ProofsProgram VerificationRefinementStepwise Refinement
The inductive assertion method is generalized to permit formal, machine-verifiable proofs of correctness for multiprocess programs. Individual processes are represented by ordinary flowcharts, and no special synchronization mechanisms are assumed, so the method can be applied to a large class of multiprocess programs. A correctness proof can be designed together with the program by a hierarchical process of stepwise refinement, making the method practical for larger programs. The resulting proofs tend to be natural formalizations of the informal proofs that are now used.
12
An axiomatic proof technique for parallel programs I
Susan Owicki, David Gries · Acta Informatica · 1976 · 1K citations
Formal verification of parallel programs
Robert Keller · Communications of the ACM · 1976 · 791 citations · Full text
Edsger W. Dijkstra, Leslie Lamport, Alain J. Martin et al. · Communications of the ACM · 1978 · 559 citations · Full text