## Verification using Satisfiability Checking, Predicate Abstraction, and Craig Interpolation (2008)

### Cached

### Download Links

- [reports-archive.adm.cs.cmu.edu]
- [reports-archive.adm.cs.cmu.edu]
- [reports-archive.adm.cs.cmu.edu]
- [reports-archive.adm.cs.cmu.edu]
- [reports-archive.adm.cs.cmu.edu]
- [reports-archive.adm.cs.cmu.edu]
- [reports-archive.adm.cs.cmu.edu]
- [reports-archive.adm.cs.cmu.edu]
- [reports-archive.adm.cs.cmu.edu]
- [reports-archive.adm.cs.cmu.edu]
- [reports-archive.adm.cs.cmu.edu]
- [reports-archive.adm.cs.cmu.edu]
- [reports-archive.adm.cs.cmu.edu]
- [reports-archive.adm.cs.cmu.edu]
- [reports-archive.adm.cs.cmu.edu]
- [reports-archive.adm.cs.cmu.edu]
- [reports-archive.adm.cs.cmu.edu]
- [reports-archive.adm.cs.cmu.edu]
- [reports-archive.adm.cs.cmu.edu]
- [reports-archive.adm.cs.cmu.edu]
- [reports-archive.adm.cs.cmu.edu]
- [reports-archive.adm.cs.cmu.edu]

Citations: | 3 - 1 self |

### BibTeX

@MISC{Jain08verificationusing,

author = {Himanshu Jain and Randal E. Bryant},

title = {Verification using Satisfiability Checking, Predicate Abstraction, and Craig Interpolation},

year = {2008}

}

### OpenURL

### Abstract

not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the sponsoring institutions, the U.S. Government or any other entity. Keywords: Formal methods, model checking, abstraction, refinement, bounded model checking, Boolean satisfiability, non-clausal SAT solvers, DPLL, general matings, unsatisfiable core, craig interpolation, proofs of unsatisfiability, linear diophantine equations, linear modular equations (linear congruences), linear diophantine Automatic verification of hardware and software implementations is crucial for building reliable computer systems. Most verification tools rely on decision procedures to check the satisfiability of various formulas that are generated during the verification process. This thesis develops new techniques for building efficient decision procedures and adds new capabilities to the existing decision procedures for certain logics. Boolean satisfiability (SAT) solvers are used heavily in verification tools as decision procedures for propositional logic. Most state-of-the-art SAT solvers are

### Citations

2930 | Graph-based algorithms for Boolean function manipulation
- Bryant
- 1986
(Show Context)
Citation Context ...s of model checking produces a counterexample that demonstrates a behavior that falsifies the property. By making use of symbolic algorithms [52, 111, 42, 26] based on Binary Decision Diagrams (BDDs) =-=[51]-=- or fast satisfiability solvers (SAT solvers) [108, 117, 8], current model checkers can scale to systems with a large number of states. In industrial hardware designs the number of states is extremely... |

2409 | The birth of model checking
- Clarke
(Show Context)
Citation Context ... design to a netlist. operate directly at the RT-level or system-level. Such techniques are also referred to as word-level verification techniques. 1.2.1 Model Checking and Abstraction Model checking =-=[58, 60]-=- is an automatic technique for the verification of finitestate concurrent systems. It has been used successfully in practice to verify complex circuit designs and communication protocols. Model checki... |

1462 | Theory of Linear and Integer Programming - Schrijver - 1986 |

1296 |
Symbolic Model Checking
- McMillan
- 1992
(Show Context)
Citation Context ... the design fails to satisfy a desired property, the process of model checking produces a counterexample that demonstrates a behavior that falsifies the property. By making use of symbolic algorithms =-=[52, 111, 42, 26]-=- based on Binary Decision Diagrams (BDDs) [51] or fast satisfiability solvers (SAT solvers) [108, 117, 8], current model checkers can scale to systems with a large number of states. In industrial hard... |

