Extended static checking for Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Java Card Technology for Smart Cards: Architecture and Programmer's Guide
Java Card Technology for Smart Cards: Architecture and Programmer's Guide
Dynamic Logic
Java Program Verification via a Hoare Logic with Abrupt Termination
FASE '00 Proceedings of the Third Internationsl Conference on Fundamental Approaches to Software Engineering: Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS 2000
An Architecture for Interactive Program Provers
TACAS '00 Proceedings of the 6th International Conference on Tools and Algorithms for Construction and Analysis of Systems: Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS 2000
A Dynamic Logic for the Formal Verification of Java Card Programs
JavaCard '00 Revised Papers from the First International Workshop on Java on Smart Cards: Programming and Security
A program logic for handling JAVACARD's transaction mechanism
FASE'03 Proceedings of the 6th international conference on Fundamental approaches to software engineering
Verification of safety properties in the presence of transactions
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
Formalisation and verification of java card security properties in dynamic logic
FASE'05 Proceedings of the 8th international conference, held as part of the joint European Conference on Theory and Practice of Software conference on Fundamental Approaches to Software Engineering
Hi-index | 0.00 |
We present an extension to Java Card Dynamic Logic, a program logic for reasoning about Java Card programs, to handle Java Card's so-called non-atomic methods. Although Java Card DL already supports the atomic transaction mechanism of Java Card, non-atomic methods present an additional challenge: state updates triggered by such a non-atomic method are not subjected to any transaction that may possibly be in progress. The semantics of a non-atomic method itself seems to be simple and straightforward to formalise, however experimental studies showed that non-atomic methods affect the whole semantics of the Java Card transaction mechanism in a subtle way, in particular, it affects the notion of a transaction roll-back. In this paper we show how to adapt Java Card DL to accommodate this newly discovered complex transaction behaviour. The extension completes the formalisation of all of Java Card in Dynamic Logic.