TitlePractical pluggable types for Java
Publication TypeConference Paper
Year of Publication2008
AuthorsPapi MM, Ali M, Correa, Jr. TLuis, Perkins JH, Ernst MD
Conference NameISSTA 2008, Proceedings of the 2008 International Symposium on Software Testing and Analysis
Pagination201–212
Date or Month PublishedJuly
Conference LocationSeattle, WA, USA
AbstractThis paper introduces the Checker Framework, which supports adding pluggable type systems to the Java language in a backward-compatible way. A type system designer defines type qualifiers and their semantics, and a compiler plug-in enforces the semantics. Programmers can write the type qualifiers in their programs and use the plug-in to detect or prevent errors. The Checker Framework is useful both to programmers who wish to write error-free code, and to type system designers who wish to evaluate and deploy their type systems. \par The Checker Framework includes new Java syntax for expressing type qualifiers; declarative and procedural mechanisms for writing type-checking rules; and support for flow-sensitive local type qualifier inference and for polymorphism over types and qualifiers. The Checker Framework is well-integrated with the Java language and toolset. \par We have evaluated the Checker Framework by writing 5 checkers and running them on over 600K lines of existing code. The checkers found real errors, then confirmed the absence of further errors in the fixed code. The case studies also shed light on the type systems themselves.
Downloadshttps://homes.cs.washington.edu/~mernst/pubs/pluggable-types-issta2008-s... talk slides (PDF) https://homes.cs.washington.edu/~mernst/pubs/pluggable-types-demo-slides... demo slides (PDF) https://homes.cs.washington.edu/~mernst/pubs/pluggable-checkers-retrospe... ISSTA 2018 retrospective slides (PDF) https://docs.google.com/presentation/d/1-DRyBQq-Afmu0nZnb7BK2vd95Nmr13O5... ISSTA 2018 retrospective slides (Google Slides) https://groups.csail.mit.edu/pag/pubs/pluggable-checkers-papi-mengthesis... Papi thesis (PDF) https://checkerframework.org/ Checker Framework implementation https://homes.cs.washington.edu/~mernst/pubs/pluggable-checkers-issta200... PDF
Citation KeyPapiACPE2008