PMD prehľadáva zdrojový kód Java a hľadá potenciálne problémy, ako napríklad: Možné chyby - prázdne príkazy try / catch / konečne / prepínač Mŕtvy kód - nepoužité miestne premenné, parametre a súkromné metódy Suboptimálny kód - zbytočné použitie reťazca / StringBuffer Príliš komplikované výrazy - nepotrebné, ak sú príkazy,pre slučky, ktoré môžu byť počas slučiek Duplikátny kód - skopírovaný / vložený kód znamená skopírované / prilepené chyby