A verified compiler is an integral part of every security infrastructure. Previous work has come up with formal semantics for sequential and concurrent variants of Java and has proven the correctness of compilers for the sequential part. This paper presents a rigorous formalisation (in the proof assistant Isabelle/HOL) of concurrent Java source and byte code together with an executable compiler and its correctness proof. It guarantees that the generated byte code shows exactly the same observable behaviour as the semantics for the multithreaded source code.
Lochbihler REF presents a formalization of concurrent Java and proves the correctness of the source to bytecode compilation using Isabelle/HOL.
Verifying a compiler for java threads
ESOP
Computer Science