Formalisation and implementation of an algorithm for bytecode verification of @NonNull types

https://doi.org/10.1016/j.scico.2010.10.004Get rights and content
Under an Elsevier user license
open archive

Abstract

Java’s annotation mechanism allows us to extend its type system with non-null types. Checking such types cannot be done using the existing bytecode verification algorithm. We extend this algorithm to verify non-null types using a novel technique that identifies aliasing relationships between local variables and stack locations in the JVM. We formalise this for a subset of Java Bytecode and report on experiences using our implementation.

Research highlights

► We formalise our non-null bytecode verifier for a subset of Java Bytecode. ► We detail an implementation of our system for Java Bytecode. ► We report on our experiences with using our system on real-world programs.

Keywords

NonNull types
Bytecode verification
Static analysis
Java

Cited by (0)