Program logics for bytecode languages such as Java bytecode or the .NET CIL can be used to apply Proof-Carrying Code concepts to bytecode programs and to verify correctness properties of bytecode programs. This paper presents a Hoare-style logic for a sequential bytecode kernel language similar to Java bytecode and CIL. The logic handles object-oriented features such as inheritance, dynamic method binding, and object structures with destructive updates, as well as unstructured control flow with jumps. It is sound and complete.
Bannwart and Müller REF present a Hoare-style logic for a bytecode language with object-oriented features similar to the JVM language.
A Program Logic for Bytecode
BYTECODE 2005 PRELIMINARY VERSION
Computer Science