Animating the formalised semantics of a Java-like language

  • Authors:
  • Andreas Lochbihler;Lukas Bulwahn

  • Affiliations:
  • Karlsruher Institut für Technologie;Technische Universität München

  • Venue:
  • ITP'11 Proceedings of the Second international conference on Interactive theorem proving
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Considerable effort has gone into the techniques of extracting executable code from formal specifications and animating them. We show how to apply these techniques to the large JinjaThreads formalisation. It models a substantial subset of multithreaded Java source and bytecode in Isabelle/HOL and focuses on proofs and modularity whereas code generation was of little concern in its design. Employing Isabelle's code generation facilities, we obtain a verified Java interpreter that is sufficiently efficient for running small Java programs. To this end, we present refined implementations for common notions such as the reflexive transitive closure and Russell's definite description operator. From our experience, we distill simple guidelines on how to develop future formalisations with executability in mind.