FindBugs, como o próprio nome diz, é um programa que encontra bugs em programas Java. Ele é baseado no conceito de padrões de bug.
Um padrão de bug é um código que frequentemente é um erro. Padrões de bug surgem por uma variedade de razões:
- Funcionalidades complexas da linguagem
- Métodos de API mal compreendidos
- Variações equivocadas quando o código é modificado durante a manutenção
- Equívocos comuns: erros de digitação, uso do operador booleano errado etc
O FindBugs utiliza análise estática para inspecionar o bytecode de Java em busca destes padrões. Análise estática significa que a ferramenta consegue encontrar bugs simplesmente inspecionando o código do programa sem precisar executá-lo.
Esta funcionalidade permite que o FindBugs possa ser utilizado por qualquer um, em questão de minutos. Não é necessário nem mesmo ter acesso ao código fonte do programa, uma vez que a análise é concentrada nos arquivos de classe compilados.
O FindBugs também oferece suporte a uma arquitetura de plugin que permite a adição de novos detectores de bugs criados por sua comunidade de usuários.
A ferramenta foi escrita em Java e pode ser executada com qualquer máquina virtual compatível com o JDK 1.5. O FindBugs consegue analisar programas escritos em qualquer versão do Java.