E-smart 2001: Smart Card Programming and Security pp 2-18 | Cite as
Jakarta: A Toolset for Reasoning about JavaCard
Conference paper
First Online:
Abstract
JavaCard [22] is a dialect of Java that enables Java technology to run on new generation smart cards and other devices with limited memory. As JavaCard is becomingincr easingly popular, there has been a strong interest, both from academics and industrials, to reason formally about the JavaCard platform.
Keywords
Virtual Machine Abstract Syntax Abstract Interpretation Correctness Proof Proof Assistant
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Preview
Unable to display preview. Download preview PDF.
References
- 1.S. Agerholm and J. Frost. Towards an integrated CASE and theorem proving tool for VDM-SL. In J. Fitzgerald, C. B. Jones, and P. Lucas, editors, Proceedings of FME’97, volume 1313 of Lecture Notes in Computer Science, pages 278–297. Springer-Verlag, 1997.Google Scholar
- 2.B. Barras, S. Boutin, C. Comes, J. Courant, Y. Coscoy, D. Delahaye, D. de Rauglaudre, J.-C. Filliâtre, E. Giménez, H. Herbelin, G. Huet, H. Laulhére, P. Loiseleur, C. Muñoz, C. Murthy, C. Parent-Vigouroux, C. Paulin-Mohring, A. Saïbi, and B. Werner. The Coq Proof Assistant User’s Guide. Version 6.3.1, December 1999.Google Scholar
- 3.G. Barthe, G. Dufay, L. Jakubiec, B. Serpette, and S. Melo de Sousa. A Formal Executable Semantics of the JavaCard Platform. In D. Sands, editor, Proceedings of ESOP’01, volume 2028 of Lecture Notes in Computer Science, pages 302–319. Springer-Verlag, 2001.Google Scholar
- 4.S. Bensalem, V. Ganesh, Y. Lakhnech, C. Muñoz, S. Owre, H. Rueß, J. Rushby, V. Rusu, H. Saïdi, N. Shankar, E. Singerman, and A. Tiwari. An overview of SAL. In Proceedings of NASA’s Workshop on Formal Methods, 2000.Google Scholar
- 5.J. Bergstra and J. W. Klop. Conditional rewrite rules: confluence and termination. Journal of Computer and System Sciences, 32:323–362, 1986.MATHCrossRefMathSciNetGoogle Scholar
- 6.P. Bertelsen. Semantics of Java Byte Code. Master’s thesis, Department of Computer Science, Royal Veterinary and Agricultural University of Copenhagen, 1997.Google Scholar
- 7.Y. Bertot. Formalizing in Coq a type system for object initialization in the Java bytecode language. In G. Berry, H. Comon, and A. Finkel, editors, Proceedings of CAV’01, volume 2xxx of Lecture Notes in Computer Science. Springer-Verlag, 2001.Google Scholar
- 8.P. Bieber, J. Cazin, V. Wiels, G. Zanon, P. Girard, and J.-L. Lanet. Electronic purse applet certification: extended abstract. In S. Schneider and P. Ryan, editors, Proceedings of the workshop on secure architectures and information flow, volume 32 of Electronic Notes in Theoretical Computer Science. Elsevier Publishing, 2000.Google Scholar
- 9.E. Börger and W. Schulte. A Programmer Friendly Modular Definition of the Semantics of Java. In J. Alves-Foss, editor, Formal Syntax and Semantics of Java, volume 1523 of Lecture Notes in Computer Science, pages 353–404. Springer-Verlag, 1999.CrossRefGoogle Scholar
- 10.P. Borras, D. Clément, Th. Despeyroux, J. Incerpi, G. Kahn, B. Lang, and V. Pascual. Centaur: the system. In Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, pages 14–24. ACM Press, 1988.Google Scholar
- 11.J. P. Bowen and M. J. C. Gordon. A shallow embedding of Z in HOL. Information and Software Technology, 37(5–6):269–276, 1995.CrossRefGoogle Scholar
- 12.P. Cousot. Program analysis: The abstract interpretation perspective. ACM Computing Surveys, 28A(4es):165-es, December 1996.Google Scholar
- 13.P. Cousot. Types as abstract interpretations, invited paper. In Proceedings of POPL’97, pages 316–331. ACM Press, 1997.Google Scholar
- 14.P. Cousot and R. Cousot. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proceedings of POPL’77, pages 238–252. ACM Press, 1977.Google Scholar
- 15.A. van Deursen, J. Heering, and P. Klint, editors. Language Prototyping: an algebraic specification approach. AMAST Series in Computing. World Scientific, 1996.Google Scholar
- 16.S. Drossopoulou and S. Eisenbach. Describing the semantics of Java and Proving Type Soundness. In J. Alves-Foss, editor, Formal Syntax and Semantics of Java, volume 1523 of Lecture Notes in Computer Science, pages 41–82. Springer-Verlag, 1999.CrossRefGoogle Scholar
- 17.M. Dwyer, J. Hatcliff, R. Joehanes, S. Laubach, C. Pasareanu, Robby, W. Visser, and H. Zheng. Tool-supported program abstraction for finite-state verification. In Proceedings of ICSE’01, 2001.Google Scholar
- 18.P. Hartel. LETOS-a lightweight execution tool for operational semantics. Software-practice and experience, 29:1379–1416, September 1999.Google Scholar
- 19.P. Hartel and L. Moreau. Formalizing the Safety of Java, the Java Virtual Machine and Java Card. ACM Computing Surveys, 2001. To appear.Google Scholar
- 20.P. H. Hartel, M. J. Butler, and M. Levy. The Operational Semantics of a Java Secure Processor. In J. Alves-Foss, editor, Formal Syntax and Semantics of Java, volume 1523 of Lecture Notes in Computer Science, pages 313–352. Springer-Verlag, 1999.CrossRefGoogle Scholar
- 21.B. Jacobs, J. van den Berg, M. Huisman, M. van Berkum, U. Hensel, and H. Tews. Reasoning about Java classes. A CM SIGPLAN Notices, 33(10):329–340, October 1998.Google Scholar
- 22.JavaCard Technology. http://java.sun.com/products/javacard
- 23.J. W. Klop. Term-rewriting systems. In S. Abramsky, D. Gabbay, and T. Maibaum, editors, Handbook of Logic in Computer Science, pages 1–116. Oxford Science Publications, 1992. Volume 2.Google Scholar
- 24.X. Leroy, D. Doligez, J. Garrigue, D. Rémy, and J. Vouillon. The Objective Caml system, release 3.00, 2000.Google Scholar
- 25.P. Müller and A. Poetzsch-Heffter. A type system for checking applet isolation in Java Card. In S. Drossopoulou, editor, Formal Techniques for Java Programs, 2001. To appear.Google Scholar
- 26.C. Muñoz. PBS: Support for the B-method in PVS. Technical Report SRI-CSL-99-01, SRI International, February 1999.Google Scholar
- 27.T. Nipkow. Verified Bytecode Verifiers. In F. Honsell and M. Miculan, editors, Proceedings of FOSSACS’01, volume 2030 of Lecture Notes in Computer Science, pages 347–363. Springer-Verlag, 2001.Google Scholar
- 28.T. Nipkow and D. von Oheimb. Java,/light is type-safe—definitely. In Proceedings of POPL’98, pages 161–170. ACM Press, 1998.Google Scholar
- 29.L. Paulson. Isabelle: a generic theorem prover, volume 828 of Lecture Notes in Computer Science. Springer-Verlag, 1994.MATHGoogle Scholar
- 30.M. Petersson. Compiling Natural Semantics. PhD thesis, Linköping University, 1995.Google Scholar
- 31.C. Pusch. Proving the soundness of a Java bytecode verifier specification in Isabelle/HOL. In W. R. Cleaveland, editor, Proceedings of TACAS’99, volume 1579 of Lecture Notes in Computer Science, pages 89–103. Springer-Verlag, 1999.Google Scholar
- 32.N. Shankar, S. Owre, and J. M. Rushby. The PVS Proof Checker: A Reference Manual. Computer Science Laboratory, SRI International, February 1993. Supplemented with the PVS2 Quick Reference Manual, 1997. 3Google Scholar
- 33.R. Stata and M. Abadi. A type system for Java bytecode subroutines. ACM Transactions on Programming Languages and Systems, 21(1):90–137, January 1999.Google Scholar
- 34.D. Terrasse. Vers un environnement d’aide au developpement de preuves en Semantique Naturelle. PhD thesis, Ecole Nationale des Ponts et Chaussees, 1995.Google Scholar
Copyright information
© Springer-Verlag Berlin Heidelberg 2001