Skip to content
SPECIFICTION
Get listed

PMD vs Staticcheck

PMD

pmd.github.io

Staticcheck

staticcheck.dev

Side by side

FigurePMDStaticcheck
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYesYes
macOSYesYes
LinuxYesYes
Self-hostedYes—
Plans published11
Spec score · Linters8.3 (#6)7.3 (#30)
GitHub ActionsPMD's GitHub Action runs a user-supplied ruleset, creates a SARIF report, and can fail a build based on violation count.The project publishes its own GitHub Actions workflow action for running Staticcheck in CI.
InstallationPMD requires Java 8 or above and is distributed as a ZIP archive containing PMD and CPD.The site documents installation with go install and binary releases for common operating systems and CPU architectures.
PurposePMD is an extensible cross-language static code analyzer that finds common programming flaws.Staticcheck is a Go linter that uses static analysis to find bugs and performance issues, suggest simplifications, and enforce style rules.
UsagePMD provides a command-line interface for checking source directories against a ruleset.Staticcheck can be run from the command line, in CI, and directly from editors.

Plans

PMD

  • PMDFree

PMD pricing →

Staticcheck

  • FreeFree

Staticcheck pricing →

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.

Visit pmd.github.io

Staticcheck

Staticcheck has no write-up on Specifiction yet; its figures are above.

Visit staticcheck.dev