如何优先橘子检查系统

Polyspace代码验证™使用颜色橙色突出自动操作,不能证明是在所有情况下无错。你可以检查潜在的运行时问题可能导致鲁棒性或可靠性问题。

例如,这里有一个数组大小为127,但该指数可以值从0到555不等。这是强调橙色因为操作既不能证明其安全在所有可能的运行时条件下(如果索引值128 ?),也被证明是一个错误,每运行(如果该指数10呢?)。如果你忽视这样一个操作,您可能会得到意想不到的软件故障,通常很难繁殖和调试。因此,它是一个鲁棒性问题。

代码示例

数组的大小127橙色高亮显示。

所以很重要的是要审查橙色的检查。它不仅帮助确定运行时的问题,但它是一个有用的构件代码评审讨论和单元测试工作。了解更多关于理解橙色检查的原因

代码覆盖率条形图

条形图显示的代码被验证。

然而,回顾你的验证结果之前,您应该注意Polyspace仪表板。它提供了有用的信息,以确保您已经配置了适当的分析。它突出了多少代码进行了分析;举个例子,如果你不正确地配置主发电机或多任务选项,你可能最终只分析代码的一小部分。

Polyspace检查分布的仪表板

Polyspace检查分布的仪表板。

此外,看之前检查分布评估橙色。确保先回顾红色和灰色的检查。如果超过10%的检查是橙色的,你应该退后一步,看看验证是否设置正确的上下文。你可以看看上面的来源的检查仪表板(下图所示),你可以点击一个特定的源过滤列表的橙子。这可以帮助解决一个橙色检查集合(例如,您可以查看所有检查是由一个无约束的输入或缺乏验证上下文)。

橙色的柱形图表来源

橙色的条形图。

一旦你看着Polyspace仪表板,这里有几个建议和最佳实践时需要考虑优先级橙色的检查。更多细节请参考以下文档如何过滤关键的橙色检查

  • 的类别之一关键橙色检查属于路径相关的问题可能会导致运行时错误。这些被列为一个黑暗的橙色和用一个标志。解决这些第一次,因为他们是最可能导致软件问题。
  • 回顾暗橙色的检查之后,您应该检查关键的橙色检查是由无约束输入引起的。这些信息还强调了在仪表板中,如下所示。更多信息设置适当的约束,参考文档
限制设置

仪表板显示约束设置。

了解更多关于减少总人数橙色的检查通过后遵守编码指南和其他技巧。