当我经历结肠测试的概念时,我遇到了"具体和象征性执行"这个术语。(那里提到的文章,"CUTE:C 的 concolic 单元测试引擎",在其摘要部分使用了该术语。
"所使用的方法建立在以前结合符号和具体执行的工作之上,更具体地说,使用这种组合来生成测试输入以探索所有可行的执行路径。
谁能确认一下"具体执行"是什么意思?尽管我进行了搜索,但我找不到任何直接引用/明确陈述。
根据我的理解,"具体执行"意味着"与符号执行不同,具有实际输入值的程序的执行,符号执行假定变量,输入等的符号值"。如果我错了,请纠正我(如果可能的话,举一个小例子)。
Concolic 执行是 CONCrete 执行和符号执行之间的混合,目的是为了可行性。
符号执行允许我们通过所有可能的执行路径执行程序,从而实现所有可能的路径条件(路径条件 = 将我们带到执行中特定点的逻辑约束集)。问题在于,除了微基准测试之外,通过所有可能的执行路径执行程序的成本呈指数级增长,因此令人望而却步。
另一方面,如果我们为符号执行提供具体值,您可以引导它通过特定的执行路径(无需遍历所有执行路径)并实现相应的路径条件。这是可行的。
我希望这能回答你的问题
在您提到的上下文中,我很确定"具体执行"是指在特定输入上实际运行程序并查看会发生什么。您链接到的"concolic testing"文章提出了一种混合方法,即在特定输入(具体执行,完整但不合理)和符号测试(符号执行,听起来但不完整)之间进行测试。
希望这有帮助!