Skip to main content

Towards a Machine-Checked Java Specification Book

  • Conference paper
Theorem Proving in Higher Order Logics (TPHOLs 2000)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1869))

Included in the following conference series:

Abstract

The semantics of the object-oriented, multi-threaded language Java is informally described in the Java Specification Book [5] where the memory model for concurrent threads is explained abstractly by means of asynchronous events and informal rules relating their occurrences. A formalization has been presented in [3] using certain posets of events (called event spaces) and a structural operational (small-step) semantics. Such an exact formal counterpart of the informal axiomatization of the Specification Book may not only serve as a reference semantics for different, possibly simplified, semantics, but also as a basis for language analysis. In this paper we present a machine-checked version of the formalization using Isabelle/HOL. Some proofs showing the redundancy of axioms in the Java Specification Book are discussed. As usual, by Isabelle’s austerity some tacit assumptions and few minor mistakes were revealed.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J. Alves-Foss, editor. Formal Syntax and Semantics of Java, volume 1523 of Lect. Notes Comp. Sci. Springer, Berlin, 1999.

    Google Scholar 

  2. Ken Arnold and James Gosling. The Java Programming Language. Addison-Wesley, Reading, Mass., 1996.

    MATH  Google Scholar 

  3. P. Cenciarelli, A. Knapp, B. Reus, and M. Wirsing. An Event-Based Structural Operational Semantics of Multi-Threaded Java. In Alves-Foss [1], pages 157–200.

    Chapter  Google Scholar 

  4. Sophia Drossopoulou and Susan Eisenbach. Java is Type Safe — Probably. In Mehmet Aksit, editor, Proc. 11 th Europ. Conf. Object-Oriented Programming, volume 1241 of Lect. Notes Comp. Sci., pages 389–418, Berlin, 1997. Springer.

    Google Scholar 

  5. James Gosling, Bill Joy, and Guy Steele. The Java Language Specification. Addison-Wesley, Reading, Mass., 1996.

    MATH  Google Scholar 

  6. Tatjana Hein. Formalisierung einer strukturierten operationellen Semantik für multi-threaded Java in Isabelle. Fakultät für Mathematik und Informatik, Universität Passau, 1999. Diploma-Thesis.

    Google Scholar 

  7. Doug Lea. Concurrent Programming in Java. Addison-Wesley, Reading, Mass., 1997.

    MATH  Google Scholar 

  8. Wei Li. An Operational Semantics of Multitasking and Exception Handling in Ada. In Proc. AdaTEC Conf. Ada, pages 138–151, New York, 1982. ACM SIG Ada.

    Google Scholar 

  9. Robin Milner, Mads Tofte, Robert Harper, and David MacQueen. The Definition of Standard ML (Revised). MIT Press, Cambridge, Mass., 1997.

    Google Scholar 

  10. Tobias Nipkow and David von Oheimb. Machine-checking the Java Specification: Proving Type-Saftey. Alves-Foss [1].

    Google Scholar 

  11. L.C. Paulson. Isabelle: A Generic Theorem Prover, volume 828 of Lect. Notes in Comp. Sci. Springer Verlag, 1994.

    Google Scholar 

  12. Gordon D. Plotkin. A Structural Approach to Operational Semantics (Lecture notes). Technical Report DAIMI FN-19, Aarhus University, 1981 (repr. 1991).

    Google Scholar 

  13. Glynn Winskel. An Introduction to Event Structures. In Jacobus W. de Bakker, Willem P. de Roever, and Grzegorg Rozenberg, editors, Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, volume 354 of Lect. Notes Comp. Sci., pages 364–397. Springer, Berlin, 1988.

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Reus, B., Hein, T. (2000). Towards a Machine-Checked Java Specification Book. In: Aagaard, M., Harrison, J. (eds) Theorem Proving in Higher Order Logics. TPHOLs 2000. Lecture Notes in Computer Science, vol 1869. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44659-1_30

Download citation

  • DOI: https://doi.org/10.1007/3-540-44659-1_30

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67863-2

  • Online ISBN: 978-3-540-44659-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics