Deckard vs PMD
Deckard
github.comPMD
pmd.github.ioSide by side
| Figure | Deckard | PMD |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | — |
| Self-hosted | Yes | Yes |
| Plans published | 0 | 1 |
| Spec score · Code Duplication Detection Tools | 7.5 (#8) | 8.1 (#4) |
| Spec score · Code Clone Detection Tools | 7.5 (#12) | 8.1 (#3) |
| Installation | The README instructs users to build Deckard with a shell script in its src/main directory. | PMD requires Java 8 or above and is distributed as a ZIP archive containing PMD and CPD. |
| Languages | The release notes describe support for C, Java 7, PHP 5, and Solidity syntax. | PMD focuses mainly on Java and Apex and supports 16 other languages, including JavaScript, Kotlin, Swift, and XML. |
| License | The repository license permits source and binary redistribution subject to its stated conditions and disclaims warranties. | The project identifies its license as BSD-style. |
| Purpose | Deckard is a tree-based code clone detection tool that can also report clone-related bugs. | PMD is an extensible cross-language static code analyzer that finds common programming flaws. |
| Usage | Deckard runs through shell scripts in batch mode and can generate vectors for selected portions of a source file. | PMD provides a command-line interface for checking source directories against a ruleset. |
Plans
In their own words
PMD
PMD is a free, extensible static code analyzer that checks source code for programming flaws such as unused variables, empty catch blocks, and unnecessary object creation. It includes more than 400 built-in rules, and teams can write custom rules in Java or XPath. Its bundled CPD tool finds duplicated code across many programming languages. PMD checks source directories from the command line and can run as a Maven, Ant, Gradle, or bld build operation. Supported languages include Java, JavaScript, Salesforce Apex and Visualforce, Kotlin, Swift, Modelica, PL/SQL, Apache Velocity, JSP, WSDL, Maven POM, HTML, XML, and XSL; Scala is supported without Scala rules. It runs on Linux, macOS, and Windows and requires Java 8 or above. For CI, its GitHub Action can create SARIF reports and fail builds based on violation counts; documentation also covers GitLab, Jenkins, and Bamboo integrations. IDE integrations include Eclipse, IntelliJ IDEA, and Visual Studio Code, though some listed plugins are not actively maintained. Only the latest major version is actively developed.