1115 | Chaff: Engineering an efficient SAT solver
- Moskewicz, Madigan, et al.
- 2001
(Show Context)
Citation Context ...are verification, and artificial intelligence. The SAT problem is NP-complete [66] and no provably efficient algorithms are known for it. However, there have been significant (empirical) improvements =-=[108, 117, 77]-=- in the capacity of SAT solvers over the past decade. SAT solvers are now used routinely in many hardware verification techniques such as bounded model checking [42], kinduction [130], interpolation [... |

1075 |
A computing procedure for quantification theory
- Davis, Putnam
- 1960
(Show Context)
Citation Context ...] rely on fast Boolean satisfiability solvers as well. Many SAT solvers have been developed, most employing some combination 2of two main strategies: the Davis-Putnam-Logemann-Loveland (DPLL) search =-=[70, 71]-=- and heuristic local search [110]. Heuristic local search techniques are not guaranteed to be complete, that is, they are not guaranteed to find a satisfying assignment if one exists or prove unsatisf... |

774 | The Complexity of Theorem-Proving Procedures
- COOK
- 1971
(Show Context)
Citation Context ... is of central importance in various areas of computer science, including theoretical computer science, hardware and software verification, and artificial intelligence. The SAT problem is NP-complete =-=[66]-=- and no provably efficient algorithms are known for it. However, there have been significant (empirical) improvements [108, 117, 77] in the capacity of SAT solvers over the past decade. SAT solvers ar... |

624 | D.: Model checking and abstraction
- Clarke, Grumberg, et al.
- 1994
(Show Context)
Citation Context ...presents an abstract state ¯b. We denote this function by α(¯r). It maps a concrete state into an abstract state and is therefore called an abstraction function. We perform an existential abstraction =-=[57]-=-, i.e., the abstract model can make a transition from an abstract state ¯b to ¯b ′ iff there is a transition from ¯r to ¯r ′ in 118the concrete model and ¯r is abstracted to ¯b and ¯r ′ is abstracted... |

600 | H.: Construction of abstract state graphs with PVS
- Graf, Saidi
- 1997
(Show Context)
Citation Context ... we propose the use of abstraction algorithms that have been devised for software verification. In the software domain, one successful abstraction technique for large systems is predicate abstraction =-=[85]-=-. It abstracts data by only keeping track of certain predicates on the data. Each predicate is represented by a Boolean variable in the abstract program, while the original data variables are eliminat... |

598 | H.: Counterexample-guided abstraction refinement
- Clarke, Grumberg, et al.
- 2000
(Show Context)
Citation Context ... time. The interpolant can be an LDE, an LDD, or an LME. (Section 6.7) • We show the utility of our interpolation algorithms in counterexample guided abstraction refinement (CEGAR) based verification =-=[56]-=-. Our interpolation 155algorithm is effective at discovering modular/divisibility predicates, such as 3x + y + 2z ≡ 1 (mod 4), from spurious counterexamples. This has allowed us to verify programs th... |

573 | Symbolic model checking: 10 20 states and beyond
- Burch, Clarke, et al.
- 1990
(Show Context)
Citation Context ... the design fails to satisfy a desired property, the process of model checking produces a counterexample that demonstrates a behavior that falsifies the property. By making use of symbolic algorithms =-=[52, 111, 42, 26]-=- based on Binary Decision Diagrams (BDDs) [51] or fast satisfiability solvers (SAT solvers) [108, 117, 8], current model checkers can scale to systems with a large number of states. In industrial hard... |

529 |
A machine program for theorem-proving
- Davis, Logemann, et al.
- 1962
(Show Context)
Citation Context ...] rely on fast Boolean satisfiability solvers as well. Many SAT solvers have been developed, most employing some combination 2of two main strategies: the Davis-Putnam-Logemann-Loveland (DPLL) search =-=[70, 71]-=- and heuristic local search [110]. Heuristic local search techniques are not guaranteed to be complete, that is, they are not guaranteed to find a satisfying assignment if one exists or prove unsatisf... |

