gpt4 book ai didi

testing - 为什么动态分析不能覆盖一个程序的所有执行路径?

转载 作者:行者123 更新时间:2023-11-28 21:31:09 25 4
gpt4 key购买 nike

我是程序分析领域的新手,在阅读了该领域的一些资料后,我有一些问题找不到相应的答案..

看,如果我实现一个工具:符号执行+具体执行就像DART

那我觉得应该覆盖所有的执行路径,同时保持动态分析的特性..

有人告诉我动态分析不能覆盖所有的执行路径,但基本上是为什么?我认为像 DART 这样的技术现在已经很成熟了......

其他的,比如模型检查,理论上可以保证 100% 的代码覆盖率……我说的对吗?

谁能帮帮我?谢谢!

最佳答案

通过一段代码的路径数量与“if”语句的数量成指数关系。例如,如果您有这样一段代码:

if (a) {
// do something
}
if (b) {
// do something
}
...
if (z) {
// do something
}

然后有 67108864 种可能的代码路径,具体取决于 26 个 bool 变量的值。

关于testing - 为什么动态分析不能覆盖一个程序的所有执行路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22059433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com