Я использовал все эти инструменты в течение многих лет, и я бы порекомендовал их все!
Checkstyle, Findbugs и PMD очень хорошо интегрируются с сонаром, все три позволяют создавать пользовательские проверки, и все три позволяют использовать эти пользовательские проверки в сонаре.
PMD, вероятно, облегчает создание новых проверок, но оно также немного ограничено по сравнению с другими. Findbugs нужны файлы .class, но, поскольку все это обычно интегрируется в некую форму автоматизированного процесса сборки, это не проблема. Checkstyle - инструмент, который я использую наиболее интенсивно, потому что он легкий и мощный.
У каждого из инструментов есть некоторые проверки, которых нет у других. Особенно в Findbugs есть довольно сложные проверки, которые несколько раз меня удивили. Комбинируя преимущества всех трех инструментов сонара, вы можете создать мощную систему статического анализа кода, которая действительно поможет вашей команде разработчиков.