445 | G.: Lazy abstraction
- Henzinger, Jhala, et al.
- 2002
(Show Context)
Citation Context ...straction becomes more efficient. We refer to this technique as predicate clustering. It allows us to tune the abstraction step between the two extremes of eager abstraction [59] and lazy abstraction =-=[88]-=- . The eager technique refers to the case where all predicates are within a single cluster, while lazy abstraction corresponds to the case in which many clusters of small cardinality (size) are used f... |

394 | S.K.: Automatic predicate abstraction of C programs
- Ball, Majumdar, et al.
(Show Context)
Citation Context ...d by Ball and Rajamani [34, 33] and promoted by the success of the SLAM project. The goal of this project is to verify that Windows device drivers obey API conventions. The abstraction of the program =-=[37, 35]-=- is computed using a theorem prover such as Simplify [73] or Zapato [36]. In this work we use predicate abstraction for verifying hardware designs. Predicate abstraction is only effective if the predi... |

393 | Simplification by Cooperating Decision Procedures
- Nelson, Oppen
- 1979
(Show Context)
Citation Context ...) • Let S denote a system of LDEs. We show that if S has an integral solution, then every LDE that is implied by S, can be obtained by a linear combination of equations in S. We show that S is convex =-=[120]-=-, that is, if S implies a disjunction of LDEs, then it implies one of the equations in the disjunction. In contrast, conjunctions of atomic formulas in LA(Z) are not convex due to inequalities [120]. ... |

386 | Automatically validating temporal safety properties of interfaces
- Ball, Rajamani
- 2001
(Show Context)
Citation Context ...he procedure terminates. If the instance is unsatisfiable, the abstract counterexample is spurious, and abstraction refinement has to be performed. The basic idea of abstraction refinement techniques =-=[102, 55, 61, 33]-=- is to create a new abstract model that contains more detail in order to prevent the spu10Large design D and property P to check Enter ABSTRACTION Small abstract model D’ Abstracted property P’ MODEL... |

360 | GRASP - a new search algorithm for satisfiability
- Silva, Sakallah
- 1996
(Show Context)
Citation Context ...are verification, and artificial intelligence. The SAT problem is NP-complete [66] and no provably efficient algorithms are known for it. However, there have been significant (empirical) improvements =-=[108, 117, 77]-=- in the capacity of SAT solvers over the past decade. SAT solvers are now used routinely in many hardware verification techniques such as bounded model checking [42], kinduction [130], interpolation [... |

352 | Simplify: A theorem prover for program checking
- Detlefs, Nelson, et al.
- 2003
(Show Context)
Citation Context ...f the SLAM project. The goal of this project is to verify that Windows device drivers obey API conventions. The abstraction of the program [37, 35] is computed using a theorem prover such as Simplify =-=[73]-=- or Zapato [36]. In this work we use predicate abstraction for verifying hardware designs. Predicate abstraction is only effective if the predicates can cover the relationship be111tween registers (m... |

304 |
An Introduction to Mathematical Logic and Type Theory: To Truth Through Proof. Applied Logic Series
- Andrews
- 2002
(Show Context)
Citation Context ...OT) and the scope of each occurrence of ¬ is a Boolean variable. We propose a new SAT solving framework based on a representation known as vertical-horizontal path form (vhpform) due to Peter Andrews =-=[29, 30]-=-. The vhpform is a two-dimensional representation of formulas in NNF. We represent the vhpform of a given NNF formula in the form of two graphs called vpgraph and hpgraph. The vpgraph encodes the disj... |

298 |
On the complexity of derivation in propositional calculus
- Tseitin
- 1968
(Show Context)
Citation Context ...rmulas as non-clausal formulas. In order to check the satisfiability of a non-clausal formula φ using a CNF based SAT solver, φ needs to be converted to CNF. This is done by introducing new variables =-=[138, 124]-=-. The result is a CNF formula φ ′ which is equi-satisfiable to φ and is polynomial in the size of φ. This is the most common way of converting φ to a CNF formula. Conversion of a non-clausal formula t... |

289 | Efficient conflict driven learning in a boolean satisfiability solver
- Zhang, Madigan, et al.
- 2001
(Show Context)
Citation Context ...ng clause is ¬a ∨ ¬b. 2. When all literals of an existing globally learned clause C become false. Once a conflicting clause C is obtained, we perform a 1-UIP (first unique implication point) analysis =-=[148]-=- to obtain a learned clause C ′ . Clause C ′ is added to the database of globally learned clauses. In order to perform 1-UIP analysis we 471 a c 2 3 b d 4 5 u v 6 7 −a −b 8 Figure 3.6: Vpgraph for fo... |

240 | Berkmin: A fast and robust sat-solver
- Goldberg, Novikov
- 2002
(Show Context)
Citation Context ...s or prove unsatisfiability. As a result, complete SAT solvers are based almost exclusively on the DPLL search. Some well-known complete SAT solvers are GRASP [108], SATO [145], zChaff [117], BerkMin =-=[84]-=-, Siege [18], MiniSat [77, 8], RSat [14], PicoSAT [13, 41]. From now on we will focus only on complete SAT solvers. Most state-of-the-art SAT procedures require the input formula to be in conjunctive ... |

212 | K.: Abstractions from proofs
- Henzinger, Jhala, et al.
- 2004
(Show Context)
Citation Context ... memories or input variables. The predicate discovery heuristics described in [104] can be used in our context. An alternative technique for discovering new predicates is based on Craig interpolation =-=[113, 89]-=-. This technique is used in a state-of-the-art software model checker BLAST [2]. In order to apply this idea to circuits, an interpolating theorem prover for bit-vector logic [49, 38, 32, 107, 82, 48]... |

195 | Interpolation and SAT-Based Model Checking
- McMillan
- 2003
(Show Context)
Citation Context ...] in the capacity of SAT solvers over the past decade. SAT solvers are now used routinely in many hardware verification techniques such as bounded model checking [42], kinduction [130], interpolation =-=[112]-=-, abstraction-refinement [53, 86, 115, 103, 87]. Many software verification and static analysis tools such as CBMC [64], F-Soft [90], SATABS [62], SATURN [143], Calysto [31] rely on fast Boolean satis... |

