Skip to main content
Log in

The ‘Hoare logic’ of concurrent programs

  • Published:
Acta Informatica Aims and scope Submit manuscript

Summary

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Ashcroft, E.A.: Proving assertions about parallel programs. J. Comput. Systm. Sci. 10, 110–135 (1975)

    Google Scholar 

  2. Floyd, R.W.: Assigning meanings to programs. Proc. A.M.S. Symp. in Applied Math., Amer. Math. Soc. pp. 19–31, 1967

  3. Hoare, C.A.R.: An axiomatic basis for computer programming. Comm. ACM 12, 576–583 (1969)

    Google Scholar 

  4. Lamport, L.: Proving the correctness of multiprocess programs. IEEE Trans. Soft. Engrg. SE-3, 2, 125–143 (1977)

    Google Scholar 

  5. Lamport, L.: Sometime is sometimes not never: On the temporal logic of programs. Proceedings of the Seventh Annual Symposium on Principles of Programming Languages, ACM SIGACTSIGPLAN, January 1980

  6. Owicki, S., Gries, D.: An axiomatic proof technique for parallel programs. Acta Informat. 6, 319–340 (1976)

    Google Scholar 

  7. Pnueli, A.: The temporal logic of programs. Proc. of the 18th Symposium on the Foundations of Computer Science, ACM, November 1977

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lamport, L. The ‘Hoare logic’ of concurrent programs. Acta Informatica 14, 21–37 (1980). https://doi.org/10.1007/BF00289062

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00289062

Keywords

Navigation