4

我正在使用 FindBug,我想了解它为文档目的生成的 .XML 报告。

我得到的样本如下。

<BugInstance type="RANGE_ARRAY_INDEX" priority="2" rank="7" abbrev="RANGE" category="CORRECTNESS" first="1">

因此,似乎类别RANGE_ARRAY_INDEX的类型CORRECTNESS具有排名7,因此它是scary一个。那么它总是真实的吗?RANGE_ARRAY_INDEX总是一个吗scary

我找不到任何提及他们之间关系的资源。

我提到了FindBugs Bug Descriptions and FindBugs 2 site这个 SO question 没有明确的答案

看起来我们有几个类别,

  1. 不好的做法
  2. 正确性
  3. 实验性的
  4. 国际化
  5. 恶意代码漏洞
  6. 多线程正确性
  7. 表现
  8. 安全
  9. 狡猾的代码

  • 最可怕的(1-4),
  • 可怕(5-9),
  • 令人不安的(10-14)
  • 关注(排名 15-20)

我们有很多类型,就像文档中一样。

谁可以帮我这个事 ?

4

1 回答 1

5

David Harkness的回答很好地解释了它,部分引用如下。我还检查了SpotBugs 代码。SpotBugs 是FindBugs 的继任者。简而言之:

  • 类型- 这只是找到的 BugPattern 的名称。
  • 类别- 该类别用于对 BugPatterns 进行分组,在 FindBugs 中硬编码。例如,RANGE_ARRAY_INDEX将始终属于该CORRECTNESS类别(由DumbMethods检测器报告)。
  • 排名- 排名是复杂计算的结果,可能会有所不同,并指示发现的错误的严重性。它从 20(最低)到 1(最高)不等,UI 将值分为四类:scariestscarytroublingof concern(Harkness) 因此,某个 NullPointerException 可能会得到 1,而潜在的性能改进可能只会得到 12。
  • 优先级- 也是一个变化的计算值。它表明发现的错误实际上是错误的信心。FindBugs 采用可能出错的启发式方法。它从 1(最高置信度)到 5(最低置信度,可忽略)不等。很长一段时间以来,为了更清楚地说明这一点,优先级已被重新命名为信心。XML 仍然priority出于兼容性原因说。
于 2017-09-19T19:48:10.953 回答