Compile-time type-checking for custom type qualifiers in Java

  • Authors:
  • Matt M. Papi;Mahmood Ali;Michael D. Ernst

  • Affiliations:
  • Massachusetts Institute of Technology, Cambridge, MA, USA;Massachusetts Institute of Technology, Cambridge, MA, USA;Massachusetts Institute of Technology, Cambridge, MA, USA

  • Venue:
  • Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Checker Framework enables adding custom type qualifiers to the Java language in a backward-compatible way. The Checker Framework allows programmers to write type qualifiers in their programs and to create compiler plug-ins that enforce the semantics of these qualifiers at compile time. Using the plug-ins, programmers can improve the quality of their code without disturbing their development workflow. Our case studies demonstrate that the Checker Framework is scalable, easy to use, and effective in detecting and preventing errors. It has been used to detect real errors in null pointer dereferencing, side effects, equality tests, and initialization, among others.