Skip to main content

Formal Verification of a Commercial Smart Card Applet with Multiple Tools

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

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

  • 280 Accesses

Abstract

This paper presents a major Java source code verification case study that was carried out within the European VerifiCard project. It involves a realistic smart card applet from the company SchlumbergerSema that has been verified with several tools in parallel, in order to assess the state of the art in formal verification. The paper describes part of the verification – using the static checker ESC/Java2 and the verifiers Jive, Loop and Krakatoa – and reports on the experiences and outlook.

Funded by EU IST project IST-2000-26328-VERIFICARD, www.verificard.org

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

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.

Similar content being viewed by others

References

  1. Breunesse, C.-B., Cataño, N., Huisman, M., Jacobs, B.: Formal methods for smart cards: an experience report. Technical Report NIII-R0316, University of Nijmegen (2003)

    Google Scholar 

  2. 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.) Formal Methods for Industrial Critical Systems (FMICS 2003). in Electr. Notes in Theoretical Computer Science, vol. 80, Elsevier, Amsterdam (2003), www.elsevier.nl/locate/entcs/volume80.html

    Google Scholar 

  3. ESC/Java2. Open source extended static checking for java version 2 (esc/java 2) project. Security of Systems Group, Univ. of Nijmegen, http://www.cs.kun.nl/ita/research/projects/sos/projects/escjava.html

  4. Filliâtre, J.-C.: The Why certification tool, http://why.lri.fr/

  5. Filliâtre, J.-C.: Verification of non-functional programs using interpretations in type theory. Journal of Functional Programming 13(4) (2003)

    Google Scholar 

  6. Jacobs, B.: Java’s integral types in PVS. In: Najm, E., Nestmann, U., Stevens, P. (eds.) FMOODS 2003. LNCS, vol. 2884, pp. 1–15. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  7. Jacobs, B.: Weakest precondition reasoning for Java programs with JML annotations. Journal of Logic and Algebraic Programming (2004)

    Google Scholar 

  8. 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 

  9. Jacobs, B., Poll, E.: Java program verification at Nijmegen: Developments and perspective. In: Futatsugi, K., Mizoguchi, F., Yonezaki, N. (eds.) ISSS 2003. LNCS, vol. 3233, pp. 134–153. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  10. Leavens, G., Baker, A., Ruby, C.: JML: A notation for detailed design. In: Behavioral Specifications of Business and Systems, Kluwer, Dordrecht (1999)

    Google Scholar 

  11. Leavens, G., Poll, E., Clifton, C., Cheon, Y., Ruby, C.: JML reference manual (draft) (2003)

    Google Scholar 

  12. Leino, K., Nelson, G., Saxe, J.: ESC/Java’s User’s Manual. Technical Report 2000-002, Compaq Systems Research Center (2000)

    Google Scholar 

  13. Marché, C., Paulin-Mohring, C., Urbain, X.: The Krakatoa tool for certification of Java/JavaCard programs annotated in JML. Journal of Logic and Algebraic Programming, 58(1–2) (2004)

    Google Scholar 

  14. Meyer, J., Poetzsch-Heffter, A.: An architecture for interactive program provers. In: Schwartzbach, M.I., Graf, S. (eds.) TACAS 2000. LNCS, vol. 1785, p. 63. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  15. Oostdijk, M., Warnier, M.: On the combination of Java Card Remote Method Invocation and JML. Technical Report NIII-R0321, University of Nijmegen (2003)

    Google Scholar 

  16. Owre, S., Rushby, J., Shankar, N., von Henke, F.: Formal verification for faulttolerant architectures: Prolegomena to the design of PVS. IEEE Trans. on Softw. Eng. 21(2), 107–125 (1995)

    Article  Google Scholar 

  17. Paulson, L.C.: Isabelle: A Generic Theorem Prover. In: Paulson, L.C. (ed.) Isabelle. LNCS, vol. 828, Springer, Heidelberg (1994)

    Chapter  Google Scholar 

  18. Rauch, N., Poetzsch-Heffter, A.: Predicate transformation as a proof strategy. In: Proc. 4th ECOOP Workshop: FTfJP, Tech. Rep. NIII-R0204. Computing Science Department, University of Nijmegen (2002)

    Google Scholar 

  19. Schultz, A.: Verification of Java Card-applets. Master’s thesis, Universität Kaiserslautern (2003)

    Google Scholar 

  20. The Coq Development Team. The Coq Proof Assistant Reference Manual – Version V8.0 (January 2004), http://coq.inria.fr

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

Jacobs, B., Marché, C., Rauch, N. (2004). Formal Verification of a Commercial Smart Card Applet with Multiple Tools. 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_21

Download citation

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

  • 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