193 |
Synthesis of synchronization skeletons for branching time temporal logic
- CLARKE, EMERSON
- 1981
(Show Context)
Citation Context ... design to a netlist. operate directly at the RT-level or system-level. Such techniques are also referred to as word-level verification techniques. 1.2.1 Model Checking and Abstraction Model checking =-=[58, 60]-=- is an automatic technique for the verification of finitestate concurrent systems. It has been used successfully in practice to verify complex circuit designs and communication protocols. Model checki... |

193 | SATO: An efficient propositional prover
- Zhang
- 1997
(Show Context)
Citation Context ...fying assignment if one exists or prove unsatisfiability. As a result, complete SAT solvers are based almost exclusively on the DPLL search. Some well-known complete SAT solvers are GRASP [108], SATO =-=[145]-=-, zChaff [117], BerkMin [84], Siege [18], MiniSat [77, 8], RSat [14], PicoSAT [13, 41]. From now on we will focus only on complete SAT solvers. Most state-of-the-art SAT procedures require the input f... |

154 |
Checking Safety Properties Using Induction and a SAT Solver
- Sheeran, Singh, et al.
- 1954
(Show Context)
Citation Context ...vements [108, 117, 77] in the capacity of SAT solvers over the past decade. SAT solvers are now used routinely in many hardware verification techniques such as bounded model checking [42], kinduction =-=[130]-=-, interpolation [112], abstraction-refinement [53, 86, 115, 103, 87]. Many software verification and static analysis tools such as CBMC [64], F-Soft [90], SATABS [62], SATURN [143], Calysto [31] rely ... |

