The quest goes on: A survey of proofsystems for partial correctness of CSP

  • Jozef Hooman
  • Willem-P. de Roever
Part of the Lecture Notes in Computer Science book series (LNCS, volume 224)


Proofsystems for proving partial correctness of distributed processes which communicate through message-passing are discussed, using CSP as programming language. Of these the methods due to Levin & Gries [LG]; Apt, Francez & de Roever [AFR]; Lamport & Schneider [LS]; Soundararajan & Dahl [SD]; Zwiers, de Roever & van Emde Boas [ZRE] and Misra & Chandy [MC] are treated in detail (in that order). The main emphasis is the development from a-posteriori verification ([LG],[AFR]) to verification as part of the program design process ([SD],[ZRE],[MC]). New is that, in order to illustrate this development, attempts are made to extend the systems due to [AFR] and [SD] with nested parallelism and hiding.


concurrency program correctness partial correctness compositionality modularity syntax-directedness Floyd's verification method Hoare logic shared variables Communicating Sequential Processes nested parallelism hiding global invariant cooperation test completeness soundness history projection merge trace nontermination assumption commitment 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

A. References

  1. [Apt81]
    Apt, K.R., Ten Years of Hoare's Logic — Part I, Toplas 3 (1981), 431–484.Google Scholar
  2. [Apt83]
    Apt, K.R., Formal Justification of a proof system for Communicating Sequential Processes, JACM 30 (1983), 197–216.Google Scholar
  3. [Apt84]
    Apt, K.R., Proving correctness of CSP Programs-a tutorial, Technical report 84-24, LITP, Université Paris 7 (1984).Google Scholar
  4. [AF]
    Apt, K.R. and Francez, N., Modeling the Distributed Termination Convention of CSP, Toplas 6 (1984), 370–379.Google Scholar
  5. [AFR]
    Apt, K.R., Francez, N. and de Roever, W.P., A proof system for Communicating Sequential Processes, Toplas 2 (1980), 359–385.Google Scholar
  6. [CH]
    Zhou Chao Chen and Hoare, C.A.R., Partial correctness of CSP, IEEE Int. Conf. on Dist. Comp. Systems (1981).Google Scholar
  7. [F]
    Floyd, R.W., Assigning meanings to programs, Proc AMS (1967).Google Scholar
  8. [Ge]
    Gerth, R.T., Transition logic: how to reason about temporal properties in a compositional way, Proc. STOC (1984).Google Scholar
  9. [H78]
    Hoare, C.A.R., Communicating Sequential Processes, CACM 21 (1978), 666–677.Google Scholar
  10. [HZ]
    Hooman, J. and Zwiers, J., Combining sequential and parallel composition: unexpected implications for compositional proofsystems, to appear.Google Scholar
  11. [La80]
    Lamport, L., The "Hoare Logic" of Concurrent Programs, Acta Informatica 14 (1980), 21–37.Google Scholar
  12. [La83]
    Lamport, L., Specifying concurrent program modules, Toplas 5 (1983), 190–223.Google Scholar
  13. [LS]
    Lamport, L. and Schneider, F.B., The "Hoare Logic" of CSP, and all that, Toplas 6 (1984), 281–296.Google Scholar
  14. [Le]
    Levin, G.M., Proofrules for Communicating Sequential Processes, Ph.D.Thesis (1980), TR 80-435, Dept. Comp. Science, Cornell University.Google Scholar
  15. [LG]
    Levin, G.M. and Gries, D., A proof technique for Communicating Sequential Processes, Acta Informatica 15 (1981), 281–302.Google Scholar
  16. [MC]
    Misra, J. and Chandy, K.M., Proofs of Networks of Processes, IEEE Transactions on Software Engineering, SE-7 (1981), 417–426.Google Scholar
  17. [OG]
    Owicki, S.S. and Gries, D., An axiomatic proof technique for parallel programs, Acta informatica 6 (1976), 319–340.Google Scholar
  18. [deR]
    de Roever, W.P., The quest for compositionality — a survey of assertion-based proof systems for concurrent programs, Part I: Concurrency based on shared variables, to appear in: Proc. of the IFIP Working Conference 1985: "The role of abstract models in computer science", E.J. Neuhold (Ed.), North-Holland; also as Technical Report, Univ. of Utrecht (1985).Google Scholar
  19. [S]
    Soundararajan, N., Axiomatic semantics of Communicating Sequential Processes, Toplas 6 (1984), 647–662.Google Scholar
  20. [SD]
    Soundararajan, N. and Dahl, O.J., Partial correctness semantics for Communicating Sequential Processes, Res. Rep. 66 (1982), Institute for Informatics, Univ. of Oslo, Norway.Google Scholar
  21. [ZBR]
    Zwiers, J., de Bruin, A. and de Roever, W.P., A proof system for partial correctness of dynamic networks, LNCS 164 (1983).Google Scholar
  22. [ZRE84]
    Zwiers, J., de Roever, W.P. and van Emde Boas, P., Compositionality and concurrent networks: soundness and completeness of a proofsystem, Report no. 57, University of Nijmegen, (1984).Google Scholar
  23. [ZRE]
    Zwiers, J., de Roever, W.P. and van Emde Boas, P., Compositionality and concurrent networks: soundness and completeness of a proofsystem, to appear in ICALP (1985).Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1986

Authors and Affiliations

  • Jozef Hooman
    • 1
  • Willem-P. de Roever
    • 1
  1. 1.Department of Mathematics & Computing ScienceEindhoven University of TechnologyEindhovenThe Netherlands

Personalised recommendations