PMD, also known as “Project Mess Detector” or “Project Meets Deadline”, is a static code analysis tool designed to detect the most common programming errors.
By using a system of scalable rules, PMD can detect empty try/catch statements, dead code, overcomplicated expressions and copied/pasted code (thanks to its CPD plug-in). PMD can also calculate cyclomatic source code complexity, an interesting indicator when assessing software quality.
PMD is licensed under a BSD-style licence.
PMD analyses Java source code, JavaScript source code and XML/XSL files. There is also an equivalent for analysing PHP code (PHPMD, a.k.a. PHP Mess Detector).
The rules can be written using XPath expressions or Java classes (or PHP for PHPMD).
This solution does not have any opinions yet