Pluggable type-checking for custom type qualifiers in Java

TitlePluggable type-checking for custom type qualifiers in Java
Publication TypeMiscellaneous
Year of Publication2007
AuthorsPapi MM, Ali M, Correa Jr. T L, Perkins JH, Ernst MD
Abstract<p>We have created a framework for adding custom type qualifiers to the Java language in a backward-compatible way. The type system designer defines the qualifiers and creates a compiler plug-in that enforces their semantics. Programmers can write the type qualifiers in their programs and be informed of errors or assured that the program is free of those errors. The system builds on existing Java tools and APIs. </p> <p> In order to evaluate our framework, we have written four type-checkers using the framework: for a non-null type system that can detect and prevent null pointer errors; for an interned type system that can detect and prevent equality-checking errors; for a reference immutability type system, Javari, that can detect and prevent mutation errors; and for a reference and object immutability type system, IGJ, that can detect and prevent even more mutation errors. We have conducted case studies using each checker to find real errors in existing software. These case studies demonstrate that the checkers and the framework are practical and useful.</p>
DownloadsPDF PostScript
Citation KeyPapiACPE2007:TR
Last changed Mon, 2013-06-03 10:27