Results 1  10
of
101
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
DPLL(T): Fast Decision Procedures
, 2004
"... The logic of equality with uninterpreted functions (EUF) and its extensions have been widely applied to processor verification, by means of a large variety of progressively more sophisticated (lazy or eager) translations into propositional SAT. Here we propose a new approach, namely a general DP ..."
Abstract

Cited by 141 (14 self)
 Add to MetaCart
(Show Context)
The logic of equality with uninterpreted functions (EUF) and its extensions have been widely applied to processor verification, by means of a large variety of progressively more sophisticated (lazy or eager) translations into propositional SAT. Here we propose a new approach, namely a general DPLL(X) engine, whose parameter X can be instantiated with a specialized solver Solver T for a given theory T , thus producing a system DPLL(T ). We describe this DPLL(T ) scheme, the interface between DPLL(X) and Solver T , the architecture of DPLL(X), and our solver for EUF, which includes incremental and backtrackable congruence closure algorithms for dealing with the builtin equality and the integer successor and predecessor symbols. Experiments with a first implementation indicate that our technique already outperforms the previous methods on most benchmarks, and scales up very well.
Towards understanding and harnessing the potential of clause learning
 Journal of Artificial Intelligence Research
, 2004
"... Efficient implementations of DPLL with the addition of clause learning are the fastest complete Boolean satisfiability solvers and can handle many significant realworld problems, such as verification, planning and design. Despite its importance, little is known of the ultimate strengths and limitat ..."
Abstract

Cited by 99 (10 self)
 Add to MetaCart
(Show Context)
Efficient implementations of DPLL with the addition of clause learning are the fastest complete Boolean satisfiability solvers and can handle many significant realworld problems, such as verification, planning and design. Despite its importance, little is known of the ultimate strengths and limitations of the technique. This paper presents the first precise characterization of clause learning as a proof system (CL), and begins the task of understanding its power by relating it to the wellstudied resolution proof system. In particular, we show that with a new learning scheme, CL can provide exponentially shorter proofs than many proper refinements of general resolution (RES) satisfying a natural property. These include regular and DavisPutnam resolution, which are already known to be much stronger than ordinary DPLL. We also show that a slight variant of CL with unlimited restarts is as powerful as RES itself. Translating these analytical results to practice, however, presents a challenge because of the nondeterministic nature of clause learning algorithms. We propose a novel way of exploiting the underlying problem structure, in the form of a high level problem description such as a graph or PDDL specification, to guide clause learning algorithms toward faster solutions. We show that this leads to exponential speedups on grid and randomized pebbling problems, as well as substantial improvements on certain ordering formulas. 1.
ARCHER: Using Symbolic, Pathsensitive Analysis to Detect Memory Access Errors
 SIGSOFT Softw. Eng. Notes
, 2003
"... Memory corruption errors lead to nondeterministic, elusive crashes. This paper describes ARCHER (ARray CHeckER) a static, e#ective memory access checker. ARCHER uses pathsensitive, interprocedural symbolic analysis to bound the values of both variables and memory sizes. It evaluates known values u ..."
Abstract

Cited by 82 (0 self)
 Add to MetaCart
(Show Context)
Memory corruption errors lead to nondeterministic, elusive crashes. This paper describes ARCHER (ARray CHeckER) a static, e#ective memory access checker. ARCHER uses pathsensitive, interprocedural symbolic analysis to bound the values of both variables and memory sizes. It evaluates known values using a constraint solver at every array access, pointer dereference, or call to a function that expects a size parameter. Accesses that violate constraints are flagged as errors. Those that are exploitable by malicious attackers are marked as security holes.
EFFICIENT ALGORITHMS FOR CLAUSELEARNING SAT SOLVERS
, 2004
"... Boolean satisfiability (SAT) is NPcomplete. No known algorithm for SAT is of polynomial time complexity. Yet, many of the SAT instances generated as a means of solving realworld electronic design automation problems are simple enough, structurally, that modern solvers can decide them efficiently. ..."
Abstract

Cited by 73 (0 self)
 Add to MetaCart
