Должны ли фильтры Findbugs повысить скорость анализа? - PullRequest
0 голосов
/ 19 февраля 2020

Мне интересно, могут ли фильтры исключения Findbugs помочь сократить время выполнения. Кажется, что независимо от фильтров исключений, все правила и все двоичные файлы анализируются, даже когда они перечислены в исключениях сонара!

Я протестировал поведение фильтров исключений Findbugs в сборке Maven с возможностью отладки, чтобы увидеть, что происходит под капотом.

pom. xml:

<properties>
   <findbugs.maxHeap>20000</findbugs.maxHeap>
   <findbugs.timeout>7200000</findbugs.timeout>
   <findbugs.debug>true</findbugs.debug>
   <findbugs.excludeFilterFile>findbugs_exclude.xml</findbugs.excludeFilterFile>
</properties>

Я подтвердил, что Findbugs читает файл XML. Однако я не уверен, что Findbugs понял содержимое файла XML, поскольку, по-видимому, он не сообщает об ошибках.

findbugs_exclude. xml:

<FindBugsFilter>
    <Match>
       <Class name="~.*?\.webservices\..*" />
    </Match>
</FindBugsFilter>

Вывод из Finbugs:

     [java] Pass 1: Analyzing classes (7 / 9335) - 00% complete      16 usecs/byte     114 msec    6828 bytes  0 pass br/com/cit/caf/quickform/core/presentation/html/util/HTMLFieldGenerator     0 0/2  7/9335 br/com/my-app/webservices/bean/AbcResponse
     [java] Applying edu.umd.cs.findbugs.detect.NoteSuppressedWarnings to br/com/my-app/webservices/bean/AbcResponse
     [java] Applying edu.umd.cs.findbugs.detect.FindBugsSummaryStats to br/com/my-app/webservices/bean/AbcResponse
     [java] Applying edu.umd.cs.findbugs.detect.OverridingEqualsNotSymmetrical to br/com/my-app/webservices/bean/AbcResponse
     [java] Applying edu.umd.cs.findbugs.detect.EqualsOperandShouldHaveClassCompatibleWithThis to br/com/my-app/webservices/bean/AbcResponse
     [java] Applying edu.umd.cs.findbugs.detect.FieldItemSummary to br/com/my-app/webservices/bean/AbcResponse
     [java] Applying edu.umd.cs.findbugs.detect.FunctionsThatMightBeMistakenForProcedures to br/com/my-app/webservices/bean/AbcResponse
     [java] Applying edu.umd.cs.findbugs.detect.NoteAnnotationRetention to br/com/my-app/webservices/bean/AbcResponse
     [java] Applying edu.umd.cs.findbugs.detect.NoteDirectlyRelevantTypeQualifiers to br/com/my-app/webservices/bean/AbcResponse
     [java] Applying edu.umd.cs.findbugs.detect.BuildObligationPolicyDatabase to br/com/my-app/webservices/bean/AbcResponse
     [java] Applying edu.umd.cs.findbugs.detect.NoteJCIPAnnotation to br/com/my-app/webservices/bean/AbcResponse
     [java] Applying edu.umd.cs.findbugs.detect.Methods to br/com/my-app/webservices/bean/AbcResponse
     [java] Applying edu.umd.cs.findbugs.detect.ReflectiveClasses to br/com/my-app/webservices/bean/AbcResponse
     [java] Applying edu.umd.cs.findbugs.detect.CalledMethods to br/com/my-app/webservices/bean/AbcResponse
     [java] Applying edu.umd.cs.findbugs.detect.FindNoSideEffectMethods to br/com/my-app/webservices/bean/AbcResponse
     [java] Applying edu.umd.cs.findbugs.detect.BuildStringPassthruGraph to br/com/my-app/webservices/bean/AbcResponse
     [java] Applying edu.umd.cs.findbugs.detect.NoteCheckReturnValueAnnotations to br/com/my-app/webservices/bean/AbcResponse
     [java] Applying edu.umd.cs.findbugs.detect.ExplicitSerialization to br/com/my-app/webservices/bean/AbcResponse

Это ожидаемый результат? Должен ли Findbugs действительно тратить время на анализ файлов, перечисленных на исключающих фильтрах? О, если Findbugs их пропустят?

Буду признателен за любой совет.

...