Results 1  10
of
84
A decision procedure for bitvectors and arrays
 IN COMPUTER AIDED VERIFICATION, NUMBER 4590 IN LNCS
, 2007
"... STP is a decision procedure for the satisfiability of quantifierfree formulas in the theory of bitvectors and arrays that has been optimized for large problems encountered in software analysis applications. The basic architecture of the procedure consists of wordlevel preprocessing algorithms fo ..."
Abstract

Cited by 190 (11 self)
 Add to MetaCart
STP is a decision procedure for the satisfiability of quantifierfree formulas in the theory of bitvectors and arrays that has been optimized for large problems encountered in software analysis applications. The basic architecture of the procedure consists of wordlevel preprocessing algorithms followed by translation to SAT. The primary bottlenecks in software verification and bug finding applications are large arrays and linear bitvector arithmetic. New algorithms based on the abstractionrefinement paradigm are presented for reasoning about large arrays. A solver for bitvector linear arithmetic is presented that eliminates variables and parts of variables to enable other transformations, and reduce the size of the problem that is eventually received by the SAT solver. These and other algorithms have been implemented in STP, which has been heavily tested over thousands of examples obtained from several realworld applications. Experimental results indicate that the above mix of algorithms along with the overall architecture is far more effective, for a variety of applications, than a direct translation of the original formula to SAT or other comparable decision procedures.
Lazy Satisfiability Modulo Theories
 JOURNAL ON SATISFIABILITY, BOOLEAN MODELING AND COMPUTATION 3 (2007) 141Â224
, 2007
"... Satisfiability Modulo Theories (SMT) is the problem of deciding the satisfiability of a firstorder formula with respect to some decidable firstorder theory T (SMT (T)). These problems are typically not handled adequately by standard automated theorem provers. SMT is being recognized as increasingl ..."
Abstract

Cited by 189 (50 self)
 Add to MetaCart
(Show Context)
Satisfiability Modulo Theories (SMT) is the problem of deciding the satisfiability of a firstorder formula with respect to some decidable firstorder theory T (SMT (T)). These problems are typically not handled adequately by standard automated theorem provers. SMT is being recognized as increasingly important due to its applications in many domains in different communities, in particular in formal verification. An amount of papers with novel and very efficient techniques for SMT has been published in the last years, and some very efficient SMT tools are now available. Typical SMT (T) problems require testing the satisfiability of formulas which are Boolean combinations of atomic propositions and atomic expressions in T, so that heavy Boolean reasoning must be efficiently combined with expressive theoryspecific reasoning. The dominating approach to SMT (T), called lazy approach, is based on the integration of a SAT solver and of a decision procedure able to handle sets of atomic constraints in T (Tsolver), handling respectively the Boolean and the theoryspecific components of reasoning. Unfortunately, neither the problem of building an efficient SMT solver, nor even that
What’s decidable about arrays
 In Proc. VMCAI, LNCS 3855
, 2006
"... Abstract. Motivated by applications to program verification, we study a decision procedure for satisfiability in an expressive fragment of a theory of arrays, which is parameterized by the theories of the array elements. The decision procedure reduces satisfiability of a formula of the fragment to s ..."
Abstract

Cited by 129 (1 self)
 Add to MetaCart
(Show Context)
Abstract. Motivated by applications to program verification, we study a decision procedure for satisfiability in an expressive fragment of a theory of arrays, which is parameterized by the theories of the array elements. The decision procedure reduces satisfiability of a formula of the fragment to satisfiability of an equisatisfiable quantifierfree formula in the combined theory of equality with uninterpreted functions (EUF), Presburger arithmetic, and the element theories. This fragment allows a constrained use of universal quantification, so that one quantifier alternation is allowed, with some syntactic restrictions. It allows expressing, for example, that an assertion holds for all elements in a given index range, that two arrays are equal in a given range, or that an array is sorted. We demonstrate its expressiveness through applications to verification of sorting algorithms and parameterized systems. We also prove that satisfiability is undecidable for several natural extensions to the fragment. Finally, we describe our implementation in the πVC verification system. 1
CVC: a Cooperating Validity Checker
 In 14th International Conference on ComputerAided Verification
, 2002
"... Decision procedures for decidable logics and logical theories have proven to be useful tools in verification. This paper describes the CVC ("Cooperating Validity Checker") decision procedure. CVC implements a framework for combining subsidiary decision procedures for certain logical theori ..."
Abstract

Cited by 122 (22 self)
 Add to MetaCart
(Show Context)
Decision procedures for decidable logics and logical theories have proven to be useful tools in verification. This paper describes the CVC ("Cooperating Validity Checker") decision procedure. CVC implements a framework for combining subsidiary decision procedures for certain logical theories into a decision procedure for the theories' union. Subsidiary decision procedures for theories of arrays, inductive datatypes, and linear real arithmetic are currently implemented. Other notable features of CVC are the incorporation of the highperformance Cha solver for propositional reasoning, and the ability to produce independently checkable proofs for valid formulas.
Splitting on Demand in SAT Modulo Theories
 In Proc. LPAR’06, volume 4246 of LNAI
