Proving the Correctness of Multiprocess Programs

  • Authors:
  • L. Lamport

  • Affiliations:
  • Massachusetts Computer Associates, Inc.

  • Venue:
  • IEEE Transactions on Software Engineering
  • Year:
  • 1977

Quantified Score

Hi-index 0.01

Visualization

Abstract

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.