PMD (software)

PMD is a static rule-set based Java source code analyzer that identifies potential problems like:

While PMD does not officially stand for anything, it has several unofficial names, the most appropriate probably being Programming Mistake Detector.

Typically, PMD errors are not true errors, but rather inefficient code, i.e. the application could still function properly even if they were not corrected.

PMD is released under a BSDish license while parts of it are under Apache 2.0 and the LGPL.[1]

Rulesets

PMD includes a set of built-in rules and supports the ability to write custom rules. The custom rules can be written in two ways:

  1. Using XPath
  2. Using Java classes

Copy/Paste Detector (CPD)

The Copy/Paste Detector (CPD) is an add-on to PMD that uses the Rabin–Karp string search algorithm to find duplicated code. CPD works with Java, JSP, C, C++, Fortran, PHP, and C# code.

Plugins

PMD has plugins for JDeveloper, Eclipse, jEdit, JBuilder, Omnicore's CodeGuide, NetBeans/Sun Studio, IntelliJ IDEA, TextPad, Maven, Ant, Gradle, Gel, JCreator, Hudson, Jenkins, SonarQube and Emacs.

See also

References

External links

Further reading