-
题名一种C程序断言的全自动静态验证方法
被引量:1
- 1
-
-
作者
易晓东
杨学军
-
机构
国防科技大学计算机学院
-
出处
《计算机科学》
CSCD
北大核心
2006年第9期253-256,273,共5页
-
基金
863重大软件专项No.2002AA1Z2101~~
-
文摘
在软件程序中插入断言是保证软件质量的一个简单但有效的方法,人们常使用测试的方法检验程序中的断言是否满足,但测试很难保证验证的完备性。本文提出了一种可以保证完备性的全自动静态断言验证方法,其基本思想是基于程序切片符号执行程序的所有执行路径,并证明路径上的所有断言都满足。为了尽量减少符号执行的语句的数量,使用了基于反例的抽象精化方法,从一个粗略的切片标准开始迭代地符号执行一条路径,根据验证的反例自动生成下一次迭代过程中使用的精化的切片标准。包含循环的程序可能具有无穷多条程序执行路径,提出的基于符号执行上下文不变式证明的方法可以证明由于循环导致的无穷多条路径中断言都满足,从而使得验证过程可以终止。实验表明,提出的全自动静态断言验证方法不仅可行,而且验证代价较小,具有较强的实用性。
-
关键词
断言验证
基于程序切片的符号执行
基于反例的抽象精化
静态分析
-
Keywords
Assertion verification,Symbolic execution based on program slicing, CEGAR, Static analysis
-
分类号
TP391.9
[自动化与计算机技术—计算机应用技术]
-