Sourcify
Effortlessly find and manage open-source dependencies for your projects.

An extensible cross-language static code analyzer that finds common programming flaws.

PMD is an open-source, multi-language static code analyzer designed to identify common programming flaws such as unused variables, empty catch blocks, and unnecessary object creation. It supports a wide range of languages, including Java, Apex, JavaScript, Kotlin, Swift, and others. PMD parses source code into abstract syntax trees (AST) using JavaCC and Antlr, then applies rules against these ASTs to detect violations. Rules can be defined in Java or using XPath queries, offering flexibility in customizing code analysis. It integrates into build processes as a Maven goal, Ant task, Gradle task, or via command-line execution. Additionally, PMD includes CPD, a copy-paste-detector that finds duplicated code across various programming languages, enhancing code maintainability and reducing redundancy.
PMD is an open-source, multi-language static code analyzer designed to identify common programming flaws such as unused variables, empty catch blocks, and unnecessary object creation.
Explore all tools that specialize in enforce coding standards. This domain focus ensures PMD delivers optimized results for this specific requirement.
Explore all tools that specialize in code duplication detection. This domain focus ensures PMD delivers optimized results for this specific requirement.
Allows developers to define custom rules using Java or XPath queries, enabling tailored code analysis.
Identifies duplicated code blocks across multiple languages, aiding in refactoring and code consolidation.
Seamless integration with Maven, Ant, and Gradle, allowing automated code analysis as part of the build process.
PMD supports a wide range of programming languages, providing a unified code analysis solution for diverse projects.
PMD's modular design allows for easy extension with custom rules, metrics, and report formats.
PMD supports incremental analysis, which analyzes only the files that have changed since the last analysis, significantly reducing analysis time.
Download the latest PMD distribution.
Extract the archive to a directory of your choice.
Set the PMD_HOME environment variable to the extracted directory.
Add the PMD bin directory to your system's PATH.
Create a ruleset XML file specifying the rules to apply.
Run PMD from the command line, specifying the source directory and ruleset file.
Review the generated report to identify code violations.
All Set
Ready to go
Verified feedback from other users.
"Highly regarded for its comprehensive code analysis and customization options."
Post questions, share tips, and help other users.
Effortlessly find and manage open-source dependencies for your projects.

End-to-end typesafe APIs made easy.

Page speed monitoring with Lighthouse, focusing on user experience metrics and data visualization.

Topcoder is a pioneer in crowdsourcing, connecting businesses with a global talent network to solve technical challenges.

Explore millions of Discord Bots and Discord Apps.

Build internal tools 10x faster with an open-source low-code platform.

Open-source RAG evaluation tool for assessing accuracy, context quality, and latency of RAG systems.

AI-powered synthetic data generation for software and AI development, ensuring compliance and accelerating engineering velocity.