[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