- 4
- 0
- 约1.06千字
- 约 2页
- 2023-09-10 发布于上海
- 举报
基于符号执行生成测试数据的过程优化的中期报告
介绍
符号执行是一种静态分析技术,它在不执行代码的情况下分析程序对所有执行路径的覆盖情况。因此,符号执行技术可以用于自动生成测试数据以达到对程序进行全面检测的目的。
在符号执行中,程序的输入不再是实际的值,而是代表该值的符号。执行过程中将遇到每个条件语句,符号执行引擎将创建两条执行路径,分别为“真”分支和“假”分支。这样,符号执行引擎将为每个输入变量和路径条件计算解,并生成一组测试输入,以发现程序中的错误。
然而,符号执行技术存在着路径爆炸和路径合并等问题,由此导致的计算开销和内存消耗可能会阻碍符号执行的应用。因此,需要对符号执行进行优化,以便在程序规模更大的情况下,仍可以高效地生成测试用例。
问题描述
符号执行技术应用范围很广,但也存在着以下问题:
1.路径爆炸:在复杂程序中,执行路径的数量可能会非常大。这会导致符号执行引擎需要处理大量的路径,导致计算机的内存和CPU资源消耗过多。
2.路径合并:符号执行技术会为每个条件语句创建两个路径。在处理大量路径时,符号执行引擎会尝试合并路径。过多的路径合并可能会导致符号执行结果不准确。
3.路径选择问题:在符号执行过程中,程序的每个路径都需要处理,但某些路径可能没有必要,因为它们永远都不会被程序执行到。如何正确选择路径以提高符号执行效率是一个挑战。
解决方案
为解决这些问题,需要进行符号执行技
原创力文档

文档评论(0)