📜  符号执行

📅  最后修改于: 2020-12-04 06:40:44             🧑  作者: Mango


什么是符号执行?

符号执行是一种软件测试技术,可用于帮助生成测试数据并证明程序质量。

使用符号执行的步骤:

  • 执行需要选择一组数据值所使用的路径。使用实际数据执行的程序将导致一系列值的输出。

  • 在符号执行中,数据由具有一组表达式的符号值替换,每个输出变量一个表达式。

  • 符号执行的常见方法是执行程序分析,从而创建流程图。

  • 该流程图标识了决策点和与每个流程关联的分配。通过从入口点遍历流程图,将生成分配语句和分支谓词的列表。

符号执行的问题:

  • 如果知道循环中的迭代次数,则无法执行符号执行。

  • 第二个问题是调用任何脱机代码或模块调用。

  • 符号执行不能与数组一起使用。

  • 符号执行无法识别不可行的路径。

符号执行应用程序:

  • 路径域检查

  • 测试数据生成

  • 分区分析

  • 符号调试