145 | Solving SAT and SAT Modulo Theories: From an abstract Davis–Putnam–Logemann–Loveland procedure to DPLL(T
- Nieuwenhuis, Oliveras, et al.
(Show Context)
Citation Context ...nctions, and so on. It is inefficient to encode such problems as bit-level (propositional) formulas. In order to check the satisfiability of these formulas, SMT (Satisfiability Modulo Theory) solvers =-=[83, 46, 121, 141, 122, 74]-=- are emerging as a better option. Most of the existing SMT solvers use a CNF SAT solver for handling the Boolean structure of a given formula. It will be interesting to explore the use of non-clausal ... |

141 | Modeling and verifying systems using a logic of counter arithmetic with lambda expressions and uninterpreted functions
- Bryant, Lahiri, et al.
- 2002
(Show Context)
Citation Context ...s method of refinement closely resembles refinement techniques for localization reduction. Andraus et al. [28] present a scheme for automatic abstraction of behavioral RTL Verilog to the CLU language =-=[50]-=-. The CLU language allows modeling using terms, uninterpreted functions, equality, lambda expressions, and counters. In order to remove spurious behaviors from the abstract model a refinement procedur... |

134 | Lower bounds for resolution and cutting plane proofs and monotone computations
- Pudlák
- 1997
(Show Context)
Citation Context ...ng proofs of unsatisfiability and interpolants for systems (conjunctions) of LDEs, LMEs, LDEs+LDDs. Let S1,S2 denote conjunctions of atomic formulas in LA(Z). Suppose S1 ∧ S2 is unsatisfiable. Pudlak =-=[126]-=- shows how to compute an interpolant for (S1,S2) by using a cutting-plane (CP) proof of unsatisfiability. The CP proof system is a sound and complete way of proving unsatisfiability of conjunctions of... |

130 | Effective Preprocessing in SAT through Variable and Clause Elimination
- Eén, Biere
(Show Context)
Citation Context ...he BCP steps and make the decision heuristics less effective. In order to reduce this overhead modern CNF SAT solvers use pre-processing techniques that try to eliminate certain variables and clauses =-=[75]-=-. The disadvantage with pre-processing is that it does not always lead to improvement in the SAT solver performance. It can also fail on large examples due to significant memory overhead 1 . 1 In SAT ... |

129 | A Decision Procedure for BitVectors and Arrays
- Ganesh, Dill
- 2007
(Show Context)
Citation Context ...g interpolation [113, 89]. This technique is used in a state-of-the-art software model checker BLAST [2]. In order to apply this idea to circuits, an interpolating theorem prover for bit-vector logic =-=[49, 38, 32, 107, 82, 48]-=- is required. At present, it is not known how to build a practical interpolating theorem prover for bit-vector logic. We have developed an efficient interpolation algorithm for conjunctions of linear ... |

122 |
Über die Vollständigkeit eines gewissen Systems der Arithmetik ganzer Zahlen, in welchem die Addition als einzige Operation hervortritt. Comptes-rendus du Premier Congrès des Mathématiciens des Pays Slaves
- Preßburger
- 1929
(Show Context)
Citation Context ...nctions of LMDs is NP-hard. All proofs are present in the appendix D. 6.2 Related Work It is known that Presburger arithmetic (PA) augmented with divisibility predicates allows quantifier elimination =-=[125]-=-. Kapur et al. [100] show that a recursively enumerable theory allows quantifier-free interpolants if and only if it allows quantifier elimination. The systems of LDEs, LMEs, LDEs+LDDs are subsets of ... |

116 | DPLL(T) fast decision procedures
- Ganzinger, Hagen, et al.
- 2004
(Show Context)
Citation Context ...nctions, and so on. It is inefficient to encode such problems as bit-level (propositional) formulas. In order to check the satisfiability of these formulas, SMT (Satisfiability Modulo Theory) solvers =-=[83, 46, 121, 141, 122, 74]-=- are emerging as a better option. Most of the existing SMT solvers use a CNF SAT solver for handling the Boolean structure of a given formula. It will be interesting to explore the use of non-clausal ... |

112 |
Theorem proving via general matings
- Andrews
- 1981
(Show Context)
Citation Context ...OT) and the scope of each occurrence of ¬ is a Boolean variable. We propose a new SAT solving framework based on a representation known as vertical-horizontal path form (vhpform) due to Peter Andrews =-=[29, 30]-=-. The vhpform is a two-dimensional representation of formulas in NNF. We represent the vhpform of a given NNF formula in the form of two graphs called vpgraph and hpgraph. The vpgraph encodes the disj... |

