摘要
程序分析是主要的程序属性分析方法,在变量依赖关系、路径覆盖率、测试用例约简等方面有广泛的应用,并取得了大量研究成果。目前,程序分析主要以符号执行工具为核心,但是普遍存在路径条件逻辑表达式难以准确生成和约束求解器性能不够高的问题,从而影响程序分析的效果。以提高路径分析精度为目标,首先分析不同执行路径对应的路径条件,并提取公共的符号表达式以提高符号关联分析的精度,然后逆向生成依赖条件逻辑表达式集合,使用依赖关联分析算法以提高路径分析的精度。实验结果表明,所提方法相对于传统的路径分析方法,有更准确的时间复杂度和更高的路径分析精度。
Program analysis is the prime method to program property analysis, which is widely used in the domain of parameter dependent relation, path coverage and test case generation, and a lot of progress has been made. Current program analysis is based on the method of symbolic execution, but symbolic execution is usually tackled with the problems of logic expression generation of path condition and low efficiency of constrain solver, which will affect the results of program analysis. Aiming at enhancing the path analysis efficiency, the path conditions of different paths were collected, the common symbolic expression was extracted and the efficiency of symbolic analysis was enhanced, then the logic expression set was generated, the dependent relation algorithm was used to enhance the efficiency of symbolic analysis. Experimental results demonstrate that the proposed method has the advantages of accurate time complexity and better analysis efficiency compare to traditional program analysis method.
作者
郭曦
王盼
GUO Xi;WANG Pan(College of Informatics,Huazhong Agriculture University,Wuhan 430070,China;Department of Power Engineering,Wuhan Electric Power Technical College,Wuhan 430079,China)
出处
《通信学报》
EI
CSCD
北大核心
2018年第6期81-88,共8页
Journal on Communications
基金
国家自然科学基金资助项目(No.61502194)
中央高校基本科研业务费专项基金资助项目(No.2662018JC028)~~
关键词
程序分析
符号执行
约束求解器
符号分析
program analysis
symbolic execution
constrain solver
symbolic analysis