A JMM-Faithful Non-interference Calculus for Java

  • Vladimir Klebanov
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, 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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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. 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)CrossRefGoogle Scholar
  4. 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. 5.
    Jones, C.B.: Development methods for computer programs including a notion of interference. PhD thesis, Oxford University (1981)Google Scholar
  6. 6.
    Java memory model and thread specification revision, Website at http://jcp.org/en/jsr/detail?id=133
  7. 7.
    KeY Project, Website at http://www.key-project.org
  8. 8.
    Lindholm, T., Yellin, F.: The Java Virtual Machine Specification. Addison-Wesley, Reading (1996)Google Scholar
  9. 9.
    Owicki, S., Gries, D.: Verifying properties of parallel programs: an axiomatic approach. Communications of the ACM 19(5), 279–285 (1976)MATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Platzer, A.: An object-oriented dynamic logic with updates. Master’s thesis, Universität Karlsruhe (2004)Google Scholar
  11. 11.
    Stirling, C.: A generalization of Owicki-Gries’s Hoare logic for a concurrent while language. Theoretical Computer Science 58, 347–359 (1988)MATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Vladimir Klebanov
    • 1
  1. 1.Institute of Computer ScienceUniversity of Koblenz-Landau 

Personalised recommendations