PMD escanea el código fuente de Java y busca problemas potenciales como: Posibles errores: declaraciones vacías de try / catch / finally / switch Código muerto: variables locales no utilizadas, parámetros y métodos privados Código subóptimo: uso innecesario de String / StringBuffer Expresiones complicadas: innecesarias si las declaracionespara bucles que podrían ser bucles while Código duplicado: el código copiado / pegado significa errores copiados / pegados
Sitio web:
http://pmd.sourceforge.net/Categorias
Alternativas a Pmd para todas las plataformas con cualquier licencia

21
Codacy
Revisa automáticamente el estilo del código, la seguridad, la duplicación, la complejidad y la cobertura en cada cambio, al tiempo que realiza un seguimiento de la calidad del código a lo largo de sus sprints.
- Freemium
- Web
- Self-Hosted
- Software as a Service (SaaS)

3
FindBugs
FindBugs, un programa que utiliza análisis estático para buscar errores en el código Java
- Gratis
- Windows
- Mac
- Linux
- Java Mobile