Skip to main content

A JMM-Faithful Non-interference Calculus for Java

  • Conference paper
Book cover Scientific Engineering of Distributed Java Applications (FIDJI 2004)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3409))

Abstract

We present a calculus for establishing non-interference of several Java threads running in parallel. The proof system is built atop an implemented sequential Java Dynamic Logic calculus with 100% Java Card coverage. We present two semantic and one syntactic type of non-interference conditions to make reasoning efficient. In contrast to previous works in this direction, our method takes into full account the weak guarantees of the Java Memory Model concerning visibility and ordering of memory updates between threads.

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. Ábrahám, E., de Boer, F.S., de Roever, W.-P., Steffen, M.: Inductive proof-outlines for monitors in Java. In: International Conference on Formal Methods for Open Object-based Distributed Systems (FMOODS) (2003); A longer version appeared as Software Technologie technical report TR-ST-03-1 (April 2003)

    Google Scholar 

  2. Ahrendt, W., Baar, T., Beckert, B., Bubel, R., Giese, M., Hähnle, R., Menzel, W., Mostowski, W., Roth, A., Schlager, S., Schmitt, P.H.: The KeY tool. Software and System Modeling (SoSysM), 1–42 (2004), Available at http://www.springerlink.com

  3. Beckert, B.: A dynamic logic for the formal verification of Java Card programs. In: Attali, I., Jensen, T. (eds.) JavaCard 2000. LNCS, vol. 2041, pp. 6–24. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  4. Cenciarelli, P., Knapp, A., Reus, B., Wirsing, M.: An event-based structural operational semantics of multi-threaded Java. Formal Syntax and Semantics of Java, pp. 157–200. Springer, Heidelberg (1999)

    Google Scholar 

  5. Jones, C.B.: Development methods for computer programs including a notion of interference. PhD thesis, Oxford University (1981)

    Google Scholar 

  6. Java memory model and thread specification revision, Website at http://jcp.org/en/jsr/detail?id=133

  7. KeY Project, Website at http://www.key-project.org

  8. Lindholm, T., Yellin, F.: The Java Virtual Machine Specification. Addison-Wesley, Reading (1996)

    Google Scholar 

  9. Owicki, S., Gries, D.: Verifying properties of parallel programs: an axiomatic approach. Communications of the ACM 19(5), 279–285 (1976)

    Article  MATH  MathSciNet  Google Scholar 

  10. Platzer, A.: An object-oriented dynamic logic with updates. Master’s thesis, Universität Karlsruhe (2004)

    Google Scholar 

  11. Stirling, C.: A generalization of Owicki-Gries’s Hoare logic for a concurrent while language. Theoretical Computer Science 58, 347–359 (1988)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Klebanov, V. (2005). A JMM-Faithful Non-interference Calculus for Java. In: Guelfi, N., Reggio, G., Romanovsky, A. (eds) Scientific Engineering of Distributed Java Applications. FIDJI 2004. Lecture Notes in Computer Science, vol 3409. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31869-9_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-31869-9_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-25053-1

  • Online ISBN: 978-3-540-31869-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics