多元空间是确定性的吗?

时间:2018-11-13 08:52:19

标签: c static-analysis

我们让Polyspace分析了我们的代码,并感到Polyspace并不是完全确定的。

我们发现,我们的代码中的某些错误/违规行为未出现在一个报告中,而是在下一个报告中出现,而没有实际更改受影响的代码。

的确,从一个报告到另一个报告,代码已更改,但这通常只是在受影响的代码中添加注释并更改了少数例程。

但是,尽管这似乎不是原因,但是在这一点上,我们不能保证不会在其他可能会影响的地方进行更改。

我想知道您在使用polyspace时是否有这种感觉,并想知道polyspace是否可能一次发现一些错误,下次再跳过,反之亦然。

1 个答案:

答案 0 :(得分:2)

我做了一些研究和阅读。您可以在以下位置找到有关PolySpace的白皮书:http://subs.emis.de/LNI/Proceedings/Proceedings110/gi-proc-110-048.pdf 明确指出:

  

PolySpace Verifier作为一种详尽的方法,进行检查以证明   考虑到源代码中每个操作的结果   各个变量所涉及的变量的变化域   操作

基本上,这意味着您对其余代码的更改似乎不会影响特定范围,但确实会影响。

编辑:我会天真地认为静态代码分析工具是确定性的,但是正如注释中指出的那样:可以使用一些随机性/缓存来降低复杂性。即使艰难,这也不意味着该工具会随机发现错误/警告