会议专题

Constructing Program Invariants via Solving QBF

Constructing program invariants is one of the key prob lems of program verification. A lot of approaches to invariant generation have been reported, and all of these methods assume that program variables are evaluated over infinite domains such as rational or integer. Actually, during the execution of program, all variables are expressed using bit-vectors with limited width and evaluated over finite domains. Many invariants suit for infinite domains may be invalid in finite domains, and vice versa. This paper proposes an approach to construct invariants for program whose variables are evaluated over finite domains. This method translates a program into constraints that are solved using a QBF (Quantified Boolean Formula) solver to yield desired program invariants. It can be used to discover a rich class of invariants including linear (or polynomial) equality (or inequality) invariants involving operations like addition, multiplication, division, shift, bitwise operation, even quantifiers. And we also show how this technique can be used to prove partial correctness, termination and total correctness.

Shikun Chen Zhoujun Li Mengjun Li

School of Computer Science National University of Defence Technology ChangSha, China, 410073 School of Computer BeiHang University Beijing, China, 100083

国际会议

Third International Symposium on Theoretical Aspects of Software Engineering TASE 2009(第三届软件工程理论国际研讨会)

天津

英文

217-221

2009-07-29(万方平台首次上网日期,不代表论文的发表时间)