Boolean Satisfiability Solvers and Their Applications in Model Checking

  title={Boolean Satisfiability Solvers and Their Applications in Model Checking},
  author={Yakir Vizel and Georg Weissenbacher and Sharad Malik},
  journal={Proceedings of the IEEE},
Boolean satisfiability (SAT)-the problem of determining whether there exists an assignment satisfying a given Boolean formula-is a fundamental intractable problem in computer science. SAT has many applications in electronic design automation (EDA), notably in synthesis and verification. Consequently, SAT has received much attention from the EDA community, who developed algorithms that have had a significant impact on the performance of SAT solvers. EDA researchers introduced techniques such as… 

Figures from this paper

A comprehensive study and analysis on SAT-solvers: advances, usages and achievements

A comprehensive study and analysis of the latest developments in SAT-solver and new approaches that used in branching heuristics, Boolean constraint propagation and conflict analysis techniques during the last two decade are presented.

SAT-Based Model Checking

This chapter covers the application of bounded model checking to both hardware and software systems, and to hardware/software co-verification, and means to make BMC complete, including \(k\)-induction, Craig interpolation, abstraction refinement techniques, and inductive techniques with iterative strengthening.

Improving performance of CDCL SAT solvers by automated design of variable selection heuristics

Experimental results are provided demonstrating that this system, which evolves variable scoring heuristics using an asynchronous parallel hyper-heuristics approach employing genetic programming, has the potential to create more efficient solvers for particular problem classes.

Approximate Reachability

A new SAT-based safety model checking framework, named approximate reachability (AR), based on standard reachability analysis, that is able to solve 33 benchmarks that cannot be solved by IC3/PDR and should be considered as a valuable member of any algorithmic portfolio for safety modelchecking.

The Science, Art, and Magic of Constrained Horn Clauses

  • A. GurfinkelN. Bjørner
  • Computer Science
    2019 21st International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC)
  • 2019
A framework is presented that reduces symbolically solving Horn clauses to multiple simpler Satisfiability Modulo Theories, SMT, queries and describes advances in SMT that are necessary to make the framework a reality.

Zeon and Idem-Clifford Formulations of Boolean Satisfiability

The Boolean satisfiability problem (SAT) is the problem of determining whether the variables of a given Boolean formula can be consistently replaced by true or false in such a way that the formula

Two SAT solvers for solving quantified Boolean formulas with an arbitrary number of quantifier alternations

A novel algorithm for expansion-based QBF solving that deals with the whole quantifier prefix at once and is conceptually simpler than present recursive approaches.

Solving linear arithmetic with SAT-based model checking

LIAMC is a novel decision procedure for (quantifier-free) linear arithmetic over both integers modulo 2N (LIAn) and integers (LIA) based on a transformation of linear arithmetic into safety verification and uses SAT-based model checking to solve the resulting problem.

Solving Dynamic 3-SAT Formula: An Empirical Study

It is argued that it is very significant to pay more attention to SAT solvers with the resuming strategy, because many state-of-the-art SATsolvers do not facilitate the previous solutions and might have better performance than a recent solver with the restating strategy.

Finding More Property Violations in Model Checking via the Restart Policy

The recently proposed Complementary Approximate Reachability (CAR) model checking algorithm is enhanced by integrating the restart policy, which yields a restartable CAR model (abbreviated as r-CAR), which can help avoid the trap problem caused by the depth-first strategy.



Boolean Satisfiability Solvers: Techniques and Extensions

Boolean Satisfiability (SAT) is the problem of checking if a propositional logic formula can ever evaluate to true and manifests itself in several important application domains such as the design and verification of hardware and software systems, as well as applications in artificial intelligence.

An Analysis of SAT-Based Model Checking Techniques in an Industrial Environment

The paper describes eight bounded and unbounded techniques, and analyzes the performance of these algorithms on a large and diverse set of hardware benchmarks.

Verification of proofs of unsatisfiability for CNF formulas

  • E. GoldbergY. Novikov
  • Computer Science
    2003 Design, Automation and Test in Europe Conference and Exhibition
  • 2003
This work describes an efficient procedure for checking the correctness of unsatisfiability proofs and finds an unsatisfiable core of the initial CNF formula.

Inprocessing Rules

The formal underpinnings of inprocessing SAT solving are established via an abstract inprocessing framework that covers a wide range of modern SAT solving techniques.

A survey of recent advances in SAT-based formal verification

A survey of the latest developments in SAT-based formal verification, including incomplete methods such as bounded model checking and complete methods for model checking, focuses on how the surveyed techniques formulate the verification problem as a SAT problem and how they exploit crucial aspects of a SAT solver.

Validating SAT solvers using an independent resolution-based checker: practical implementations and other applications

  • Lintao ZhangS. Malik
  • Computer Science
    2003 Design, Automation and Test in Europe Conference and Exhibition
  • 2003
The implementation of an independent resolution-based checking procedure that can check the validity of unsatisfiable claims produced by the SAT solver zchaff is described and Experimental results show low overhead for the checking process.

Interpolation with Guided Refinement: Revisiting incrementality in SAT-based unbounded model checking

The new model checking algorithm (IGR: Interpolation with Guided Refinement), partially takes inspiration from IC3 and interpolation sequences, and bases its robustness and scalability on incremental refinement of state sets, and guided unwinding/simplification of transition relation unrollings.

Interpolation-sequence based model checking

This work presents a novel SAT-based approach to full verification that combines BMC with interpolation-sequence in order to imitate BDD-based Symbolic Model Checking and compares favorably with McMillan's interpolation based model checking algorithm.

Preprocessing and Inprocessing Techniques in SAT

  • Armin Biere
  • Computer Science
    Haifa Verification Conference
  • 2011
An overview of old and more recent inprocessing and preprocessing techniques starting with ancient pure literal reasoning and failed literal probing and concluding with recent results on unhiding redundancy fast.