PMD is a Java source code analyzer. It finds unused variables, empty catch blocks, unnecessary object creation, and more. It includes CPD, a tool to detect chunks of identical code.
| Tags | Software Development Quality Assurance |
|---|---|
| Licenses | BSD Original |
| Operating Systems | OS Independent |
| Implementation | Java |
Recent releases


Release Notes: This release includes bugfixes to existing rules. It has modified (and hopefully fixed) the CPD algorithm. The JSP/JSF parser can now parse Unicode input. The JSP/JSP parser can now handle <script>...</script> tags. The AST HtmlScript node contains the content. Ecmascript has been added as a supported language for CPD.


Release Notes: This release includes bugfixes to existing rules, the new AvoidThrowingNewInstanceOfSameException rule in strictexception.xml, and the new android.xml ruleset for new rules specific to the Android platform.


Release Notes: This release fixes a few bugs in the 4.2.2 version, but does not introduce major changes.


Release Notes: This release fixes a few bugs but does not introduce major changes. The refactoring effort that will lead to PMD 5.0 has been started on the main trunk.


Release Notes: Changes over 3.9 include 10 new rules, Java 1.5 language specification used by default, better XPath performance, better memory usage, and a slew of bugfixes.