scispace - formally typeset
Proceedings ArticleDOI

Chaff: engineering an efficient SAT solver

TLDR
The development of a new complete solver, Chaff, is described which achieves significant performance gains through careful engineering of all aspects of the search-especially a particularly efficient implementation of Boolean constraint propagation (BCP) and a novel low overhead decision strategy.
Abstract
Boolean satisfiability is probably the most studied of the combinatorial optimization/search problems. Significant effort has been devoted to trying to provide practical solutions to this problem for problem instances encountered in a range of applications in electronic design automation (EDA), as well as in artificial intelligence (AI). This study has culminated in the development of several SAT packages, both proprietary and in the public domain (e.g. GRASP, SATO) which find significant use in both research and industry. Most existing complete solvers are variants of the Davis-Putnam (DP) search algorithm. In this paper we describe the development of a new complete solver, Chaff which achieves significant performance gains through careful engineering of all aspects of the search-especially a particularly efficient implementation of Boolean constraint propagation (BCP) and a novel low overhead decision strategy. Chaff has been able to obtain one to two orders of magnitude performance improvement on difficult SAT benchmarks in comparison with other solvers (DP or otherwise), including GRASP and SATO.

read more

Content maybe subject to copyright    Report

Citations
More filters
Journal ArticleDOI

An overview of parallel SAT solving

TL;DR: This paper presents an overview of parallel SAT solving, namely, different approaches and a variety of clause sharing strategies, and an evaluation of multicore SAT solvers is presented, showing the evolution of multicores over the last years.
Book ChapterDOI

Memory Efficient All-Solutions SAT Solver and Its Application for Reachability Analysis

TL;DR: A memory-efficient All-SAT engine which, given a propositional formula over sets of important and non-important variables, returns the set of all the assignments to the important variables, which can be extended to solutions (satisfying assignments) to the formula.
Book ChapterDOI

Bounded model checking for past LTL

TL;DR: It is shown how SAT-based Bounded Model Checking techniques can be extended to deal with Linear Temporal Logics with Past Operators (PLTL), and an encoding scheme able to cope with PLTL formulas is proposed.
Journal ArticleDOI

Fast congruence closure and extensions

TL;DR: In this article, a simple and clean incremental congruence closure algorithm for ground equational theories is presented, which runs in the best known time O(n log n log n).
Proceedings ArticleDOI

Verifying Web applications using bounded model checking

TL;DR: BMC offers a more practical approach to verifying programs containing large numbers of variables, but requires fixed program diameters to be complete, and formalizing Web application vulnerabilities as a secure information flow problem with fixed diameter allows for BMC application without drawback.
References
More filters
Book

Computers and Intractability: A Guide to the Theory of NP-Completeness

TL;DR: The second edition of a quarterly column as discussed by the authors provides a continuing update to the list of problems (NP-complete and harder) presented by M. R. Garey and myself in our book "Computers and Intractability: A Guide to the Theory of NP-Completeness,” W. H. Freeman & Co., San Francisco, 1979.
Book

Genetic Algorithms

Journal ArticleDOI

Tabu Search—Part II

TL;DR: The elements of staged search and structured move sets are characterized, which bear on the issue of finiteness, and new dynamic strategies for managing tabu lists are introduced, allowing fuller exploitation of underlying evaluation functions.
Book ChapterDOI

Optimization and Approximation in Deterministic Sequencing and Scheduling: a Survey

TL;DR: In this article, the authors survey the state of the art with respect to optimization and approximation algorithms and interpret these in terms of computational complexity theory, and indicate some problems for future research and include a selective bibliography.
Book

A machine program for theorem-proving

TL;DR: The programming of a proof procedure is discussed in connection with trial runs and possible improvements.