FindBugs Team

Free
Uses static analysis to look for bugs in Java code.