PMD logo


An extensible cross-language static code analyzer
+ 1

What is PMD?

It is a source code analyzer. It finds common programming flaws like unused variables, empty catch blocks, unnecessary object creation, and so forth. It includes CPD, the copy-paste-detector.
PMD is a tool in the Code Review category of a tech stack.
PMD is an open source tool with 4.4K GitHub stars and 1.4K GitHub forks. Here’s a link to PMD's open source repository on GitHub

Who uses PMD?

5 companies reportedly use PMD in their tech stacks, including doubleSlash, JustChunks, and CICD.

37 developers on StackShare have stated that they use PMD.

PMD Integrations

Java, Gradle, Linux, Windows, and macOS are some of the popular tools that integrate with PMD. Here's a list of all 5 tools that integrate with PMD.
Decisions about PMD

Here are some stack decisions, common use cases and reviews by companies and developers who chose PMD in their tech stack.

Joshua Dean Küpper
CEO at Scrayos UG (haftungsbeschränkt) · | 1 upvote · 363.6K views

We use PMD alongside Checkstyle and FindBugs (Spotbugs) for our static code analysis, as a standard stage in all of our pipelines. PMD offers us insight into various optimization possibilities, best-practice alignment, coding convention compliance and general problems with our code.

See more

PMD's Features

  • supports multiple languages
  • enforce a coding standard for your codebase
  • built-in checks

PMD Alternatives & Comparisons

What are some alternatives to PMD?
SonarQube provides an overview of the overall health of your source code and even more importantly, it highlights issues found on new code. With a Quality Gate set on your project, you will simply fix the Leak and start mechanically improving.
It detects possible bugs in Java programs. Potential errors are classified in four ranks: scariest, scary, troubling and of concern. This is a hint to the developer about their possible impact or severity.
It is a development tool to help programmers write Java code that adheres to a coding standard. It automates the process of checking Java code to spare humans of this boring (but important) task. This makes it ideal for projects that want to enforce a coding standard.
A pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript. Maintain your code quality with ease.
Prettier is an opinionated code formatter. It enforces a consistent style by parsing your code and re-printing it with its own rules that take the maximum line length into account, wrapping code when necessary.
See all alternatives

PMD's Followers
108 developers follow PMD to keep up with related blogs and decisions.