login

The ?Hoare logic? of concurrent programs

Acta InformaticaPublished 1 June 1980
Leslie Lamport
Citations181
SJR quartileQ3
SJR score0.28
SNIP0.95

TL;DR

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.

Abstract

Hoare's logical system for specifying and proving partial correctness properties of sequential programs is generalized to concurrent programs. The basic idea is to define the assertion {P} S {Q} to mean that if execution is begun anywhere in S with P true, then P will remain true until S terminates, and Q will be true if and when S terminates. The predicates P and Q may depend upon program control locations as well as upon the values of variables. A system of inference rules and axiom schemas is given, and a formal correctness proof for a simple program is outlined. We show that by specifying certain requirements for the unimplemented parts, correctness properties can be proved without completely implementing the program. The relation to Pnueli's temporal logic formalism is also discussed.

Keywords

Computer Science