多空间是确定性的吗?
Is polyspace deterministic?
我们用 polyspace 分析我们的代码,我们感觉 polyspace 不是完全确定的。
我们发现我们代码中的一些 errors/violations 没有出现在一份报告中,但它们出现在下一份报告中,而没有实际更改受影响的代码。
的确,从一份报告到另一份报告,代码发生了变化,但这通常只是添加注释并更改受影响代码中的少数例程。
然而,在这一点上,我们不能保证我们没有在其他地方改变可能影响的东西,尽管这似乎不是原因。
我想知道你在使用polyspace时是否有过这种感觉,也想知道polyspace是否会一次发现错误,下次就跳过错误,反之亦然。
我做了一些研究和阅读。您可以在此处找到有关 PolySpace 的白皮书:http://subs.emis.de/LNI/Proceedings/Proceedings110/gi-proc-110-048.pdf
明确指出:
PolySpace Verifier, as an exhaustive approach,issues checks to prove
the result of each and every operation in the source code considering
the variation domain for the variables involved in the respective
operation
基本上,这意味着您对其余代码的更改似乎不会影响特定范围,但实际上确实如此。
编辑:我天真地倾向于认为静态代码分析工具是确定性的,但正如评论中指出的那样:一些 randomness/caching 可以用来降低复杂性。即使很难,这也不意味着该工具会随机找到 errors/warnings
我们用 polyspace 分析我们的代码,我们感觉 polyspace 不是完全确定的。
我们发现我们代码中的一些 errors/violations 没有出现在一份报告中,但它们出现在下一份报告中,而没有实际更改受影响的代码。
的确,从一份报告到另一份报告,代码发生了变化,但这通常只是添加注释并更改受影响代码中的少数例程。
然而,在这一点上,我们不能保证我们没有在其他地方改变可能影响的东西,尽管这似乎不是原因。
我想知道你在使用polyspace时是否有过这种感觉,也想知道polyspace是否会一次发现错误,下次就跳过错误,反之亦然。
我做了一些研究和阅读。您可以在此处找到有关 PolySpace 的白皮书:http://subs.emis.de/LNI/Proceedings/Proceedings110/gi-proc-110-048.pdf 明确指出:
PolySpace Verifier, as an exhaustive approach,issues checks to prove the result of each and every operation in the source code considering the variation domain for the variables involved in the respective operation
基本上,这意味着您对其余代码的更改似乎不会影响特定范围,但实际上确实如此。
编辑:我天真地倾向于认为静态代码分析工具是确定性的,但正如评论中指出的那样:一些 randomness/caching 可以用来降低复杂性。即使很难,这也不意味着该工具会随机找到 errors/warnings