Formal Aspects of Computing

, Volume 6, Issue 6, pp 607–619 | Cite as

Properties of Concurrent Programs

  • K. Mani Chandy
Formal Aspects of Computing


A program property is a predicate on programs. In this paper we explore program properties for safety, progress and parallel composition, of the form UV where U and V are either predicates on states of a program or program properties, and ⇀ satisfies three rules that are also enjoyed by implication. We show how such properties can be used to reason about concurrent programs. Our motivation is to explore methods of reasoning based on a very small number of widely-known rules.


Concurrency Safety Progress Temporal logic Unity theory Fairness Hoare triples 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Cha88]
    Chandy, K. M. and Misra, J.: Parallel Program Design: A Foundation, Addison-Wesley, Reading, Massachusetts, 1988.MATHGoogle Scholar
  2. [Dij90]
    Dijkstra, E.W., and Scholten, C.S.: Predicate Calculus and Program Semantics, Springer-Verlag, New York, 1990.CrossRefMATHGoogle Scholar
  3. [Hoa69]
    Hoare, C. A. R.: An Axiomatic Basis for Computer Programming, CACM, 12(1969) 576–580.CrossRefMATHGoogle Scholar
  4. [Jon83]
    Jones, C.B.: Specification and Design of (Parallel) Programs. Proc.IFIP’83, North-Holland, 321–332, 1983Google Scholar
  5. [Lam91]
    Lamport, L.: The Temporal Logic of Actions, Research Report 79, Digital Equipment Corp., Systems Research Center, December 1991, to appear in ACM Transactions on Programming Languages and Systems Google Scholar
  6. [Mis92]
    Misra, J.: Safety Properties, Computer Sciences Dept., Univ. of Texas, Austin, TX78712, July 24, 1992.Google Scholar

Copyright information

© BCS 1994

Authors and Affiliations

  1. 1.California Institute of Technology 256-80PasadenaUSA

Personalised recommendations