Skip to content
SPECIFICTION
Get listed

phpcpd-next vs PMD

phpcpd-next

github.com

PMD

pmd.github.io

Side by side

Figurephpcpd-nextPMD
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
Windows—Yes
macOS—Yes
LinuxYesYes
APIYes—
Self-hostedYesYes
Plans published11
Spec score · Code Duplication Detection Tools7.4 (#9)8.1 (#4)
Spec score · Code Clone Detection Tools7.4 (#14)8.1 (#3)
LicenseThe project states that phpcpd-next is licensed under MIT.The project identifies its license as BSD-style.
Purposephpcpd-next is a token-based copy/paste detector for PHP 8.4+ and a successor to Sebastian Bergmann’s phpcpd.PMD is an extensible cross-language static code analyzer that finds common programming flaws.
SupportThe opened project page describes contribution guidance and a Contributor License Agreement; it does not state a paid support plan.The project directs users to Stack Overflow for questions, GitHub issues for suspected bugs or requests, and Gitter for quick questions.

Plans

phpcpd-next

  • Open sourceFree

phpcpd-next pricing →

PMD

  • PMDFree

PMD pricing →

In their own words

phpcpd-next

phpcpd-next is a free, MIT-licensed, token-based detector for copied PHP code in repositories. It targets PHP 8.4 and later and succeeds Sebastian Bergmann’s phpcpd. The default run combines Rabin-Karp exact matching with TokenBag detection for reordered code. An opt-in unified engine detects exact, renamed, gapped and reordered clones, while optional orphan mode identifies unreferenced classes, interfaces, traits, enums and functions. Results can be printed to the console or written as PMD-CPD XML, JSON and SARIF 2.1.0. Meaningful exit codes, result caching and a per-file incremental index support continuous integration; clone findings return status 1. Documented integrations include PHPUnit, an in-process headless API, framework presets and SARIF upload to GitHub Code Scanning. Installation is available through Composer as a development dependency or global package, or from source. Requirements are PHP 8.4+, ext-dom and ext-mbstring, with zero Composer runtime dependencies. Advanced engines are described as research-grade and may produce more false positives than the default set.

Visit github.com

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.

Visit pmd.github.io