kirancodes.me
To Proof Maintenance & Beyond!

A Formal Framework for the Java Bytecode Language and Verifier

Stephen N. Freund, John C. Mitchell

Abstract

This paper presents a sound type system for a large subset of the Java bytecode language including classes, interfaces, constructors, methods, exceptions, and bytecode subroutines. This work serves as the foundation for developing a formal specification of the bytecode language and the Java Virtual Machine's bytecode verifier. We also describe a prototype implementation of a type checker for our system and discuss some of the other applications of this work. For example, we show how to extend our work to examine other program properties, such as the correct use of object locks.

DOI 10.1145/320384.320397

Related papers