108 | Automatic Abstraction without Counterexamples
- McMillan, Amla
- 2003
(Show Context)
Citation Context ...rs over the past decade. SAT solvers are now used routinely in many hardware verification techniques such as bounded model checking [42], kinduction [130], interpolation [112], abstraction-refinement =-=[53, 86, 115, 103, 87]-=-. Many software verification and static analysis tools such as CBMC [64], F-Soft [90], SATABS [62], SATURN [143], Calysto [31] rely on fast Boolean satisfiability solvers as well. Many SAT solvers hav... |

95 |
Matrices with connections
- Bibel
- 1981
(Show Context)
Citation Context ...les. 32Chapter 3 General Matings based SAT Solver General Matings is a theorem proving technique due to Andrews [29]. It is closely related to the Connection method discovered independently by Bibel =-=[40]-=-. Theorem provers based on these techniques have been used successfully in higher order theorem proving [21]. We use the General Matings idea to build a SAT solver for satisfiability problems arising ... |

75 | Lazy Abstraction with Interpolants
- McMillan
- 2006
(Show Context)
Citation Context ...G Figure 1.3: Formulas F,G,I represented as sets. F ∧ G is unsatisfiable and I represents an interpolant for (F,G). The use of Craig interpolation [67] has led to powerful hardware [112] and software =-=[89, 114]-=- model checking techniques. Given two formulas F,G such that F ∧ G is unsatisfiable, a Craig interpolant for the pair (F,G) is a formula I with the following properties: 1) F ⇒ I, 2) I ∧ G is unsatisf... |

73 | K.: SATABS: SAT-based predicate abstraction for ANSI-C
- Clarke, Kroening, et al.
- 2005
(Show Context)
Citation Context ... model checking [42], kinduction [130], interpolation [112], abstraction-refinement [53, 86, 115, 103, 87]. Many software verification and static analysis tools such as CBMC [64], F-Soft [90], SATABS =-=[62]-=-, SATURN [143], Calysto [31] rely on fast Boolean satisfiability solvers as well. Many SAT solvers have been developed, most employing some combination 2of two main strategies: the Davis-Putnam-Logem... |

69 |
An interpolating theorem prover
- McMillan
- 2004
(Show Context)
Citation Context ... size of CP proofs for a system of LDEs or LMEs. Our results show that polynomially sized proofs of unsatisfiability and interpolants can be obtained for systems of LDEs, LMEs and LDEs+LDDs. McMillan =-=[113]-=- shows how to compute interpolants in the combined theory of rational linear arithmetic LA(Q) and equality with uninterpreted functions EUF by using proofs of unsatisfiability. Rybalchenko and Sofroni... |

65 |
Successive approximation of abstract transition relations
- DAS, DILL
- 2001
(Show Context)
Citation Context ...ibed in section 5.4.2, the abstract transition from ¯s to ¯t can arise when using lazy abstraction. This spurious transition can be eliminated by adding the following constraint to the abstract model =-=[69]-=-: ¬(b1 ∧ b2 ∧ b3 ∧ b4 ∧ ¬b′ 1 ∧ ¬b′ 2 ∧ ¬b′ 3 ∧ ¬b′ 4 ). However, the constraint above removes just one spurious transition. By examining an unsatisfiable core, we can make the constraint more general... |

64 |
Extracting small unsatisfiable cores from unsatisfiable boolean formula
- Zhang, Malik
- 2003
(Show Context)
Citation Context ...redicate πi, π ′ i to the corresponding literal li,l ′ i in the CNF instance. If the abstract transition is spurious, the CNF instance is unsatisfiable. In this case, we extract an unsatisfiable core =-=[146]-=- from the given CNF instance. An unsatisfiable core of a CNF instance is a subset of the original set of clauses that is also unsatisfiable. Current state-of-the-art SAT-solvers are quite effective at... |