Boolean satisfiability (SAT) is NPcomplete. No known algorithm for SAT is of polynomial time complexity. Yet, many of the SAT instances generated as a means of solving realworld electronic design automation problems are simple enough, structurally, that modern solvers can decide them efficiently. Consequently, SAT solvers are widely used in industry for logic verification. The most robust solver algorithms are poorly understood and only vaguely described in the literature of the field. We refine these algorithms, and present them clearly. We introduce several new techniques for Boolean constraint propagation that substantially improve solver efficiency. We explain why literal count decision strategies succeed, and on that basis, we introduce a new decision strategy that outperforms the state of the art. The culmination of this work is the most powerful SAT solver publically available.
Fault diagnosis and logic debugging using Boolean satisfiability
 IEEE TRANS. ON CAD
, 2005
"... Recent advances in Boolean satisfiability have made it an attractive engine for solving many digital verylargescaleintegration design problems. Although useful in many stages of the design cycle, fault diagnosis and logic debugging have not been addressed within a satisfiabilitybased framework. ..."
Abstract

Cited by 73 (32 self)
 Add to MetaCart
(Show Context)
Recent advances in Boolean satisfiability have made it an attractive engine for solving many digital verylargescaleintegration design problems. Although useful in many stages of the design cycle, fault diagnosis and logic debugging have not been addressed within a satisfiabilitybased framework. This work proposes a novel Boolean satisfiabilitybased method for multiplefault diagnosis and multipledesignerror diagnosis in combinational and sequential circuits. A number of heuristics are presented that keep the method memory and runtime efficient. An extensive suite of experiments on large circuits corrupted with different types of faults and errors confirm its robustness and practicality. They also suggest that satisfiability captures significant characteristics of the problem of diagnosis and encourage novel research in satisfiabilitybased diagnosis as a complementary process to design verification.
Zchaff2004: An efficient sat solver
 Lecture Notes in Computer Science
, 2005
"... Abstract. The Boolean Satisfiability Problem (SAT) is a well known NPComplete problem. While its complexity remains a source of many interesting questions for theoretical computer scientists, the problem has found many practical applications in recent years. The emergence of efficient SAT solvers w ..."
Abstract

Cited by 60 (1 self)
 Add to MetaCart
(Show Context)
Abstract. The Boolean Satisfiability Problem (SAT) is a well known NPComplete problem. While its complexity remains a source of many interesting questions for theoretical computer scientists, the problem has found many practical applications in recent years. The emergence of efficient SAT solvers which can handle large structured SAT instances has enabled the use of SAT solvers in diverse domains such as electronic design automation and artificial intelligence. These applications continue to motivate the development of faster and more robust SAT solvers. In this paper, we describe the popular SAT solver zchaff with a focus on recent developments. 1
Satisfiability Solvers
, 2008
"... The past few years have seen an enormous progress in the performance of Boolean satisfiability (SAT) solvers. Despite the worstcase exponential run time of all known algorithms, satisfiability solvers are increasingly leaving their mark as a generalpurpose tool in areas as diverse as software and h ..."
Abstract

Cited by 50 (0 self)
 Add to MetaCart
The past few years have seen an enormous progress in the performance of Boolean satisfiability (SAT) solvers. Despite the worstcase exponential run time of all known algorithms, satisfiability solvers are increasingly leaving their mark as a generalpurpose tool in areas as diverse as software and hardware verification [29–31, 228], automatic test pattern generation [138, 221], planning [129, 197], scheduling [103], and even challenging problems from algebra [238]. Annual SAT competitions have led to the development of dozens of clever implementations of such solvers [e.g. 13,
A Hybrid SATBased Decision Procedure for Separation Logic with Uninterpreted Functions
 In Proc. DAC’03
, 2003
"... SATbased decision procedures for quantifierfree fragments of firstorder logic have proved to be useful in formal verification. These decision procedures are either based on encoding atomic subformulas with Boolean variables, or by encoding integer variables as bitvectors. Based on evaluating the ..."
Abstract

Cited by 45 (4 self)
 Add to MetaCart
(Show Context)
SATbased decision procedures for quantifierfree fragments of firstorder logic have proved to be useful in formal verification. These decision procedures are either based on encoding atomic subformulas with Boolean variables, or by encoding integer variables as bitvectors. Based on evaluating these two encoding methods on a diverse set of hardware and software benchmarks, we conclude that neither method is robust to variations in formula characteristics. We therefore propose a new hybrid technique that combines the two methods. We give experimental results showing that the hybrid method can significantly outperform either approach as well as other decision procedures.