• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊
论文

Constructing Program Invariants Based on QBF

Expand
  • (1.School of Computer Science,National University of Defense Technology,Changsha 410073;
    2.School of Computer Science,Beihang University,Beijing 100083,China)

Received date: 2010-03-10

  Revised date: 2010-06-20

  Online published: 2010-09-02

Abstract

Constructing loop invariants is one of the key problems of program verification. Stateoftheart approaches to invariant generation usually assume that program variables are evaluated over infinite domains such as rational or integer. Actually,during the execution of a program,all variables are expressed using bitvectors with a limited width and evaluated over finite domains. Many invariants suitable for infinite domains may be invalid in finite domains,and vice versa. This paper proposes an approach based on QBF (Quantified Boolean Formula) to construct invariants for programs whose variables are evaluated over finite domains. It can be used to discover a rich class of invariants including linear (or polynomial) equality (or inequality) invariants involving such operations as addition,multiplication,division,shift,bitwise operation,even quantifiers. And we also exemplify the usefulness of this approach in the termination analysis,the bound analysis and the  verification of correctness.

Cite this article

CHEN Shikun1,LI Zhoujun2 . Constructing Program Invariants Based on QBF[J]. Computer Engineering & Science, 2010 , 32(9) : 76 -80 . DOI: 10.3969/j.issn.1007130X.2010.

Outlines

/