Formal Techniques for Java Programs

  • Sophia Drossopoulou
  • Susan Eisenbach
  • Bart Jacobs
  • Gary T. Leavens
  • Peter Müller
  • 1Arnd Poetzsch-Heffter
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1964)


This report gives an overview of the second ECOOP Workshop on Formal Techniques for Java Programs.I t explains the motivation for such a workshop and summarizes the presentations and discussions.


Operational Semantic Java Program Formal Technique Dynamic Logic Proof Obligation 
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. [ACNR00]
    I. Attali, D. Caromel, H. Nilsson, and M. Russo. From executable formal specification to Java property verification. Published in [DEJ+00], 2000.Google Scholar
  2. [ALZ00]
    D. Ancona, G. Lagorio, and E. Zucca. A core calculus for Java exceptions. Published in [DEJ+00], 2000.Google Scholar
  3. [Anc00]
    D. Ancona. Available papers. Available from AnconaD/Publications.html, 2000.
  4. [AZD00]
    D. Ancona, E. Zucca, and S. Drossopoulou. Overloading and inheritance in java. Published in [DEJ+00], 2000.Google Scholar
  5. [BDJ+00]
    G. Barthe, G. Dufay, L. Jakubiec, B. Serpette, S. Sousa, and S. Yu. Formalization in Coq of the Java Card Virtual Machine.Published in [DEJ+00], 2000.Google Scholar
  6. [Bec00]
    B. Beckert. A dynamic logic for Java Card. Published in [DEJ+00], 2000.Google Scholar
  7. [BPJ00]
    J. van den Berg, E. Poll, and B. Jacobs. First steps in formalising JML. Published in [DEJ+00], 2000.Google Scholar
  8. [Bri00]
    P. Brisset. A case study in java software verification. Published in [DEJ+00], 2000.Google Scholar
  9. [Cen00a]
    P. Cenciarelli. Event structures for Java. Published in [DEJ+00], 2000.Google Scholar
  10. [Cen00b]
    P. Cenciarelli. The Java memory model. Available from, 2000.
  11. [CG00]
    A. Coglio and A. Goldberg. Type safety in the jvm: Some problems in jdk 1.2.2 and proposed solutions. Published in [DEJ+00], 2000.Google Scholar
  12. [CN00]
    A. Cavalcanti and D. Naumann. Simulation and class refinement for java. Published in [DEJ+00], 2000.Google Scholar
  13. [CY00]
    E.-S. Cho and K. Yi. Escape analysis for stack allocation in java. Published in [DEJ+00], 2000.Google Scholar
  14. [DEJ+00]
    S. Drossopoulou, S. Eisenbach, B. Jacobs, G.T. Leavens, P. Müller, and A. Poetzsch-Heffter, editors. Formal Techniques for Java Programs. Technical Report 269, Fernuniversität Hagen, 2000.A vailable from
  15. [DF99]
    R. Diaconescu and K. Futatsugi. CafeOBJ report. World Scientific, 1999.Google Scholar
  16. [Eis98]
    S. Eisenbach. Formal underpinnings of Java.Workshop report, 1998. Available from
  17. [GJS96]
    J. Gosling, B. Joy, and G. Steele. The Java Language Specification. Addison-Wesley, 1996.Google Scholar
  18. [HJ00]
    M. Huisman and B. Jacobs. Java program verification via a Hoare logic with abrupt termination. In T. Maibaum, editor, Fundamental Approaches to Software Engineering, number 1783 in Lecture Notes in Computer Science, pages 284–303. Springer, Berlin, 2000.CrossRefGoogle Scholar
  19. [JBH+98]
    B. Jacobs, J. van den Berg, M. Huisman, M. van Berkum, U. Hensel, and H. Tews. Reasoning about Java classes (preliminary report). In OOPSLA’98 Conference Proceedings, volume 33(10) of ACM SIGPLAN Notices, pages 329–340.ACM, October 1998.Google Scholar
  20. [JLMPH99]
    B. Jacobs, G.T. Leavens, P. Müller, and A. Poetzsch-Heffter. Formal techniques for Java programs. In A. Moreira and D. Demeyer, editors, Object-Oriented Technology. ECOOP’99 Workshop Reader, volume 1743 of Lecture Notes in Computer Science. Springer-Verlag, 1999.Google Scholar
  21. [KE00]
    V. Kotrajaras and S. Eisenbach. A demonstration of data inconsistency in the Java memory model. Published in [DEJ+00], 2000.Google Scholar
  22. [KN00]
    G. Klein and T. Nipkow. Verified lightweight bytecode verification. Published in [DEJ+00], 2000.Google Scholar
  23. [Kot00]
    V. Kotrajaras. Vishnu’s page. Available from, 2000.
  24. [KT90]
    D. Kozen and J. Tiuryn. Logics of programs. In J. van Leewen, editor, Handbook of Theoretical Computer Science, volume B: Formal Models and Semantics, chapter 14, pages 789–840. The MIT Press, New York, NY, 1990.Google Scholar
  25. [LBR00]
    G. T. Leavens, A. L. Baker, and C. Ruby. Preliminary design of JML: A behavioral interface specification language for Java. Technical Report 98-06k, Iowa State University, Department of Computer Science, July 2000. See
  26. [LW98]
    G. T. Leavens and J. M. Wing. Protective interface specifications. Formal Aspects of Computing, 10:59–75, 1998.zbMATHCrossRefGoogle Scholar
  27. [LY99]
    T. Lindholm and F. Yellin. The Java Virtual Machine Specification. Addison-Wesley, 2nd edition, 1999.Google Scholar
  28. [Mey97]
    B. Meyer. Object-oriented Software Construction. Prentice Hall, New York, NY, second edition, 1997.zbMATHGoogle Scholar
  29. [MPH00]
    P. Müller and A. Poetzsch-Heffter. A type system for controlling representation exposure in Java. Published in [DEJ+00], 2000.Google Scholar
  30. [MZW97]
    A. Moormann Zaremski and J. M. Wing. Specification matching of software components. ACM Transactions on Software Engineering and Methodology, 6(4):333–369, October 1997.Google Scholar
  31. [Nak00]
    A. Nakagawa. Provers for behavioural logics: Combining model checking with deduction. Published in [DEJ+00], 2000.Google Scholar
  32. [Ohe00a]
    D. von Oheimb. Axiomatic semantics for Javalight. Published in [DEJ+00], 2000.Google Scholar
  33. [Ohe00b]
    D. von Oheimb. Axiomatic semantics for Javalight in Isabelle/ HOL. Technical Report CSE 00-009, Oregon Graduate Institute, 2000. TPHOLS 2000 Supplemental Proceedings; available at papers/TPHOLs00.html.
  34. [ON00]
    M. O’Cinneide and P. Nixon. Composite refactorings for Java Programs. Published in [DEJ+00], 2000.Google Scholar
  35. [PHM99]
    A. Poetzsch-Heffter and P. Müller. A programming logic for sequential Java. In S. D. Swierstra, editor, Programming Languages and Systems, Lecture Notes in Computer Science, pages 162–176. Springer, Berlin, 1999.CrossRefGoogle Scholar
  36. [RHR00]
    E. Rose and K. Høgsbro Rose. Java access protection through typing. Published in [DEJ+00], 2000.Google Scholar
  37. [RR98]
    E. Rose and K. Rose. Lightweight bytecode verification. In OOPSLA’ 98 Workshop, Formal Underpinnings fo Java, 1998.Google Scholar
  38. [Rus00]
    M. Russo. Java semantics: Formal semantics and interactive environment for parallel object-oriented programming. Available from oasis/personnel/Marjorie.Russo/java/, 2000.
  39. [Ske00]
    S. Skevoulis. A formal methods based static analysis approach for detecting runtime errors in java programs. Published in [DEJ+00], 2000.Google Scholar
  40. [Wra00]
    D. Wragg. Formal models of linking and binary compatibility. Published in [DEJ+00], 2000.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Sophia Drossopoulou
  • Susan Eisenbach
  • Bart Jacobs
  • Gary T. Leavens
  • Peter Müller
  • 1Arnd Poetzsch-Heffter

There are no affiliations available

Personalised recommendations