David Hovemeyer and Bill Pugh have posted FindBugs 0.9.3, an automated open source tool for finding potential bugs in Java code. New detectors in this version include:
I tested this out on XOM where it "found" over 3000 bugs. Almost
all of them were false positives. In particular,
it objected to the numerous times XOM uses the same code in different branches of a switch
statement. (Sometimes it's important to do this to optimize by using table switches.) However, it did find one minor but real problem that is now fixed. If I hadn't used this tool frequently in the past, it would have found more.