Proving Correctness of JavaCard DL Taclets using Bali

  • Authors:
  • Kerry Trentelman

  • Affiliations:
  • RSISE, Australian National University

  • Venue:
  • SEFM '05 Proceedings of the Third IEEE International Conference on Software Engineering and Formal Methods
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

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.