Usando a interface do SpotBugs

Este capítulo descreve como usar a interface gráfica do SpotBugs (GUI).

Criação de um projeto

Após a inicialização do SpotBugs usando o comando spotbugs, escolha o item File New Project no menu. Você verá uma caixa de diálogo parecida com a seguinte:

_images/project-dialog.png

Use o botão “Add” próximo ao “Classpath to analyze” para selecionar um arquivo Java (zip, jar, ear, or war file) ou diretório contendo classes Java a serem analisadas. Você pode adicionar múltiplos arquivos e diretórios.

Você também pode adicionar os diretórios que contém o código dos arquivos Java que deseja analisar. Isso permitirá que o SpotBugs destaque o código que possui um possível erro. Os diretórios que você adicionar devem ser diretórios raiz na hierarquia de pacotes Java. Por exemplo, se sua aplicação está contida no pacote org.foobar.myapp, você deve adicionar o diretório pai do diretório org para que o projeto seja listado.

outro passo adicional é a adição de arquivos Jar ou diretórios como entrada em “Auxiliary classpath locations”. Você deve fazer isso se os arquivos ou diretórios que deseja analisar possuem referências para outras classes que não estão inclusas nos arquivos/diretórios e não estão inclusas no classpath padrão. Alguns dos detectores de padrões de bug no FindBugs usam informações da hierarquia de classes, então você pode obter resultados mais precisos se a hierarquia de classes está disponível.

Execução da análise

Uma vez que você adicionou todos os arquivos e diretórios clique no botão “Analyze” para executar a análise classes contidas nos arquivos Jar. Observe que para um programa muito grande, em um computador antigo, a análise pode demorar bastante. Um computador mais atual, com bastante memória, é capaz de analisar um programa muito grande em poucos minutos.

Visualização dos resultados

Quando a análise terminar, você verá uma tela como a seguir:

_images/example-details.png

O painel superior esquerdo da janela mostra a árvore de bug; esta é uma representação hierárquica de todos os possíveis bugs detectados nos arquivos Jar analisados

Ao selecionar uma determinada instância de bug no painel superior, você verá uma descrição do bug na guia “Detais” no painel inferior. Além disso, o painel de código-fonte no canto superior direito mostrará o programa código-fonte onde ocorre o possível bug, se a fonte estiver disponível. No exemplo acima, o bug é um objeto de fluxo que não é fechado. A janela do código-fonte destaca a linha onde o objeto de fluxo é criado.

Você pode adicionar anotações textuais às instâncias do bug. Para fazer isso, digite-as na caixa de texto logo abaixo da visualização hierárquica. Você pode digitar qualquer informação que gostaria de registrar. Quando você carrega e salva os arquivos de resultados do bug, as anotações são preservadas.

Salvando e abrindo os arquivos

Você pode usar a opção do menu File Save as... para salvar seu trabalho. Para salvar seu trabalho, incluindo as listas de arquivos jar e todos os resultados de bugs, escolha “FindBugs analysis results (.xml)” no menu drop-down no diálogo “Save as…”. Há outras opções para salvar apenas as listas de arquivos Jar (“FindBugs project file (.fbp)”) ou apenas os resultados (“FindBugs analysis file (.fba)”). um arquivo salvo pode ser aberto na opção do menu File Open....