主要内容

本页翻译不是最新的。点击此处可查看最新英文版本。

精度等级 (-O0 | -O1 | -O2 | -O3)

指定用于验证的精度等级

描述

此选项仅影响 Code Prover 分析。

指定验证必须使用的精度等级。

设置选项

用户界面(仅限桌面端产品):在您的工程配置中,此选项位于精度节点上。

用户界面(仅限 Polyspace 平台、桌面端产品):在您的工程配置中,此选项位于运行时错误 > 精确度节点的静态分析选项卡上。

命令行和选项文件:请使用 -O# 选项,例如 -O0-O1。请参阅命令行信息

为何使用此选项

使用的精度越高得到的经证明结果也会越多,但也需要更多的验证时间。每个精度等级对应于用于验证的不同算法。

在大多数情况下,采用等级 2 可以在精度与验证时间之间实现最佳平衡。

设置

默认值:2

0

此选项对应于静态区间验证。

1

此选项对应于更复杂的静态区间验证。

2

此选项对应于域值的复杂多面体模型,根据提高过程间分析的精度 (-path-sensitivity-delta) 选项的不同,使用增加的精度进行过程间分析。

3

此选项仅适用于少于 1000 行的代码。使用此选项时,经证明的结果所占百分比可能非常高。

提示

  • 要在合理的时间内获得最佳结果,请使用默认等级 2。如果验证需要花费很长的时间,请降低精度。不过,这样可能会导致未经证明的检查数增加。类似地,要减少橙色检查,您可以提高精度。但是,验证花费的时间可能会明显增加。

  • 精度等级 2 及更低等级仅对高于软件安全分析等级 0 的验证等级有效。另请参阅验证等级 (-to)

    例如,为减少分析时间,您可能已将验证等级降低到软件安全分析等级 0。请不要尝试将精度等级降低到 2 以下来进一步减少分析时间。

    请注意,精度等级 3 中使用的算法也应用于验证等级软件安全分析等级 0

命令行信息

参数: -O0 | -O1 | -O2 | -O3
默认值:-O2
示例 (Code Prover):polyspace-code-prover -sources file_name -O1
示例 (Code Prover Server):polyspace-code-prover-server -sources file_name -O1