Decision Procedures Customized for Formal Verification

The uclid verifier models a hardware or software system as an abstract state machine, where the state variables can be Boolean or integer values, or functions mapping integers to integers or Booleans. The core of the verifier consists of a decision procedure that checks the validity of formulas over the combined theories of uninterpreted functions with equality and linear integer arithmetic. It operates by transforming a formula into an equisatisfiable Boolean formula and then invoking a SAT solver. This approach has worked well for the class of logic and the types of formulas encountered in verification.

[1]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[2]  David L. Dill,et al.  CVC: A Cooperating Validity Checker , 2002, CAV.

[3]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.

[4]  Randal E. Bryant,et al.  Boolean satisfiability with transitivity constraints , 2000, TOCL.

[5]  Natarajan Shankar,et al.  ICS: Integrated Canonizer and Solver , 2001, CAV.

[6]  Piergiorgio Bertoli,et al.  A SAT Based Approach for Solving Formulas over Boolean and Linear Mathematical Propositions , 2002, CADE.

[7]  Sanjit A. Seshia,et al.  A hybrid SAT-based decision procedure for separation logic with uninterpreted functions , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[8]  Greg Nelson,et al.  Simplification by Cooperating Decision Procedures , 1979, TOPL.

[9]  Sanjit A. Seshia,et al.  Modeling and Verifying Systems Using a Logic of Counter Arithmetic with Lambda Expressions and Uninterpreted Functions , 2002, CAV.

[10]  Sanjit A. Seshia,et al.  Adaptive eager boolean encoding for arithmetic reasoning in verification , 2005 .

[11]  Andreas Blass,et al.  Inadequacy of computable loop invariants , 2001, TOCL.

[12]  Sanjit A. Seshia,et al.  The UCLID Decision Procedure , 2004, CAV.

[13]  Randal E. Bryant,et al.  Exploiting Positive Equality in a Logic of Equality with Uninterpreted Functions , 1999, CAV.

[14]  Randal E. Bryant,et al.  Processor verification using efficient reductions of the logic of uninterpreted functions to propositional logic , 1999, TOCL.

[15]  Sanjit A. Seshia,et al.  Deciding Quantifier-Free Presburger Formulas Using Parameterized Solution Bounds , 2004, LICS.

[16]  Kenneth L. McMillan,et al.  Symbolic model checking , 1992 .