63 |
Syntactic Program Transformations for Automatic Abstraction
- Namjoshi, Kurshan
- 2000
(Show Context)
Citation Context ...traction-refinement loop in this work. because the predicates used for computing the abstraction were insufficient. For this case, we use the idea of weakest precondition from software model checking =-=[119, 33]-=-. We compute the weakest precondition of the property (or existing predicates) with respect to the transition function given by the circuit to obtain new word-level predicates. We present a technique ... |

62 |
Boolean programs: A model and process for software analysis
- Ball, Rajamani
- 2000
(Show Context)
Citation Context ...rogram, while the original data variables are eliminated. Predicate abstraction of ANSI-C programs in combination with counterexample guided abstraction refinement was introduced by Ball and Rajamani =-=[34, 33]-=- and promoted by the success of the SLAM project. The goal of this project is to verify that Windows device drivers obey API conventions. The abstraction of the program [37, 35] is computed using a th... |

60 | Conflict driven learning in a quantified boolean satisfiability solver
- Zhang, Malik
- 2002
(Show Context)
Citation Context ...an be framed as QBF formulas. The Boolean satisfiability (SAT) problem can be regarded as a restricted form of QBF, where only existential quantifiers are allowed. Unlike SAT solvers, the QBF solvers =-=[149]-=- can only handle small instances. Zhang et al. [147] report that the use of both CNF and DNF representations of a given Boolean 186formula is crucial for obtaining efficient QBF solvers. The graphica... |

55 | Combining strengths of circuit-based and CNFbased algorithms for a high-performance SAT solver
- Ganai, Zhang, et al.
- 2002
(Show Context)
Citation Context ... in CNF, BCP can be carried out very efficiently using the two-watched literal scheme [117]. While most DPLL based SAT solvers operate on CNF, there has been work on applying DPLL directly to circuit =-=[79, 106, 137]-=- representations. In [79] a hybrid SAT solver is described where the original formula is processed in circuit form, and learned clauses are processed separately in CNF. The circuit-based BCP is implem... |

52 | J.R.: A decision procedure for bit-vector arithmetic
- Barret, Dill, et al.
- 1998
(Show Context)
Citation Context ...g interpolation [113, 89]. This technique is used in a state-of-the-art software model checker BLAST [2]. In order to apply this idea to circuits, an interpolating theorem prover for bit-vector logic =-=[49, 38, 32, 107, 82, 48]-=- is required. At present, it is not known how to build a practical interpolating theorem prover for bit-vector logic. We have developed an efficient interpolation algorithm for conjunctions of linear ... |

47 |
L.: Zapato: Automatic Theorem Proving for Predicate Abstraction Refinement
- Ball, Cook, et al.
- 2004
(Show Context)
Citation Context ...ect. The goal of this project is to verify that Windows device drivers obey API conventions. The abstraction of the program [37, 35] is computed using a theorem prover such as Simplify [73] or Zapato =-=[36]-=-. In this work we use predicate abstraction for verifying hardware designs. Predicate abstraction is only effective if the predicates can cover the relationship be111tween registers (multiple latches... |

45 | Indexed predicate discovery for unbounded system verification
- Lahiri, Bryant
- 2004
(Show Context)
Citation Context ...on in our technique as well by adding c[0],...,c[n − 1] as predicates. The combination of predicate abstraction and localization reduction is studied in detail by Wang et al. [140]. Lahiri and Bryant =-=[104]-=- propose an extension to predicate abstraction that uses predicates with free (index) variables. This allows verification of safety properties of unbounded systems. In our context, indexed predicates ... |

43 | Deciding bit-vector arithmetic with abstraction
- Bryant, Kroening, et al.
- 2007
(Show Context)
Citation Context ...g interpolation [113, 89]. This technique is used in a state-of-the-art software model checker BLAST [2]. In order to apply this idea to circuits, an interpolating theorem prover for bit-vector logic =-=[49, 38, 32, 107, 82, 48]-=- is required. At present, it is not known how to build a practical interpolating theorem prover for bit-vector logic. We have developed an efficient interpolation algorithm for conjunctions of linear ... |