Towards a Full Formal Specification of the JavaCard API

This paper reports on ongoing work to develop a formal specification of the JAVACARD API using the specification language JML. It discusses the specification of the JCSystem class, which deals with the JAVACARD firewall, (atomic) transactions and transient objects. The JCSystem class seems to be the hardest class in the API to specify, and it is closely connected with some of the peculiarities of JAVACARD as opposed to JAVA.