[TYPES] New paper on Java-like language, VM and compiler

nipkow at in.tum.de nipkow at in.tum.de
Tue Mar 23 09:53:20 EST 2004


We are pleased to announce the following paper:


A Machine-Checked Model for a Java-Like Language, Virtual Machine and Compiler
		       Gerwin Klein and Tobias Nipkow

We introduce Jinja, a Java-like programming language with a formal semantics
designed to exhibit core features of the Java language architecture. Jinja is
a compromise between realism of the language and tractability and clarity of
the formal semantics. The following aspects are formalised: a big and a small
step operational semantics for Jinja and a proof of their equivalence; a type
system and a definite initialisation analysis; a type safety proof of the
small step semantics; a virtual machine (JVM), its operational semantics and
its type system; a type safety proof for the JVM; a bytecode verifier,
i.e. data flow analyser for the JVM; a correctness proof of the bytecode
verifier w.r.t. the type system; a compiler and a proof that it preserves
semantics and well-typedness.

The emphasis of this work is not on particular language features but on
providing a unified model of the source language, the virtual machine and the
compiler. The whole development has been carried out in the theorem prover
Isabelle/HOL.

Available at www.in.tum.de/~nipkow/pubs/Jinja/


Enjoy!

Gerwin Klein
Tobias Nipkow


More information about the Types-list mailing list