Proving Assertions about Parallel Programs

  title={Proving Assertions about Parallel Programs},
  author={Edward A. Ashcroft},
  journal={J. Comput. Syst. Sci.},
  • E. Ashcroft
  • Published 1 February 1975
  • Computer Science
  • J. Comput. Syst. Sci.

An axiomatic proof technique for parallel programs I

Hoare's deductive system for proving partial correctness of sequential programs is extended to include the parallelism described by the language, and the proof method lends insight into how one should understand and present parallel programs.

Reduction: a method of proving properties of parallel programs

Correctness proofs of a parallel system can often be greatly simplified because the assumption that a statement is indivisible can be relaxed and still preserve properties such as halting.

The temporal logic of programs

  • A. Pnueli
  • Computer Science
    18th Annual Symposium on Foundations of Computer Science (sfcs 1977)
  • 1977
A unified approach to program verification is suggested, which applies to both sequential and parallel programs. The main proof method suggested is that of temporal reasoning in which the time

A consistent and complete deductive system for the verification of parallel programs

It is proved that the deductive system is complete relative to a complete proof system for the natural numbers; this result is similar to Cook's relative completeness for sequential programs.

Proving the Correctness of Multiprocess Programs

  • L. Lamport
  • Computer Science
    IEEE Transactions on Software Engineering
  • 1977
The inductive assertion method is generalized to permit formal, machine-verifiable proofs of correctness for multiprocess programs, represented by ordinary flowcharts, and no special synchronization mechanisms are assumed.

Parallel programs: proofs, principles, and practice

Examples of the ways in which the concepts of program verification yield insight into the programming process, programming languages, and program properties are demonstrated.

Towards Deductive Verification of Message-Passing Parallel Programs

  • Ziqing LuoStephen F. Siegel
  • Computer Science
    2018 IEEE/ACM 2nd International Workshop on Software Correctness for HPC Applications (Correctness)
  • 2018
A method is proposed that involves transforming the program into an annotated sequential program that can be verified with off-the-shelf deductive tools, such as Frama-C, and can prove user-specified correctness properties without any bounds on the number of processes or other parameters.

The ‘Hoare logic’ of concurrent programs

Hoare's logical system for specifying and proving partial correctness properties of sequential programs is generalized to concurrent programs and it is shown that by specifying certain requirements for the unimplemented parts, correctness properties can be proved without completely implementing the program.

Formal verification of parallel programs

An induction principle is presented which treats the control and data state sets on the same ground and it is observed that certain correctness conditions can be expressed without enumeration of the set of all possible control states.

Notes on proof outline logic

Formulas of Proof Outline Logic are program texts annotated with assertions that are complete for proving safety properties of concurrent programs and a deductive system for the logic is presented.



Formalization of properties of parallel programs

A class of parallel programs is described and a formalization of certain properties of such programs in predicate calculus is given, which gives a practical method for proving properties ofsuch programs.

The application of program-proving techniques to the verification of synchronization processes

  • K. Levitt
  • Computer Science
    AFIPS '72 (Fall, part I)
  • 1972
The purpose of this paper is to establish the applicability of program-proving techniques to the verification of operating systems, control programs and synchronization programs and the techniques discussed are applicable to any set of such control primitives.

Formalization of Properties of Functional Programs

An algorithm is presented for constructing first-order formulas for functional programs, i.e. programs defined by LISP-like conditional recursive expressions.

The Correctness of Programs

  • Z. Manna
  • Computer Science
    J. Comput. Syst. Sci.
  • 1969

Parallel Program Schemata