PMD is able to detect flaws or possible flaws in source code, like:
PMD is released under a BSDish license while parts of it are under Apache License 2.0 and the LGPL.3
The Copy/Paste Detector (CPD) is an add-on to PMD that uses the Rabin–Karp string search algorithm to find duplicated code. Unlike PMD, CPD works with a broader range of languages including Java, JavaServer Pages (JSP), C, C++, Fortran, PHP, and C# code.
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, Visual Studio Code and Emacs.4 There is also a CLI version.
"What does 'PMD' mean?". pmd-code.org. Retrieved 31 March 2023. https://docs.pmd-code.org/latest/pmd_projectdocs_trivia_meaning.html ↩
"Destroy annoying bugs part 4: the end is near". freesoftwaremagazine.com. http://freesoftwaremagazine.com/articles/destroy_annoying_bugs_part_4/ ↩
"License". GitHub. 18 January 2015. Retrieved 13 August 2015. https://github.com/pmd/pmd/blob/master/LICENSE ↩
"Tools / Integrations". pmd-code.org. Retrieved 31 March 2023. https://docs.pmd-code.org/latest/pmd_userdocs_tools.html ↩