FindBugs is a defect detection tool for Java that uses static analysis to look for more than 200 bug patterns, such as null pointer dereferences, infinite recursive loops, bad uses of the Java libraries and deadlocks. FindBugs can identify hundreds of serious defects in large applications (typically about 1 defect per 1000-2000 lines of non-commenting source statements). FindBugs is open source (LGPL), has been downloaded more than 500,000 times and is used by many major companies and financial institutions.
FindBugs Eclipse Plugin integrates FindBugs seamlessly with the most popular Java IDE and allows to run FindBugs analysis incrementally on changed files or on demand per project. A quick plugin introduction is available at http://andrei.gmxhome.de/findbugs/index.html, and a short video demo is available on YouTube.