Proof-Outlines for Threads in Java

  • Erika Ábrahám-Mumm
  • Frank S. de Boer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1877)


We introduce an assertional method for specifying and proving properties of the multi-threaded flow of control in Java. The method integrates in a modular manner reasoning about the shared-variable concurrency within one object and the communication of values between threads.


Typical Element Proof System Critical Section Logical Variable Global Expression 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    K. R. Apt: Ten years of Hoare logic: a survey — part I. ACM Transactions on Programming Languages and Systems, Vol. 3, No. 4, October 1981, pp. 431–483.zbMATHCrossRefGoogle Scholar
  2. 2.
    K. R. Apt. Formal justification of a proof system for Communicating Sequential Processes. Journal of the ACM, Vol. 30, No. 1, January 1983, pp. 197–216.zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    K. R. Apt, N. Francez, and W. P. de Roever. A proof system for Communicating Sequential Processes. ACM Transactions on Programming Languages and Systems, 2:359–385, 1980.zbMATHCrossRefGoogle Scholar
  4. 4.
    E. Boerger and W. Schulte. Modular Design for the Java Virtual Machine Architecture. In Architecture Design and Validation Methods. Lecture Notes in Computer Science, 1999.Google Scholar
  5. 5.
    F. S. de Boer. A proof system for the parallel object-oriented language POOL. Proceedings of the seventeenth International Colloquium on Automata, Languages and Programming (ICALP), Lecture Notes in Computer Science, Vol. 443, 1990.CrossRefGoogle Scholar
  6. 6.
    P. Cenciarelli, A. Knapp, B. Reus, and M. Wirsing. An Event-Based Structural Operational Semantics of Multi-Threaded Java. In Formal Syntax and Semantics of Java, Lecture Notes in Computer Science, Vol. 1523, 1999.CrossRefGoogle Scholar
  7. 7.
    R. T. Gerth and W.-P. de Roever. Proving monitors revisited: A first step towards verifying object oriented systems. Fundamenta informaticae IX, North-Holland, p. 371–400, 1986.Google Scholar
  8. 8.
    U. Hensel, M. Huisman, B. Jacobs, and H. Tews. Reasoning about Classes in Object-Oriented Languages: Logical Models and Tools. Proceedings of the European Symposium on Programming, Lecture Notes in Computer Science, Vol. 1381, 1998.Google Scholar
  9. 9.
    S. Owicki and D. Gries. An axiomatic proof technique for parallel programs. Acta Informatika, 6:319–340, 1976.zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    J. V. Tucker and J. I. Zucker. Program Correctness over Abstract Data Types, with Error-State Semantics. CWI Monograph Series, Vol. 6, Centre for Mathematics and Computer Science/North-Holland, 1988.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Erika Ábrahám-Mumm
    • 1
  • Frank S. de Boer
    • 2
  1. 1.Christian-Albrechts-University KielGermany
  2. 2.Utrecht UniversityThe Netherlands

Personalised recommendations