Specifying and Verifying a Decimal Representation in Java for Smart Cards

This article describes a case study concerning a component of a Java Purse applet developed by the smart card manufacturer Gemplus. This component is a representation of decimal numbers in Java. The decimal component is annotated with specifications consisting of invariants and pre- and postconditions, describing the functional behavior. These specifications are written in the specification language JML. After translation of the annotated source code to the theorem prover PVS, the correctness of these annotations is proved interactively.

[1]  Néstor Cataño,et al.  Formal Specification and Static Checking of Gemplus' Electronic Purse Using ESC/Java , 2002, FME.

[2]  Martin Wirsing,et al.  Formal Syntax and Semantics of Java , 1999 .

[3]  Marieke Huisman,et al.  Reasoning about Java programs in higher order logic using PVS and Isabelle , 2001 .

[4]  Perdita Stevens,et al.  Modelling Recursive Calls with UML State Diagrams , 2003, FASE.

[5]  Arnd Poetzsch-Heffter,et al.  An Architecture for Interactive Program Provers , 2000, TACAS.

[6]  Thomas Jensen,et al.  Java on Smart Cards:Programming and Security , 2001, Lecture Notes in Computer Science.

[7]  Martin Wirsing,et al.  Extraction of Structured Programs from Specification Proofs , 1999, WADT.

[8]  David,et al.  Analyzing Java in Isabelle/HOL , 2001 .

[9]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[10]  Tobias Nipkow,et al.  Machine-Checking the Java Specification: Proving Type-Safety , 1999, Formal Syntax and Semantics of Java.

[11]  Bart Jacobs,et al.  A Type-Theoretic Memory Model for Verification of Sequential Java Programs , 1999, WADT.

[12]  Bart Jacobs,et al.  The LOOP Compiler for Java and JML , 2001, TACAS.

[13]  Bart Jacobs,et al.  A Logic for the Java Modeling Language JML , 2001, FASE.

[14]  Bart Jacobs,et al.  Formal Specification and Verification of JavaCard's Application Identifier Class , 2000, Java Card Workshop.

[15]  Bart Jacobs,et al.  Specification of the JavaCard API in JML , 2000, CARDIS.

[16]  Natarajan Shankar,et al.  PVS: Combining Specification, Proof Checking, and Model Checking , 1996, FMCAD.