Monday, May 26, 2008

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
PMD is integrated with JDeveloper, Eclipse, JEdit, JBuilder, BlueJ, CodeGuide, NetBeans/Sun Java Studio Enterprise/Creator, IntelliJ IDEA, TextPad, Maven, Ant, Gel, JCreator, and Emacs.

You can download everything from here, and you can get an overview of all the rules at the rulesets index page.

Recent releases


  • 2008-05-20 PMD 4.2.2: more bug fixes on the 4.2 branch (Changelog)
  • 2008-04-11 PMD 4.2.1: bug fixes (Changelog)

Future releases

The refactoring effort that will lead to PMD 5.0 has been started on the main trunk (5.0 will not be backward compatible with PMD 4.x). We may release other 4.2.x versions with minor fixes if needed until 5.0 is released.

No comments: