Are you tired of null pointer exceptions, unintended side effects, SQL injections, concurrency errors, mistaken equality tests, and other run-time errors that appear during testing or in the field?
The Checker Framework enhances Java’s type system to make it more powerful and useful. This lets software developers detect and prevent errors in their Java programs. The Checker Framework includes compiler plug-ins ("checkers") that find bugs or verify their absence. It also permits you to write your own compiler plug-ins.
Quick start: go directly to the Installation instructions and tutorial.
@NonNull
type qualifier, use the
Julia
Analyzer, Nit, or JastAdd
@ReadOnly
type qualifier, use Javarifier
.java
and .class
files.
It also provides a representation (called
an “annotation file”) for annotations that is outside the source code or
the .class
file. The tools support both Java 5
annotations, and the type annotations defined in JSR 308.
If you have a question, then first see whether your question is answered in one of the manuals listed under Documentation below. If none of those documents answers your question, then use one of the mailing lists.
The mailing lists are appropriate for discussing the Type Annotations (JSR 308) specification, any tool that processes type annotations (compiler, the Checker Framework, the Annotation File Utilities, etc.), and any other issue related to type annotations. We welcome questions, bug reports, suggestions, reports about case studies, and other contributions. Let us know how we can make type annotations even better!
You can also use the mailing lists to give help. Here are just a few examples:
Another way to help is to tell your friends and colleagues about the usefulness and practicality of type annotations, or to report your successes to the mailing lists.
To submit a bug report, use the issue tracker:
Last updated: June 17, 2011