计算机科学 ›› 2012, Vol. 39 ›› Issue (9): 115-119.

• 软件工程 • 上一篇    下一篇

基于分支混淆算法的符号执行技术

过辰楷,姬秀娟,许静   

  1. (南开大学信息技术科学学院 天津300071);(南京大学计算机软件新技术国家重点实验室 南京210093)
  • 出版日期:2018-11-16 发布日期:2018-11-16

Symbolic Execution Based on Branch Confusion Algorithm

  • Online:2018-11-16 Published:2018-11-16

摘要: 符号执行是静态分析中的一项常用技术,数组元素混淆问题是限制符号执行本身性能的关键因素之一。通 过分析数组混淆实质,提出了一种分支混淆算法,利用边混淆边符号执行的策略,可以处理较为复杂的数组问题。该 策略使用实时的约束求解,及时地剪除不可达的混淆分支。结合符号执行和约束求解技术,开发了基于分支混淆算法 的工具原型ASym。初步实验表明,利用分支混淆算法可以处理具有分支结构的数组混淆问题,避免延迟替换出现的 数组语义误差,且在很大程度上缩减了分支数量,提高执行效率。

关键词: 符号执行,软件测试,数组混淆,约束求解

Abstract: Symbolic execution is a common static analysis technology. Issue of array element confusion is one of the key factors limiting symbolic execution performance itself. hhrough analysis to array confusion essence, branch confusion al- gorithm was proposed. With the strategy that manages confusion algorithm and symbolic execution in the same time, some complex array problems were solved. Using the real time method of constraint solving, infcasible confusion bran- ches were cut in time. Combining with symbolic execution and constraint solving, the prototypical tool ASym was devc loped,which was based on improved confusion algorithm. Primary experiments show that it can solve the confusion problem in branch structure and avoid array semantic error in delay replacement. Mcanwhile,extensional branches arc dramatically reduced and efficiency is improved.

Key words: Symbolic execution,Software testing,Array confusion,Constraint solving

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!