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
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
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
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
Filliâtre, J.-C.: The Why certification tool, http://why.lri.fr/
Filliâtre, J.-C.: Verification of non-functional programs using interpretations in type theory. Journal of Functional Programming 13(4) (2003)
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)
Jacobs, B.: Weakest precondition reasoning for Java programs with JML annotations. Journal of Logic and Algebraic Programming (2004)
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)
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)
Leavens, G., Baker, A., Ruby, C.: JML: A notation for detailed design. In: Behavioral Specifications of Business and Systems, Kluwer, Dordrecht (1999)
Leavens, G., Poll, E., Clifton, C., Cheon, Y., Ruby, C.: JML reference manual (draft) (2003)
Leino, K., Nelson, G., Saxe, J.: ESC/Java’s User’s Manual. Technical Report 2000-002, Compaq Systems Research Center (2000)
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)
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)
Oostdijk, M., Warnier, M.: On the combination of Java Card Remote Method Invocation and JML. Technical Report NIII-R0321, University of Nijmegen (2003)
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)
Paulson, L.C.: Isabelle: A Generic Theorem Prover. In: Paulson, L.C. (ed.) Isabelle. LNCS, vol. 828, Springer, Heidelberg (1994)
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)
Schultz, A.: Verification of Java Card-applets. Master’s thesis, Universität Kaiserslautern (2003)
The Coq Development Team. The Coq Proof Assistant Reference Manual – Version V8.0 (January 2004), http://coq.inria.fr
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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