[Checkers] IGJ checker null pointer exception
Mahmood Ali
mahmood at MIT.EDU
Sat Mar 1 14:50:47 EST 2008
On Feb 29, 2008, at 3:41 PM, Michael Ernst wrote:
> When I run the IGJ checker on all of the Daikon source files (you
> can use
> the "make interned-all" target, but just change which checker is being
> run), I get a null pointer exception. See below for the stack trace.
I haven't run IGJ against Daikon, but it compiles FreePastry (just did
that now). Yesterday, IGJ was in a unstable condition (IGJ tests cases
were failing between r1813:r1821 and r1827:1831).
> I believe that checking Daikon should produce no warnings or errors,
> since
> Daikon is unannotated and all annotations should default to mutable.
I found some bugs in adding default annotations to arrays and some
method receivers. I fixed the bug related to arrays, and I am
investigating the one regarding method receivers.
I'm getting the following errors:
- 61 method invocations (I assume due to an error in inference of
method receiver)
- 24 assignment errors (majority of assignments to type variables)
- 16 method overriding errors (majority of override parameters of type
variables).
The first class of errors should be fixed hopefully by today. The fix
for the rest depend on asMemberOf being implemented properly.
Unfortunately, not everything defaults to mutable now. Currently it
tries to be smart to allow for one to compile his code against the JDK
as if it's properly annotated. Currently, it already assumes that
String and boxed primitive types (e.g. Integer, Long) default to
Mutable; which sometimes cause some errors in cases like when you pass
such type to equals. All lists default to @IGJPlaceHolder a special
annotation that is a subtype/supertype of all other types.
I will change this behavior to make an unannotated code default always
to mutable, and fix the defaults and allow to activate them using a
flag.
- Mahmood
More information about the checkers
mailing list