摘要
程序的静态分析是程序语言和编译领域的一个重要研究方向,已经被研究了很多年.近年来,它也引起形式方法和软件工程领域的重视,被用于程序测试和正确性验证.文中从程序的语法特征、所关心的数据类型和程序性质等方面比较了一些静态分析技术.着重描述基于路径的分析方法,特别是符号执行技术,讨论了程序路径可行性分析问题及其分类、复杂度.针对程序分析精度的一种量化指标,说明了其计算方法.
Static program analysis has been studied for many years. It is an important topic in the research of programming languages and compilers. Recently, it has also attracted researchers from other areas such as formal methods and software engineering, and some ideas have been used for program verification and testing. This paper compares various static analysis techniques, according to the syntactic features, data types and correctness properties targeted by the techniques. The paper focuses on a class of analysis techniques that are based on program paths, especially symbolic execution; discusses the path feasibility problem, its difficulty and its subproblems. A method for computing a data coverage measure of paths is also described.
出处
《计算机学报》
EI
CSCD
北大核心
2008年第9期1549-1553,共5页
Chinese Journal of Computers
基金
the National Natural Science Foundation of China (NSFC) under grant No.60673044 and No.60633010
the National High-Tech Program (863) under grant No.2006AA01Z402
关键词
静态分析
程序路径
符号执行
数据覆盖
static analysis
program paths
symbolic execution
data coverage