, 2006
"... Abstract. Lazy algorithms for Satisfiability Modulo Theories (SMT) combine a generic DPLLbased SAT engine with a theory solver for the given theory T that can decide the Tconsistency of conjunctions of ground literals. For many theories of interest, theory solvers need to reason by performing inte ..."
Abstract

Cited by 45 (15 self)
 Add to MetaCart
(Show Context)
Abstract. Lazy algorithms for Satisfiability Modulo Theories (SMT) combine a generic DPLLbased SAT engine with a theory solver for the given theory T that can decide the Tconsistency of conjunctions of ground literals. For many theories of interest, theory solvers need to reason by performing internal case splits. Here we argue that it is more convenient to delegate these case splits to the DPLL engine instead. This can be done on demand for solvers that can encode their internal case splits into one or more clauses, possibly including new constants and literals. It results in drastically simpler theory solvers, and can lead, we believe, to more efficient overall systems. We present this in an improved version of DPLL(T), a general SMT architecture for the lazy approach, and formalize and prove it correct in an extension of Abstract DPLL Modulo Theories, a framework for modeling and reasoning about lazy algorithms for SMT. A remarkable additional feature of the architecture, also discussed in the paper, is that it naturally includes an efficient NelsonOppenlike combination of multiple theories and their solvers. 1
Shape analysis through predicate abstraction and model checking
 In VMCAI 03: Verification, Model checking, and Abstract Interpretation, volume 2575 of LNCS
, 2003
"... ..."
(Show Context)
Generalized, Efficient Array Decision Procedures
, 2009
"... The theory of arrays is ubiquitous in the context of software and hardware verification and symbolic analysis. The basic array theory was introduced by McCarthy and allows to symbolically representing array updates. In this paper we present combinatory array logic, CAL, using a small, but powerful ..."
Abstract

Cited by 31 (0 self)
 Add to MetaCart
(Show Context)
The theory of arrays is ubiquitous in the context of software and hardware verification and symbolic analysis. The basic array theory was introduced by McCarthy and allows to symbolically representing array updates. In this paper we present combinatory array logic, CAL, using a small, but powerful core of combinators, and reduce it to the theory of uninterpreted functions. CAL allows expressing properties that go well beyond the basic array theory. We provide a new efficient decision procedure for the base theory as well as CAL. The efficient procedure serves a critical role in the performance of the stateoftheart SMT solver Z3 on array formulas from applications.
Cooperating theorem provers: A case study combining HOLLight and CVC Lite
 In Proc. 3 rd Workshop on Pragmatics of Decision Procedures in Automated Reasoning (PDPAR ’05), volume 144(2) of Electronic Notes in Theoretical Computer Science
, 2006
"... Abstract. This paper is a case study in combining theorem provers. We define a derived rule in HOLLight, CVC PROVE, which calls CVC Lite and translates the resulting proof object back to HOLLight. This technique fundamentally expands the capabilities of HOLLight while preserving soundness. 1 ..."
Abstract

Cited by 29 (5 self)
 Add to MetaCart
(Show Context)
Abstract. This paper is a case study in combining theorem provers. We define a derived rule in HOLLight, CVC PROVE, which calls CVC Lite and translates the resulting proof object back to HOLLight. This technique fundamentally expands the capabilities of HOLLight while preserving soundness. 1
On a Rewriting Approach to Satisfiability Procedures: Extension, Combination of Theories and an Experimental Appraisal
, 2005
"... The rewriting approach to Tsatisfiability is based on establishing termination of a rewritebased inference system for firstorder logic on the Tsatisfiability problem. Extending previous such results, including the quantifierfree theory of equality and the theory of arrays with or without exte ..."
Abstract

Cited by 28 (15 self)
 Add to MetaCart
The rewriting approach to Tsatisfiability is based on establishing termination of a rewritebased inference system for firstorder logic on the Tsatisfiability problem. Extending previous such results, including the quantifierfree theory of equality and the theory of arrays with or without extensionality, we prove termination for the theories of records with or without extensionality, integer offsets and integer offsets modulo. A general theorem for termination on combinations of theories, that covers any combination of the theories above, is given next. For empirical evaluation, the rewritebased theorem prover E is compared with the validity checkers CVC and CVC Lite, on both synthetic and realworld benchmarks, including both valid and invalid instances. Parametric synthetic benchmarks test scalability, while realworld benchmarks test ability to handle huge sets of literals. Contrary to the folklore that a generalpurpose prover cannot compete with specialized reasoners, the experiments are overall favorable to the theorem prover, showing that the rewriting approach is both elegant and practical.