【问题标题】:Findbugs XML report missing rankFindbugs XML 报告缺少排名
【发布时间】:2014-02-14 10:32:22
【问题描述】:

FindBugs 发现的所有错误都被赋予一个错误等级,但错误等级不会出现在 FindBugs 的 XML 报告输出中。

来自 FindBugs 文档:

Bug Rank - Bug 被赋予 1-20 的等级,并分为 scariest(等级 1-4)、可怕(等级 5-9)、 麻烦(排名 10-14)和关注(排名 15-20)。

优先级重命名为信心 - 许多人对 FindBugs 报告的优先级感到困惑,并认为所有高优先级问题都很重要。为了反映问题的这个属性的实际含义,它被重新命名为信心。不同 bug 模式的问题应该通过它们的等级来比较,而不是它们的置信度。

我已经通过 GUI 和 ant 任务运行 Findbugs(Windows 上的 v2.0.3)

<findbugs home="${findbugs.home}" output="xml"
  outputFile="${report.dir}/findbugs/findbugs-report.xml" jvmargs="-Xmx512M">
   <auxClasspath>
      <fileset dir="${lib.dir}/dist" includes="*.jar"/>
   </auxClasspath>
   <sourcePath path="${src.dir}"/>
   <class location="${dist.dir}/mylibrary.jar"/>
</findbugs>

在 GUI 中,我通过“文件 → 另存为 → FindBugs 分析结果 (*xml)”输出 XML。

在这两种情况下,具有相同 Findbugs 错误实例的 XML 输出都很好。

但是,在这两种情况下,&lt;BugInstance&gt; 元素都不包含rank 属性的值。例如我他们是这样的:

<BugInstance type="DM_DEFAULT_ENCODING" priority="1" abbrev="Dm" category="I18N">
...
</BugInstance>
  1. 有谁知道&lt;BugInstance&gt; 元素是否应该包含rank 属性的值?

  2. 如果他们应该这样做,有谁知道如何从 GUI 或 ant 任务中获取 XML 中的排名?

我查看了 Findbugs 安装文件夹中的 bugcollection.xsd 文件,其中列出了

<xs:attribute name="rank" type="xs:unsignedInt" use="optional"/>

暗示该排名可能出现在 XML 报告中。

我在 Google 上搜索过相关主题,大多数页面都提到了过滤器,但我不想过滤错误实例,只是输出所有错误实例及其排名值 - 除非我不明白什么过滤器可以。

非常感谢您的建议。

【问题讨论】:

  • 好问题。错误等级应该在那里,因为您可以在 Eclipse 中看到它。

标签: xml ant report findbugs


【解决方案1】:

在 findbugs 源文件的 etc 目录中有一个 txt 文件。 它定义了类别的等级或一些特殊的错误模式。 喜欢:

+1 BugKind RCN
+1 BugKind NP
-2 BugKind XSS
+5 Category CORRECTNESS
+5 Category SECURITY
+12 Category MT_CORRECTNESS

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-26
    • 2019-05-18
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 2019-06-08
    • 2023-03-05
    • 1970-01-01
    相关资源
    最近更新 更多