Indicações para ferramentas como FindBugs e similares

Fala galera, esses dias estava com alguns problemas de memória em uma App e estava fazendo uma espécie de acompanhamento na base do olhômetro em um profile e no código, até que um amigo meu me falou do FindBug que faz uma análise do código, só que ele só tinha informações por altos.

Alguém aqui já usou FindBug (ou indica algum similar)? Ele faz realmente esse tipo de scan no código, tipo verificar pontos de performance e mal uso da memória, etc…?

Valew galera…

O FindBugs é uma coleção de regras que foram criadas através da análise estática (ou seja, você não precisa rodar seu programa - só precisa compilar sem erros) de vários programas que tinham vários problemas diferentes.

Portanto, ele ajuda você a detectar vários problemas comuns que se enquadram nessas regras.

Mas ele não vai resolver TODOS OS ERROS, e muitas vezes vai dar “falsos positivos” (ou seja, é uma coisa que parece ser um problema, mas na verdade não é).

Um exemplo clássico é o de usar concatenação de strings, em vez de StringBuilder ou StringBuffer. Isso é uma das coisas que ele reclama.

Outra coisa é usar algo que, só de fazer uma análise de fluxo, vai provocar um NullPointerException.

Oi adriano!

Acho que vale a pena dar uma olhada no Sonar (http://www.sonarsource.org/). Ele tem o FindBug embutido, é mais completo.