【程序分析】符号执行

符号执行入门

参考:https://zhuanlan.zhihu.com/p/26927127

给定一个结果,求解对应的程序输入。

经典符号执行与动态符号执行

参考:https://p1kk.github.io/2021/04/04/others/%E7%AC%A6%E5%8F%B7%E6%89%A7%E8%A1%8C&%E6%B1%A1%E7%82%B9%E5%88%86%E6%9E%90/

经典符号执行使用符号值作为程序输入,并用符号表达式来表示相关的程序变量的值。

动态符号执行(concrete and symbolic, concolic):以具体数值作为输入,来模拟执行程序代码。
符号执行在发展过程中出现了一种叫做动态符号执行的方法。
与传统静态符号执行相比,其输入值的表示形式不同。
动态符号执行的优点是:模拟执行过程中所有的变量都为具体值,而不必使用复杂的数据结构来表达符号值,可以减少模拟执行的花销。

你可能感兴趣的:(程序分析,程序分析,符号执行)