期刊文献+

基于依赖条件重构的程序符号值分析方法 被引量:1

Program Symbol Value Analysis Based on Dependent Condition Reconstruction
下载PDF
导出
摘要 符号执行在路径分析、调试和验证等软件分析过程中发挥着重要的作用.但是随着程序规模的增大,有效的执行路径数量程指数级增长,符号执行技术往往难以有较好的分析效果.符号执行分析中的两个瓶颈问题是路径条件表达式的提取和约束求解.状态合并是目前解决状态爆炸的常用分析方法,但是这种抽象的分析方法往往会导致错误的路径信息.依据符号执行引擎采用的搜索策略,符号执行工具在符号变量状态合并中可能会产生不可解的路径条件.提出基于依赖条件重构的程序符号值分析方法,通过综合分析各路径的路径条件逻辑表达式,提取共享的变量符号值从而提高变量状态合并的效率,同时采用逆向关联分析方法产生依赖条件集合从而提高路径分析的精度.实验结果表明该方法相对于传统的状态合并分析方法有更高的执行效率及分析精度. Symbolic execution is of vital importance for software engineering activities,such as path exploration,debugging and verification.However,symbolic execution techniques do not scale well for complicated realistic programs,because the number of feasible executions paths increases exponentially.Path condition expression extracting and constraint solving are the bottlenecks of symbolic execution.State merging is a common method to tackle the problem of state explosion,but this abstract procedure would be prone to incorrect path information.According to different searching strategy of symbolic engine,symbolic execution tools could generate unsolved path conditions during the process of symbolic variable state combination.A symbol value analysis based on dependent condition reconstruction method is proposed,which analysize the logic path conditions and extracts the common variable symbols to enhance the combination efficiency.Meanwhile,the backward analysis method is used to generate dependent condition set to improve the accuracy of path analysis.The experimental results demonstrate that it has better execution efficiency and accuracy compare to the tradition state combination methods.
作者 郭曦 王盼 GUO Xi;WANG Pan(College of Informatics,Huazhong Agriculture University,Wuhan,Hubei 430070,China;Department of Power Engineering,Wuhan Electric Power Technical College,Wuhan,Hubei 430079,China)
出处 《电子学报》 EI CAS CSCD 北大核心 2019年第3期630-635,共6页 Acta Electronica Sinica
基金 国家自然科学基金(No.61502194) 中央高校基本科研业务费专项基金(No.2662018JC028)
关键词 程序分析 符号执行 关联依赖 约束求解 program analysis symbolic execution related dependency constrain solving
  • 相关文献

参考文献4

二级参考文献38

  • 1刘杰,徐伟俊,夏宇闻,秦冀龙.设计验证中的随机约束[J].中国集成电路,2006,15(11):28-31. 被引量:5
  • 2Arlt S, Sch F M. Joogie: Infeasible code detection for JavaE A1. Proceedings of CAV' 12 [ C]. Berlin: Springer, 2012. 767 - 773. 被引量:1
  • 3Ding Sun,Zhang Hongyu, Tan H B K. Detection of infeasible paths:Approaches and challenges[ A]. Proceedings of the 7th International Conference on Evaluation of Novel Approaches to Software Engineering[ C ]. Berlin: Springer, 2013.64 - 78. 被引量:1
  • 4Gong Dun Wei, Yao Xiang Juan.Automatic detection of infea- sible paths in software testing[ J]. IET Software, 2010, 4(5) : 361 - 370. 被引量:1
  • 5Zhuang Xiao Tong, Zhang Tao,Pande S. Using branch correla- tion to identify infeasible paths for anomaly detection[ A]. Pro- ceedings of the 39th Annual IEF.E/ACM Intemational Sympo- sium on Microarchitecture[ C ]. Washington, DC: IEEE Comput- er Society,2006. 113- 122. 被引量:1
  • 6Suhendra V, Milra T, Roychoudhury A, et al. Efficient detection and exploitation of infeasible paths for software timing analysis [ A] .Proceedings of the 43rd Annual Design Automation Con- ference[ C]. New York: ACM, 2006. 358 - 363. 被引量:1
  • 7Delahaye M, Botella B, Gotlieb A. Explanation-based general- ization of infeasible path[ A ]. Proceedings of the 3th Interna- tional Conference on Software Testing, Verification and Valida- tion[ C]. Los Alamitos: IEEE, 2010.215 - 224. 被引量:1
  • 8Jaffar J,Murali V,Navas J,et al. TRACER:A symbolic execu- tion tool for verification[ A ]. Proceedings of CAV' 12[ C ]. Berlin: Springer, 2012.758 - 766. 被引量:1
  • 9Tomb A, Flanagan C. Detecting inconsistencies via universal reachability Analysis [ A ]. Proceedings of ISSTA' 12 [ C ]. New York. ACM,2012.287 - 297. 被引量:1
  • 10Hermadi I, Lokan C, Sarker R. Dynamic stopping criteria for search-based test data generation for path testing[ J]. Informa- tion and Software Technology ,2014,56(4) :395 - 407. 被引量:1

共引文献16

同被引文献5

引证文献1

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部