Verification and specification of concurrent programs

  • Leslie Lamport
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 803)


I explore the history of, and lessons learned from, eighteen years of assertional methods for specifying and verifying concurrent programs. I then propose a Utopian future in which mathematics prevails.


Assertional methods fairness formal methods mathematics Owicki-Gries method temporal logic TLA 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Martín Abadi and Leslie Lamport. The existence of refinement mappings. Theoretical Computer Science, 82(2):253–284, May 1991.Google Scholar
  2. 2.
    Martín Abadi and Leslie Lamport. An old-fashioned recipe for real time. Research Report 91, Digital Equipment Corporation Systems Research Center, 1992. An earlier version, without proofs, appeared in [13, pages 1–27].Google Scholar
  3. 3.
    Martín Abadi and Leslie Lamport. Conjoining specifications. To appear as an SRC Research Report, 1993.Google Scholar
  4. 4.
    M. W. Alford et al. Distributed Systems: Methods and Tools for Specification, chapter 5. Lecture Notes in Computer Science, 190. Springer-Verlag, 1985.Google Scholar
  5. 5.
    Bowen Alpern and Fred B. Schneider. Defining liveness. Information Processing Letters, 21(4):181–185, October 1985.Google Scholar
  6. 6.
    Krzysztof R. Apt, Nissim Francez, and Willem P. de Roever. A proof system for communicating sequential processes. ACM Transactions on Programming Languages and Systems, 2(3):359–385, July 1980.Google Scholar
  7. 7.
    Krzysztof R. Apt, Nissim Francez, and Shmuel Katz. Appraising fairness in languages for distributed programming. Distributed Computing, 2:226–241, 1988.Google Scholar
  8. 8.
    E. A. Ashcroft. Proving assertions about parallel programs. Journal of Computer and System Sciences, 10:110–135, February 1975.Google Scholar
  9. 9.
    Manfred Broy. Algebraic and functional specification of an interactive serializable database interface. Distributed Computing, 6(1):5–18, 1992.Google Scholar
  10. 10.
    Manfred Broy. Functional specification of time-sensitive communicating systems. ACM Transactions on Software Enginnering and Methodology, 2(1):1–46, 1993.Google Scholar
  11. 11.
    K. Mani Chandy and Jayadev Misra. Parallel Program Design. Addison-Wesley, Reading, Massachusetts, 1988.Google Scholar
  12. 12.
    Edmund M. Clarke, Jr., Orna Grumberg, and D. Long. Verification tools for finite-state concurrent systems. This volume.Google Scholar
  13. 13.
    J. W. de Bakker, C. Huizing, W. P. de Roever, and G. Rozenberg, editors. Real-Time: Theory in Practice, Volume 600 of Lecture Notes in Computer Science. Springer-Verlag, Berlin, 1992. Proceedings of a REX Real-Time Workshop, held in The Netherlands in June, 1991.Google Scholar
  14. 14.
    Edsger W. Dijkstra. A personal summary of the Gries-Owicki theory. In Edsger W. Dijkstra, editor, Selected Writings on Computing: A Personal Perspective, chapter EWD554, pages 188–199. Springer-Verlag, New York, Heidelberg, Berlin, 1982.Google Scholar
  15. 15.
    E. Allen Emerson. Temporal and modal logic. In Jan van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B, chapter 16, pages 995–1072. Elsevier, Amsterdam, 1990.Google Scholar
  16. 16.
    Urban Engberg, Peter Grønning, and Leslie Lamport. Mechanical verification of concurrent systems with TLA. In Computer-Aided Verification, Lecture Notes in Computer Science, Berlin, Heidelberg, New York, June 1992. Springer-Verlag. Proceedings of the Fourth International Conference, CAV'92.Google Scholar
  17. 17.
    Lawrence Flon and Norihisa Suzuki. Consistent and complete proof rules for the total correctness of parallel programs. In Proceedings of 19th Annual Symposium on Foundations of Computer Science, pages 184–192. IEEE, October 1978.Google Scholar
  18. 18.
    R. W. Floyd. Assigning meanings to programs. In Proceedings of the Symposium on Applied Math., Vol. 19, pages 19–32. American Mathematical Society, 1967.Google Scholar
  19. 19.
    Nissim Francez. Fairness. Texts and Monographs in Computer Science. Springer-Verlag, New York, Berlin, Heidelberg, Tokyo, 1986.Google Scholar
  20. 20.
    Rob Gerth and Willem P. de Roever. A proof system for concurrent ADA programs. Science of Computer Programming, 4(2): 159–204, 1984.Google Scholar
  21. 21.
    David Harel and Amir Pnueli. On the development of reactive systems. In K. R. Apt, editor, Logics and models of concurrent systems, volume F13 of NATO ASI Series, pages 477–498. Springer-Verlag, 1985.Google Scholar
  22. 22.
    C.A.R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, 12(10):576–583, October 1969.Google Scholar
  23. 23.
    Reino Kurki-Suonio. Operational specification with joint actions: Serializable databases. Distributed Computing, 6(1):19–37, 1992.Google Scholar
  24. 24.
    Simon S. Lam and A. Udaya Shankar. Protocol verification via projections. IEEE Transactions on Software Engineering, SE-10(4):325–342, July 1984.Google Scholar
  25. 25.
    Leslie Lamport. Proving the correctness of multiprocess programs. IEEE Transactions on Software Engineering, SE-3(2):125–143, March 1977.Google Scholar
  26. 26.
    Leslie Lamport. Specifying concurrent program modules. ACM Transactions on Programming Languages and Systems, 5(2):190–222, April 1983.Google Scholar
  27. 27.
    Leslie Lamport. What good is temporal logic? In R. E. A. Mason, editor, Information Processing 83: Proceedings of the IFIP 9th World Congress, pages 657–668, Paris, September 1983. IFIP, North-Holland.Google Scholar
  28. 28.
    Leslie Lamport. The temporal logic of actions. Research Report 79, Digital Equipment Corporation, Systems Research Center, December 1991. To appear in Transactions on Programming Languages and Systems.Google Scholar
  29. 29.
    Leslie Lamport. Hybrid systems in TLA+. In Robert L. Grossman, Anil Nerode, Hans Rischel, and Anders P. Ravn, editors, Hybrid Systems, Volume 736 of Lecture Notes in Computer Science, pages 77–102, Berlin, Heidelberg, 1993. Springer-Verlag.Google Scholar
  30. 30.
    A. C. Leisenring. Mathematical Logic and Hilbert's ε-Symbol. Gordon and Breach, New York, 1969.Google Scholar
  31. 31.
    G. M. Levin and D. Gries. A proof technique for communicating sequential processes. Acta Informatica, 15(3):281–302, 1981.Google Scholar
  32. 32.
    Nancy Lynch and Mark Tuttle. Hierarchical correctness proofs for distributed algorithms. In Proceedings of the Sixth Symposium on the Principles of Distributed Computing, pages 137–151. ACM, August 1987.Google Scholar
  33. 33.
    Zohar Manna and Amir Pnueli. The Temporal Logic of Reactive and Concurrent Systems. Springer-Verlag, New York, 1991.Google Scholar
  34. 34.
    R. Milner. A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science. Springer-Verlag, Berlin, Heidelberg, New York, 1980.Google Scholar
  35. 35.
    Jayadev Misra. Specifying concurrent objects as communicating processes. Science of Computer Programming, 14(2–3):159–184, 1990.Google Scholar
  36. 36.
    S. Owicki and D. Gries. An axiomatic proof technique for parallel programs I. Acta Informatica, 6(4):319–340, 1976.Google Scholar
  37. 37.
    Susan Owicki and Leslie Lamport. Proving liveness properties of concurrent programs. ACM Transactions on Programming Languages and Systems, 4(3):455–495, July 1982.Google Scholar
  38. 38.
    Amir Pnueli. The temporal logic of programs. In Proceedings of the 18th Annual Symposium on the Foundations of Computer Science, pages 46—57. IEEE, November 1977.Google Scholar
  39. 39.
    Richard Schwartz, P. M. Melliar-Smith, and F. H. Vogt. An interval logic for higher-level reasoning. In Proceedings of the Second Annual ACM Symposium on Principles of Distributed Computing, pages 173–186. Association for Computing Machinery, August 1983.Google Scholar
  40. 40.
    J. R. Shoenfield. The axioms of set theory. In Jon Barwise, editor, Handbook of Mathematical Logic, chapter B1, pages 317–344. North-Holland, Amsterdam, 1977.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Leslie Lamport
    • 1
  1. 1.Systems Research CenterDigital Equipment CorporationUSA

Personalised recommendations