Handbook of theoretical computer science (vol. B)
Java Language Specification, Second Edition: The Java Series
Java Language Specification, Second Edition: The Java Series
The Java Programming Language
Machine-Checking the Java Specification: Proving Type-Safety
Formal Syntax and Semantics of Java
A Programmer Friendly Modular Definition of the Semantics of Java
Formal Syntax and Semantics of Java
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
Analysing the Java package-access concepts in Isabelle-HOL: Research Articles
Concurrency and Computation: Practice & Experience - Formal Techniques for Java-like Programs
Ensuring the Correctness of Lightweight Tactics for JavaCard Dynamic Logic
Electronic Notes in Theoretical Computer Science (ENTCS)
Verification of object-oriented software: The KeY approach
Verification of object-oriented software: The KeY approach
Automatic validation of transformation rules for java verification against a rewriting semantics
LPAR'05 Proceedings of the 12th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Hi-index | 0.00 |
Developed at the University of Karlsruhe, KeY is an augmented commercial CASE tool with specification and deductive verification functionalities. Recently, lightweight, stand-alone tactics or "taclets" have been introduced in order to implement the JavaCard Dynamic Logic (JavaCard DL) sequent calculus within KeY. JavaCard DL captures the semantics of JavaCard, the subset of Java designed to run on smart cards. This paper discusses a case-study into proving taclets sound using the independent Bali formalism of Java in the theorem prover Isabelle/HOL. Rather than taking a foundational approach by embedding the entire JavaCard DL semantics directly into a theorem prover, we instead translate each taclet and prove its soundness via the Bali calculus. We analyse both calculi, prove three pivotal taclets sound, and argue whether the method is useful in proving the correctness of JavaCard programs overall.