Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. Computer Science and Artificial Intelligence Lab (CSAIL)
  3. CSAIL Digital Archive
  4. CSAIL Technical Reports (July 1, 2003 - present)
  5. Pluggable type-checking for custom type qualifiers in Java

Pluggable type-checking for custom type qualifiers in Java

Thumbnail Image
Download
Name

MIT-CSAIL-TR-2007-047.pdf

Size

298.04 KB

Format

Adobe PDF

Checksum (MD5)

9ee54e2463fff3b257cdece57ee24e2c

Thumbnail Image
Download
Name

MIT-CSAIL-TR-2007-047.ps

Size

1.16 MB

Format

PostScript

Checksum (MD5)

38d24de17fc1b8234eb154c69df78123

Author(s)
Papi, Matthew M.
•
Ali, Mahmood
•
Correa Jr., Telmo Luis
•
Perkins, Jeff H.
•
Ernst, Michael D.
Advisor(s)
Michael Ernst
Date Issued
September 17, 2007
Series/Report no.
Massachusetts Institute of Technology Computer Science and Artificial Intelligence Laboratory
Abstract
We have created a framework for adding custom type qualifiers to the Javalanguage in a backward-compatible way. The type system designer definesthe qualifiers and creates a compiler plug-in that enforces theirsemantics. Programmers can write the type qualifiers in their programs andbe informed of errors or assured that the program is free of those errors.The system builds on existing Java tools and APIs.In order to evaluate our framework, we have written four type-checkersusing the framework: for a non-null type system that can detect andprevent null pointer errors; for an interned type system that can detectand prevent equality-checking errors; for a reference immutability typesystem, Javari, that can detect and prevent mutation errors; and for areference and object immutability type system, IGJ, that can detect andprevent even more mutation errors. We have conducted case studies usingeach checker to find real errors in existing software. These case studiesdemonstrate that the checkers and the framework are practical and useful.
Persistent DSpace Link
http://hdl.handle.net/1721.1/38878
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.