Skip to content
SPECIFICTION
Get listed

Duplo vs PMD

Duplo

github.com

PMD

pmd.github.io

Side by side

FigureDuploPMD
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYesYes
macOSYesYes
LinuxYesYes
Self-hosted—Yes
Plans published11
Spec score · Code Clone Detection Tools7.9 (#5)8.1 (#3)
Spec score · Code Duplication Detection Tools7.9 (#5)8.1 (#4)
CI integrationThe project describes XML reports as usable in continuous integration tools such as GitHub Actions and TeamCity, and links to a GitHub Actions workflow extension.PMD provides a GitHub Action that runs custom rulesets, creates SARIF reports and can fail builds based on violation counts.
GitHub ActionsThe maker links a GitHub Action that can fail a build when duplicate blocks are found.PMD's GitHub Action runs a user-supplied ruleset, creates a SARIF report, and can fail a build based on violation count.
LicenseDuplo is free software under the GNU General Public License version 2 or, at the user's option, any later version, and is provided without warranty.The project identifies its license as BSD-style.
PurposeDuplo finds duplicated code blocks in large codebases.PMD is an extensible cross-language static code analyzer that finds common programming flaws.
SupportThe maintainer asks users to open an issue for feedback, feature requests, and bug reports.The project directs users to Stack Overflow for questions, GitHub issues for suspected bugs or requests, and Gitter for quick questions.

Plans

Duplo

  • DuploFree

Duplo pricing →

PMD

  • PMDFree

PMD pricing →

In their own words

Duplo

Duplo is a free tool for locating duplicated source-code blocks in large codebases. It has built-in language support for C/C++, Java, C#, VB, GCC assembly, Ada, Erlang, TypeScript and Swift, and can also scan arbitrary text files, including for duplicates within one file. For supported languages, it can filter comments, preprocessor directives and other syntax before checking for repeated code. Files can be provided through standard input or a separate file list. Duplo produces text reports as well as JSON and XML output. The project describes XML reports as usable in continuous integration tools such as GitHub Actions and TeamCity, and links to a GitHub Actions extension that can fail a build when duplicates are found. That extension has settings for minimum duplicate lines, minimum line length and maximum files reported. Prebuilt binaries are available for Alpine Linux, macOS and Windows; it can also be built from source. Duplo is free under GNU GPL version 2 or later, and is provided without warranty.

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