Side by side
PMD vs SourcererCC
Both stand on code duplication detection tools. Which one you can start free with, which one lets you read the code, and what each costs once you pay.
Free plan LinuxMacSelf-hosted+1
PMD combines broad language coverage, custom rules, and bundled duplicate detection without a listed price. Check language-specific rule coverage and version support before adopting it.
Visit PMD Free plan LinuxSelf-hosted
SourcererCC offers configurable token-based clone detection across several code granularities. Plan for tokenization and multi-node result aggregation, and note the stated Mac limitation.
Visit SourcererCCThe facts
| PMD | SourcererCC | |
|---|---|---|
| Free plan | Yes | Yes |
| Open source | Not published | Not published |
| Runs on | Linux, Mac, Self-hosted, Windows | Linux, Self-hosted |
| Lowest paid plan | Free or on request | Not published |
| Plans published | 1 | None |
| Maker | Not published | Not published |
| Website | pmd.github.io | github.com |
| On code duplication detection tools | #8 of 18 | #12 of 18 |
PMD: what it does well
- Free, with more than 400 built-in rules.
- Custom rules can be written in Java or XPath.
- Bundled CPD detects duplicated code.
- Runs through several build tools and CI integrations.
What to know first
- Requires Java 8 or above.
- Scala support has no Scala rules.
- Only the latest major version is actively developed.
- Some listed IDE plugins are not actively maintained.
SourcererCC: what it does well
- Detects clones at file, method, statement, or block level.
- Configurable language settings and file extensions.
- Similarity threshold can be changed from 80%.
- Includes a virtual machine artifact for getting started.
- Free and licensed under GPL-3.0.
What to know first
- Source code must be tokenized before detection.
- Defaults exclude files below 65 or above 500,000 tokens.
- Mac multiprocessing requires Python 3.6, per the tutorial.
- Detection work is split across nodes and results aggregated.
Alternatives to PMD Alternatives to SourcererCC The whole list