0

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

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

那么我认为它应该涵盖所有执行路径,同时保持动态分析功能..

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

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

谁能给我一些帮助?谢谢!

4

1 回答 1

1

通过一段代码的路径数量是“if”语句数量的指数。例如,如果你有这样一段代码:

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

那么有 67108864 个可能的代码路径,具体取决于 26 个布尔变量的值。

于 2014-02-27T05:27:06.230 回答