Title :
Proving correctness of JavaCard DL taclets using Bali
Author :
Trentelman, Kerry
Author_Institution :
Automated Reasoning Group, Australian Nat. Univ., ACT, Australia
Abstract :
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.
Keywords :
Java; formal specification; process algebra; program verification; programming language semantics; smart cards; theorem proving; Bali calculus; Bali formalism; CASE tool; HOL theorem prover; Isabelle theorem prover; JavaCard DL taclets; JavaCard dynamic logic sequent calculus; JavaCard program correctness proving; JavaCard semantics; deductive verification; formal specification; smart card; Calculus; Computer aided software engineering; Java; Lifting equipment; Logic programming; Safety; Smart cards; Software engineering;
Conference_Titel :
Software Engineering and Formal Methods, 2005. SEFM 2005. Third IEEE International Conference on
Print_ISBN :
0-7695-2435-4
DOI :
10.1109/SEFM.2005.37