SOLVING INCREMENTAL SATISFIABILITY
Malek Mouhoub, Samira Sadaoui: Solving Incremental Satisfiability. International Journal on Artificial Intelligence Tools 16(1): 139-147 (2007)
Propositional satisfiability (SAT) problem is fundamental to the theory of NP-completeness. Indeed, using the concept... more Propositional satisfiability (SAT) problem is fundamental to the theory of NP-completeness. Indeed, using the concept of "polynomial-time reducibility" all NP-complete problems can be polynomially reduced to SAT. Thus, any new technique for satisfiability problems will lead to general approaches for thousands of hard combinatorial problems. In this paper, we introduce the incremental propositional satisfiability problem that consists of maintaining the satisfiability of a propositional formula anytime a conjunction of new clauses is added. More precisely, the goal here is to check whether a solution to a SAT problem continues to be a solution anytime a new set of clauses is added and if not, whether the solution can be modified efficiently to satisfy the old formula and the new clauses. We will study the applicability of systematic and approximation methods for solving incremental SAT problems. The systematic method is based on the branch and bound technique while the approximation methods rely on stochastic local search and genetic algorithms. Experimental tests, conducted on randomly generated SAT instances, demonstrate the efficiency in time of the approximation methods over the branch and bound algorithm. However these approximation methods do not always guarantee the completeness of the solution returned. We show that a method we propose that uses non systematic search in a limited form together with branch and bound has the best compromise, in practice, between time and quality of the solution returned (success ratio).
Systematic versus Local Search Techniques for Incremental SAT
M. Mouhoub. Systematic versus Local Search Techniques for Incremental SAT. International Journal of Computational Intelligence and Applications(IJCIA). Imperial College Press, pages 77-96, Vol. 7, No. 1. 2008.
Propositional satisfiability (SAT) problem is fundamental to the theory of NP-completeness. Indeed, using the concept... more Propositional satisfiability (SAT) problem is fundamental to the theory of NP-completeness. Indeed, using the concept of "polynomial-time reducibility" all NP-complete problems can be polynomially reduced to SAT. Thus, any new technique for satisfiability problems will lead to general approaches for thousands of hard combinatorial problems. In this paper, we introduce the incremental propositional satisfiability problem that consists of maintaining the satisfiability of a propositional formula anytime a conjunction of new clauses is added. More precisely, the goal here is to check whether a solution to a SAT problem continues to be a solution anytime a new set of clauses is added and if not, whether the solution can be modified efficiently to satisfy the old formula and the new clauses. We will study the applicability of systematic and approximation methods for solving incremental SAT problems. The systematic method is based on the branch and bound technique, whereas the approximation methods rely on stochastic local search (SLS) and genetic algorithms (GAs). A comprehensive empirical study, conducted on a wide range of randomly generated consistent SAT instances, demonstrates the efficiency in time of the approximation methods over the branch and bound algorithm. However, these approximation methods do not guarantee the completeness of the solution returned. We show that a method we propose that uses nonsystematic search in a limited form together with branch and bound has the best compromise, in practice, between time and the success ratio (percentage of instances completely solved).
Exploring Predictability of SAT/SMT Solvers
R. Brummayer, D. Oe, A. Stump. Exploring Predictability of SAT/SMT Solvers. Intl. Workshop on Evaluation Methods for Solvers and Quality Metrics for Solutions (EMSQMS'10), affiliated to IJCAR'10 and CAV'10 at FLOC'10.
This paper seeks to explore the predictability of SAT and SMT solvers in response to different kinds of changes to... more This paper seeks to explore the predictability of SAT and SMT solvers in response to different kinds of changes to benchmarks. We consider both semantics-preserving and possibly semantics modifying transformations, and provide preliminary data about solver predictability. We also propose carrying learned theory lemmas over from an original run to runs on similar benchmarks, and show the benefits of this idea as a heuristic for improving predictability of SMT solvers.
Effective Bit-Width and Under-Approximation
R. Brummayer, A. Biere. Effective Bit-Width and Under-Approximation. In Proc. 12th Intl. Conference on Computer Aided Systems Theory (EUROCAST'09), Lecture Notes in Computer Science (LNCS) vol. 5717, pages 304-311 Springer 2009.
Recently, it has been proposed to use approximation techniques in the context of decision procedures for the quanti... more Recently, it has been proposed to use approximation techniques in the context of decision procedures for the quantier-free theory of fixed-size bit-vectors. We discuss existing and novel variants of underapproximation techniques. Under-approximations produce smaller models and may reduce solving time signifficantly. We propose a new technique that allows early termination of an under-approximation refinement loop, although the original formula is unsatisable. Moreover, we show how over-approximation and under-approximation techniques can be combined. Finally, we evaluate the effectiveness of our approach on array and bit-vector benchmarks of the SMT library.
Fuzzing and Delta-Debugging SMT Solvers
R. Brummayer, A. Biere. Fuzzing and Delta-Debugging SMT Solvers. In Proc. 7th Intl. Workshop on Satisfiability Modulo Theories (SMT'09), Montreal, Canada, August 2009.
SMT solvers are widely used as core engines in many applications. Therefore, robustness and correctness are essential... more SMT solvers are widely used as core engines in many applications. Therefore, robustness and correctness are essential criteria. Current testing techniques used by developers of SMT solvers do not satisfy the high demand for correct and robust solvers, as our testing experiments show. To improve this situation, we propose to complement traditional testing techniques with grammar-based blackbox fuzz testing, combined with delta-debugging. We demonstrate the effectiveness of our approach and report on critical bugs and incorrect results which we found in current state-of-the-art SMT solvers for bit-vectors and arrays.
Lemmas on Demand for the Extensional Theory of Arrays
R. Brummayer, A. Biere. Lemmas on Demand for the Extensional Theory of Arrays. Journal on Satisfiability, Boolean Modeling and Computation (JSAT), vol. 6, pages 165-201, Delft University, 2009.
The quantifier-free extensional theory of arrays T_A plays an important role in hardware and software verification. In... more The quantifier-free extensional theory of arrays T_A plays an important role in hardware and software verification. In this article we present a novel decision procedure that refines formula abstractions with lemmas on demand. We consider the case where T_A is combined with a decidable quantifier-free first-order theory T_B. Unlike traditional lazy SMT approaches, where lemmas are added on the boolean abstraction layer, our decision procedure adds lemmas in T_B. We discuss our decision procedure in detail. In particular, we prove soundness and completeness, and discuss complexity. We present our decision procedure in a generic context and provide implementation details and optimizations, in particular for bit-vectors. Finally, we report on experiments and discuss related work.
Boolector: An Efficient SMT Solver for Bit-Vectors and Arrays
R. Brummayer, A. Biere. Boolector: An Efficient SMT Solver for Bit-Vectors and Arrays. In Proc. 15th Intl. Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS'09), Lecture Notes in Computer Science (LNCS), vol. 5505, Springer 2009.
Satis ability Modulo Theories (SMT) is the problem of deciding satis ability of a logical formula, expressed in a... more Satisability Modulo Theories (SMT) is the problem of deciding satisability of a logical formula, expressed in a combination of first-order theories. We present the architecture and selected features of Boolector, which is an efficient SMT solver for the quantier-free theories of bit-vectors and arrays. It uses term rewriting, bit-blasting to handle bit-vectors, and lemmas on demand for arrays.
BTOR: Bit-Precise Modelling of Word-Level Problems for Model Checking
R. Brummayer, A. Biere, F. Lonsing. BTOR: Bit-Precise Modelling of Word-Level Problems for Model Checking. In Proc. 1st Intl. Workshop on Bit-Precise Reasoning (BPR'08), Princeton, New Jersey, USA, July 2008.
This is a proposal for a bit-precise word-level format, called BTOR. It is easy to parse and has precise semantics. In... more This is a proposal for a bit-precise word-level format, called BTOR. It is easy to parse and has precise semantics. In its basic form it allows to model SMT problems over the quantier-free theory of bit-vectors in combination with onedimensional arrays. Our main contribution is a sequential extension that can be used to capture model checking problems on the word-level. We present two case studies where BTOR is used as sequential format. Finally, we report on experimental results for the model checking extension of our SMT solver Boolector.
Lemmas on Demand for the Extensional Theory of Arrays
R. Brummayer, A. Biere. Lemmas on Demand for the Extensional Theory of Arrays. In Proc. 6th Intl. Workshop on Satisfiability Modulo Theories (SMT'08), Princeton, New Jersey, USA, July 2008
Deciding satis ability in the theory of arrays, particularly in combination with bit-vectors, is essential for... more Deciding satisability in the theory of arrays, particularly in combination with bit-vectors, is essential for software and hardware verication. We precisely describe how the lemmas on demand approach can be applied to this decision problem. In particular, we show how our new propagation based algorithm can be generalized to the extensional theory of arrays. Our implementation achieves competitive performance.

