《符号执行研究综述》论文阅读

读一下《符号执行研究综述》论文~
符号执行是重要的程序分析方法,为程序测试提供高覆盖率的测试用例,以触发深层的程序错误。

定义

符号执行作为一种重要的形式化方法和软件分析技术,采用抽象符号代替程序变量,程序计算的输出被表示为输入符号值的函数,根据程序的语义,遍历程序的执行空间。

历史

  • 1975,King首次提出符号执行的思想,应用于程序分析。
  • 经历过短暂的研究高潮后,符号执行的研究就陷入了低谷。
  • 十几年间,传统符号执行——>动态符号执行——>选择性符号执行
  • 动态符号执行:(1)混合测试;(2)执行生成测试
  • 符号执行的优势:尽可能少的测试用例集达到高测试覆盖率,从而挖掘出复杂软件程序的深层错误。
  • 符号执行的限制:路径爆炸问题、约束求解困难集内存建模。

各类符号执行介绍

经典符合执行

  • 经典符号执行的核心思想是通过使用符号值来代替具体值作为程序输入,并用符号表达式来表示与符号值相关的程序变量的值。
  • 经典符号执行并不真实地执行,而是基于解析程序,通过符号值模拟执行。
  • 经典符合执行是一种静态符号执行。
  • 经典符号执行原理上是可对程序路径进行全覆盖的,可针对每一路径都生成符合该路径的测试用例。

动态符号执行

  • 动态符号执行结合使用了具体执行符号执行,综合了具体执行和经典符号执行的优点,并出现了混合执行(concolic execution)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值