A new version of FindBugs is available, bringing this great Java static analysis tool to version 1.1.0. FindBugs comes with its own Swing based GUI, Ant tasks and command line tool, and plug-ins are available for Eclipse, Maven and Netbeans. FindBugs scans the bytecode of a Java application for "bug patterns", code that contains errors, may be unsafe, or can be improved to make it faster, more stable or more readable.
FindBugs 1.1.0 is supposed to be a lot faster, but because more checks are enabled by default an analysis run still takes about the same time. I've been using the new version and it indeed found some new weird code in some parts of the application. Static analysis is a great timesaver to catch those dumb coding errors before they stay in the code too long. FindBugs can find some more evil bugs as well, such as threading issues, math errors or Java API bugs that only occur once in a zillion times (of course only in production).
On the FindBugs demo page you can webstart a demo if you want to get a quick feel of what this tool does. This page also contains some statistics for several large popular java code bases, such as the Sun JDK 6, Eclipse, Netbeans, Glassfish and JBoss. This gives a nice insight about the health of the code bases, Andy from the "Just Code" blog added an extra BPL statistic to get a better feel for the numbers. It also shows FindBugs can analyze huge projects. 1.5 miljon lines of code should be enough for everyone! 😉