Propriedades de análise

SpotBugs permite a customização de vários aspectos das análises suportadas. As propriedades do sistema são usadas para configurar essas opções. Este capítulo descreve as opções de análise configuráveis.

As opções de análise apresentam dois objetivos principais. Primeiro, as opções de análise permitem que você informe ao SpotBugs sobre o significado dos métodos em sua aplicação, para que ele possa produzir resultados mais precisos ou menos avisos falsos. Segundo, as opções de análise permitem que você configure a precisão da análise realizada. A redução da precisão pode economizar memória e tempo de análise, as custas de perder alguns bugs reais, ou produzir mais avisos falsos.

As opções de análise são definidas usando a opção -property na linha de comando. Por exemplo:

$ spotbugs -textui -property "cfg.noprune=true" myApp.jar

A lista de propriedades de análise configuráveis são mostradas na tabela a seguir:

Nome da propriedade

Valor

Significado

findbugs.assertionmethods

Lista separada por vírgulas dos nomes qualificados dos métodos. Por exemplo, “com.foo.MyClass.checkAssertion”

Esta propriedade especifica os nomes dos métodos que são usados para verificar as asserções do programa. A especificação desses métodos permite que o detector de bug para referência nula evite relatar avisos falsos para valores que são verificados por métodos de asserção.

findbugs.de.comment

verdadeiro (true) ou falso (false)

Se verdadeiro, o detector DroppedException escaneia o código fonte para capturar blocos de comentários vazios e, se for encontrado, o aviso não é reportado.

findbugs.maskedfields.locals

verdadeiro (true) ou falso (false)

Se verdadeiro, emite avisos de baixa prioridade para variáveis locais com campos obscuros. O valor default é falso.

findbugs.nullderef.assumensp

verdadeiro (true) ou falso (false)

Não usado (intenção: se verdadeiro, o detector de referência nula assume que qualquer valor de referência retornado de um método ou passado como parâmetro para um método pode ser nulo. O valor default é falso. Veja que ao habilitar essa propriedade, muitos avisos falsos podem ser gerados.)

findbugs.refcomp.reportAll

verdadeiro (true) ou falso (false)

Se verdadeiro, todas as referências suspeitas usando os operadores == e != para comparações são reportadas. Se falso, apenas um aviso é gerado por método.O valor default é falso”

findbugs.sf.comment

verdadeiro (true) ou falso (false)

Se verdadeiro, o detector SwitchFallthrough apenas reporta avisos para casos onde o código fonte não tem comentários com as palavras “fall” ou “nobreak”. (Um caminho de origem preciso deve ser usado para esse recurso funcionar corretamente.) Isso ajuda a encontrar casos onde a fallthrough não é intencional