art-dupl vs phpcpd-next
art-dupl
art-dupl.lars.softwarephpcpd-next
github.comSide by side
| Figure | art-dupl | phpcpd-next |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Linux | — | Yes |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 0 | 1 |
| Spec score · Code Duplication Detection Tools | 7.3 (#11) | 7.4 (#9) |
| Spec score · Code Clone Detection Tools | 7.2 (#16) | 7.4 (#14) |
| Detection | It offers semantic, exact, and structural matching modes. | Its default run combines Rabin-Karp exact matching with TokenBag detection of reordered code; an opt-in unified engine detects exact, renamed, gapped, and reordered clones. |
| License | The project is licensed under MIT. | The project states that phpcpd-next is licensed under MIT. |
| Purpose | art-dupl detects source-code duplication at the AST level to identify fixable clones. | phpcpd-next is a token-based copy/paste detector for PHP 8.4+ and a successor to Sebastian Bergmann’s phpcpd. |
| Reports | Output formats include text, rich text, HTML, JSON, Simple JSON, SARIF, and plumbing. | It provides console, PMD-CPD XML, JSON, and SARIF 2.1.0 output formats. |
Plans
In their own words
art-dupl
art-dupl has no write-up on Specifiction yet; its figures are above.
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.