PMD is an extensible multilanguage static code analyzer. It finds common programming flaws like unused variables, empty catch blocks, unnecessary object creation, and so forth. It's mainly concerned with Java and Apex, but supports 16 other languages. It comes with 400+ built-in rules. It can be extended with custom rules. It uses JavaCC and Antlr to parse source files into abstract syntax trees (AST) and runs rules against them to find violations. Rules can be written in ...

LicenseBSD
CategoriesCode Analyzers
Tagsanalysiscodeanalyzerquality
Organization PMD
HomePage https://pmd.github.io/
DateMay 31, 2024
Filespom (60 KB)  View All
RepositoriesCentral
Ranking#20897 in MvnRepository (See Top Artifacts)
#6 in Code Analyzers
Used By19 artifacts

Note: There is a new version for this artifact

New Version7.3.0


Compile Dependencies (0)

Category/License Group / ArtifactVersionUpdates

Managed Dependencies (63)

Category/License Group / ArtifactVersionUpdates

MIT
com.github.oowekyala.ooxml » nice-xml-messages 3.1

Unlicense
com.github.oowekyala.treeutils » tree-matchers 2.1.0

Unlicense
com.github.oowekyala.treeutils » tree-printers 2.1.0

MIT
com.github.stefanbirkner » system-lambda 1.2.1

CPAL 1.0CPL 1.0
com.github.stefanbirkner » system-rules 1.19.0
JSON Lib
Apache 2.0
com.google.code.gson » gson 2.10.12.11.0
Core Utils
Apache 2.0
com.google.guava » guava 33.0.0-jre33.2.1-jre
Data Format
BSD 3-clause
com.google.protobuf » protobuf-java 3.25.34.27.2
CLI Parser
Apache 2.0
info.picocli » picocli 4.7.54.7.6

Apache 2.0
io.kotest » kotest-runner-junit5-jvm 5.5.55.9.1

Apache 2.0
io.kotest » kotest-runner-console-jvm5.5.54.1.3.2

Apache 2.0
io.kotest » kotest-assertions-core-jvm 5.5.55.9.1

Apache 2.0
io.kotest » kotest-property-jvm 5.5.55.9.1

MIT
me.tongfei » progressbar 0.9.50.10.1
Bytecode
Apache 2.0
net.bytebuddy » byte-buddy 1.14.121.14.18
Bytecode
Apache 2.0
net.bytebuddy » byte-buddy-agent 1.14.121.14.18

MPL 2.0
net.sf.saxon » Saxon-HE 12.412.5

BSD
net.sourceforge.pmd » pmd-core 7.2.07.3.0

BSD
net.sourceforge.pmd » pmd-ant 7.2.07.3.0

BSD
net.sourceforge.pmd » pmd-test-schema 7.2.07.3.0

BSD
net.sourceforge.pmd » pmd-test 7.2.07.3.0

BSD
net.sourceforge.pmd » pmd-lang-test 7.2.07.3.0
Parser Generator
BSD 3-clause
org.antlr » antlr4-runtime 4.9.34.13.1
Build Tool
Apache 2.0
org.apache.ant » ant 1.10.14
Core Utils
Apache 2.0
org.apache.commons » commons-lang3 3.14.0
String Utils
Apache 2.0
org.apache.commons » commons-text 1.11.01.12.0
JVM Languages
Apache 2.0
org.apache.groovy » groovy 4.0.194.0.22
Defect Detection
MIT
org.checkerframework » checker-qual 2.11.13.45.0
Testing
BSD 3-clause
org.hamcrest » hamcrest 2.2
Defect Detection
Apache 2.0
org.jetbrains » annotations 24.1.0
JVM Languages
Apache 2.0
org.jetbrains.kotlin » kotlin-stdlib 1.7.202.0.0
Lang Runtime
Apache 2.0
org.jetbrains.kotlin » kotlin-stdlib-jdk8 1.7.202.0.0
Reflection
Apache 2.0
org.jetbrains.kotlin » kotlin-reflect 1.7.202.0.0
Testing
Apache 2.0
org.jetbrains.kotlin » kotlin-test-junit 1.7.202.0.0
Testing
EPL 2.0
org.junit.jupiter » junit-jupiter 5.8.25.10.3
Testing
EPL 2.0
org.junit.jupiter » junit-jupiter-api 5.8.25.10.3
Testing
EPL 2.0
org.junit.jupiter » junit-jupiter-engine 5.8.25.10.3

EPL 2.0
org.junit.jupiter » junit-jupiter-migrationsupport 5.8.25.10.3
Testing
EPL 2.0
org.junit.jupiter » junit-jupiter-params 5.8.25.10.3

EPL 2.0
org.junit.platform » junit-platform-suite 1.10.21.10.3

EPL 2.0
org.junit.platform » junit-platform-commons 1.8.21.10.3

EPL 2.0
org.junit.platform » junit-platform-commons 1.8.21.10.3

EPL 2.0
org.junit.platform » junit-platform-console 1.8.21.10.3

EPL 2.0
org.junit.platform » junit-platform-engine 1.8.21.10.3

EPL 2.0
org.junit.platform » junit-platform-jfr 1.8.21.10.3
Testing
EPL 2.0
org.junit.platform » junit-platform-launcher 1.8.21.10.3

EPL 2.0
org.junit.platform » junit-platform-reporting 1.8.21.10.3

EPL 2.0
org.junit.platform » junit-platform-runner 1.8.21.10.3

EPL 2.0
org.junit.platform » junit-platform-suite 1.8.21.10.3

EPL 2.0
org.junit.platform » junit-platform-suite-api 1.8.21.10.3

EPL 2.0
org.junit.platform » junit-platform-suite-commons 1.8.21.10.3

EPL 2.0
org.junit.platform » junit-platform-suite-engine 1.8.21.10.3

EPL 2.0
org.junit.platform » junit-platform-testkit 1.8.21.10.3
Testing
EPL 2.0
org.junit.vintage » junit-vintage-engine 5.8.25.10.3
Mocking
MIT
org.mockito » mockito-core 4.11.05.12.0
Bytecode
BSD 3-clause
org.ow2.asm » asm 9.69.7
Collections
MIT
org.pcollections » pcollections 3.2.04.0.2
Scala Compiler
Apache 2.0
org.scala-lang » scala-reflect 2.13.132.13.14
JVM Languages
Apache 2.0
org.scala-lang » scala-library 2.13.133.4.2
Logging
MIT
org.slf4j » slf4j-api 1.7.362.0.13
Logging
MIT
org.slf4j » slf4j-simple 1.7.362.0.13
Logging Bridge
MIT
org.slf4j » jul-to-slf4j 1.7.362.0.13
YAML
Apache 2.0
org.yaml » snakeyaml 2.2

Developers

NameEmailDev IdRolesOrganization
github contributorsgithubgithub