##### Overview

- Download PMD 5.0.4
- What's new in PMD 5.0.4
- 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
- PMD developers information
- PMD Release Process

##### For example

- Run PMD on a Sourceforge project

##### Misc.

- XPath tutorial (Gregorian)

##### Rule Sets

- ecmascript
  - Basic Ecmascript
  - Braces
  - Unnecessary
- java
  - Android
  - Basic
  - Braces
  - Clone Implementation
  - Code Size
  - Comments
  - Controversial
  - Coupling
  - Design
  - Empty Code
  - Finalizer
  - Import Statements
  - J2EE
  - JavaBeans
  - JUnit
  - Jakarta Commons Logging
  - Java Logging
  - Migration
  - Naming
  - Optimization
  - Strict Exceptions
  - String and StringBuffer
  - Security Code Guidelines
  - Type Resolution
  - Unnecessary
  - Unused Code
- jsp
  - Basic JSF
  - Basic JSP
- xml
  - Basic XML
- xsl
  - XPath in XSL

##### Project Documentation

- Project Information
- Project Reports

## 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 [link broken] - 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 [link broken] OptimalAdvisor from ComponentSource - 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

### Articles

- An introduction to PMD (in French)