##### Overview

- Download PMD 4.2.5
- What's new in PMD 4.2.5
- PMD in the news
- PMD-related products and books
- Best practices
- Future directions
- Similar projects
- Credits
- License
- What does 'PMD' mean?

##### Usage

- Installation
- Command line usage
- Ant task usage
- Maven plugin usage
- Mvn plugin usage
- IDE plugin usage
- Suppressing warnings
- Finding duplicated code
- JSP support

##### Customizing PMD

- Compiling PMD
- How to write a rule
- Writing XPath rules
- How to make a rule set
- How it works
- Rule guidelines

##### For example

- Run PMD on a Sourceforge project

##### Rule Sets

- Index
- Android
- Basic
- Braces
- Code Size
- Clone
- Controversial
- Coupling
- Design
- Finalizers
- Import Statements
- J2EE
- Javabeans
- JUnit Tests
- Logging (Java)
- Logging (Jakarta)
- Migrating
- Naming
- Optimizations
- Strict Exceptions
- Strings
- Sun Security
- Unused Code
- Java Server Pages
- Java Server Faces

##### Project Documentation

- About
- Project Info
- Project Reports
- Development Process

##### Legend

- External Link
- Opens in a new window

## Products/books related to PMD

### Open source products

- Glean - Aggregates PMD + numerous other source code feedback tools
- QALab - Aggregates PMD + Checkstyle + FindBugs and tracks problems over time
- XRadar - Using PMD, CPD, and lots of other projects to give measurements on standard software metrics such as package metrics and dependencies, code size and complexity, code duplications, coding violations and code-style violations.

### Commercial products

- Vanward Technology's Convergence - a quality management dashboard for the Java platform. Thanks to Vanward Technologies for their support of PMD by buying copies of PMD Applied!
- Compuware's OptimalAdvisor - static code analysis and refactoring tool

### Books that mention PMD

- PMD Applied - the official manual; get an extra copy for the home! Or office! Whatever!
- Checking Java Programs - by Ian Darwin; also discusses FindBugs.
- Sustainable Software Development: An Agile Perspective - by Kevin Tate, discusses both PMD and CPD
- High-Assurance Design: Architecting Secure and Reliable Enterprise Applications - by Cliff Berg, mentions PMD in a discussion of static analysis utilities
- Eclipse Distilled - by David Carlson, discusses the PMD plugin
- Maven: A Developer's Notebook, co-authored by Vincent Massol, who's done a bunch of work on PMD. Thanks Vincent!
- Network Security Tools, chapter 6 discusses using PMD to catch web app security problems. Thanks to Joseph Hemler for the props!
- Extreme Programming With Ant