Skip to main content

A Formally Verified Calculus for Full Java Card

  • Conference paper
Algebraic Methodology and Software Technology (AMAST 2004)

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

Abstract

We present a calculus for the verification of sequential Java programs. It supports all Java language constructs and has additional support for Java Card. The calculus is formally proved correct with respect to a natural semantics. It is implemented in the KIV system and used for smart card applications.

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. Alves-Foss, J. (ed.): Formal Syntax and Semantics of Java. LNCS, vol. 1523, p. 1. Springer, Heidelberg (1999)

    Book  Google Scholar 

  2. Attali, I., Jensen, T. (eds.): JavaCard 2000. LNCS, vol. 2041. Springer, Heidelberg (2001)

    Google Scholar 

  3. Balser, M., Reif, W., Schellhorn, G., Stenzel, K., Thums, A.: Formal system development with KIV. In: Maibaum, T. (ed.) FASE 2000. LNCS, vol. 1783, p. 363. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  4. Beckert, B.: A dynamic logic for the formal verification of java card programs. In: Attali, I., Jensen, T. (eds.) JavaCard 2000. LNCS, vol. 2041, p. 6. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  5. Börger, E., Schulte, W.: A Programmer Friendly Modular Definition of the Semantics of Java. In: [1]

    Google Scholar 

  6. Burdy, L., Cheon, Y., Cok, D., Ernst, M., Kiniry, J., Leavens, G., Leino, K., Poll, E.: An overview of JML tools and applications. In: Arts, T., Fokkink, W. (eds.) Proceedings FMICS 2003. Electronic Notes in Theoretical Computer Science, vol. 80, Elsevier, Amsterdam (2003)

    Google Scholar 

  7. Burdy, N., Requet, A., Lanet, J.-L.: Java applet correctness: A developeroriented approach. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  8. Drossopoulou, S., Eisenbach, S.: Describing the Semantics of Java and Proving Type Soundness. In: [1]

    Google Scholar 

  9. In: Drossopoulou, S., Eisenbach, S., Jacobs, B., Leavens, G.T.,Müller, P., Poetzsch-Heffter, A. (eds.): Formal Techniques for Java Programs, Proceedings ECOOP 2000 Workshop. Technical Report 269, 5/2000, Fernuniversität Hagen (2000)

    Google Scholar 

  10. Harel, D.: First-Order Dynamic Logic. LNCS, vol. 68. Springer, Heidelberg (1979)

    MATH  Google Scholar 

  11. Hartel, P., Moreau, L.: Formalizing the safety of Java, the Java virtual machine, and Java card. ACM Computing Surveys (CSUR) 33(4) (December 2001)

    Google Scholar 

  12. KIV home page, http://www.informatik.uni-augsburg.de/swt/fmg/

  13. Huisman, M.: Reasoning about JAVA programs in higher order logic with PVS and Isabelle. PhD thesis, University of Nijmegen, IPA dissertation series, 2001-03 (2001)

    Google Scholar 

  14. Huisman, M., Jacobs, B.: Java Program Verification via a Hoare Logic with Abrupt Termination. In: Maibaum, T. (ed.) FASE 2000. LNCS, vol. 1783, p. 284. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  15. Jacobs, B., Leavens, G.T., Müller, P., Poetzsch-Heffter, A. (eds.): Formal Techniques for Java Programs. Technical Report 251, Fernuniversität Hagen (1999)

    Google Scholar 

  16. Jacobs, B., Poll, E.: A logic for the java modeling language JML. In: Hussmann, H. (ed.) FASE 2001. LNCS, vol. 2029, p. 284. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  17. Jacobs, B., Poll, E.: Java program verification at nijmegen: Developments and perspective. Technical Report NIII-R0318, University of Nijmegen (2003)

    Google Scholar 

  18. Java Card 2.2 Specification (2002), http://java.sun.com/products/javacard/

  19. Joy, B., Steele, G., Gosling, J., Bracha, G.: The Java (tm) Language Specification, 2nd edn. Addison-Wesley, Reading (2000)

    Google Scholar 

  20. KeY project homepage, http://i12www.ira.uka.de/~key

  21. Krakatoa home page, http://krakatoa.lri.fr/

  22. Nipkow, T., von Oheimb, D.: Java light is Type-Safe – Definitely. In: 25th ACM Symposium on Principles of Programming Languages, ACM, New York (1998)

    Google Scholar 

  23. Reif, W., Schellhorn, G., Stenzel, K., Balser, M.: Structured specifications and interactive proofs with KIV. In: Bibel, W., Schmitt, P. (eds.) Automated Deduction—A Basis for Applications, Kluwer Academic Publishers, Dordrecht (1998)

    Google Scholar 

  24. Stärk, R.F., Schmid, J., Börger, E.: Java and the Java Virtual Machine: Definition, Verification, Validation. Springer, Heidelberg (2001)

    MATH  Google Scholar 

  25. von Oheimb, D.: Analyzing Java in Isabelle/HOL: Formalization, Type Safety and Hoare Logic. PhD thesis, Technische Universität München (2001)

    Google Scholar 

  26. von Oheimb, D., Nipkow, T.: Machine-checking the Java Specification: Proving Type-Safety. In: [1]

    Google Scholar 

  27. von Oheimb, D.: Axiomatic semantics for Java _ight in Isabelle/HOL. In: [9]

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Stenzel, K. (2004). A Formally Verified Calculus for Full Java Card. In: Rattray, C., Maharaj, S., Shankland, C. (eds) Algebraic Methodology and Software Technology. AMAST 2004. Lecture Notes in Computer Science, vol 3116. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27815-3_37

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-27815-3_37

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22381-8

  • Online ISBN: 978-3-540-27815-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics