JML-- Java Modeling Language
http://www.eecs.ucf.edu/~leavens/JML/
http://sourceforge.net/projects/jmlspecs

Source Analyzer
FindBugs--a program which uses static analysisto look for bugsin Java code
http://findbugs.sourceforge.net/

PMD--PMD scans Java source code and looks for potential problems like:
  • Possible bugs - empty try/catch/finally/switch statements
  • Dead code - unused local variables, parameters and private methods
  • Suboptimal code - wasteful String/StringBuffer usage
  • Overcomplicated expressions - unnecessary if statements, for loops that could be while loops
  • Duplicate code - copied/pasted code means copied/pasted bugs
http://pmd.sourceforge.net/
09-18 23:04