Solving hard instances in QF-BV combining Boolean reasoning with computer algebra

This paper describes our new satisfyability (SAT) modulo theory (SMT) solver STABLE for the quantifier-free logic over fixed size bit vectors. Our main application domain is formal verification of system-on-chip (SoC) modules designed for complex computational tasks, for example, in signal processing applications. Ensuring proper functional behavior for such modules, including arithmetic correctness of the data paths, is considered a very difficult problem. We show how methods from computer algebra can be integrated into an SMT solver such that instances can be handled where the arithmetic problem parts are specified mixing various levels of abstraction from the plain gate level for small highly optimized components up to the pure word level used in high-level specifications. If the arithmetic problem parts include multiplications such mixed problem descriptions quickly drive current SMT solvers towards their capacity limits. High performance data paths are often designed at a level of abstraction that we call the arithmetic bit level (ABL). We show how ABL information, if available in an SMT instance, can be used to transform the decision problem into an equivalent set of variety subset problems. These problems can be solved efficiently with techniques from computer algebra based on Grobner basis theory over finite rings Z/2^n . Sometimes, instances contain problem parts at a level below the ABL using gate-level operations. These problem parts, e.g., originate from custom-designed arithmetic components that are highly optimized using the gate-level constructs of a hardware description language (HDL). For such cases we integrate a local ABL extraction technique based on local Reed-Muller forms.

[1]  Gert-Martin Greuel,et al.  The Gröbner basis of the ideal of vanishing polynomials , 2007, J. Symb. Comput..

[2]  Takafumi Aoki,et al.  Application of symbolic computer algebra to arithmetic circuit verification , 2007, 2007 25th International Conference on Computer Design.

[3]  Frank M. Hutter SPEAR Theorem Prover , 2007 .

[4]  Markus Wedler,et al.  An Algebraic Approach for Proving Data Correctness in Arithmetic Data Paths , 2008, CAV.

[5]  Armin Biere,et al.  Boolector: An Efficient SMT Solver for Bit-Vectors and Arrays , 2009, TACAS.

[6]  Ralf Fröberg,et al.  An introduction to Gröbner bases , 1997, Pure and applied mathematics.

[7]  Bruno Dutertre,et al.  A Fast Linear-Arithmetic Solver for DPLL(T) , 2006, CAV.

[8]  Priyank Kalla,et al.  Equivalence verification of arithmetic datapaths with multiple word-length operands , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[9]  Dominik Stoffel,et al.  Equivalence checking of arithmetic circuits on the arithmetic bit level , 2004, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[10]  Markus Wedler,et al.  A Normalization Method for Arithmetic Data-Path Verification , 2007, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[11]  Z. Hanna,et al.  A Lazy and Layered SMT ( B V ) Solver for Hard Industrial Verification Problems ⋆ , 2007 .

[12]  Masahiro Fujita,et al.  A Formal Approach for Debugging Arithmetic Circuits , 2009, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[13]  Michael Brickenstein,et al.  PolyBoRi: A framework for Gröbner-basis computations with Boolean polynomials , 2009, J. Symb. Comput..

[14]  G. Greuel,et al.  New developments in the theory of Grobner bases and applications to formal verification , 2008, 0801.1177.

[15]  Jacob A. Abraham,et al.  Automatic Verification of Arithmetic Circuits in RTL Using Stepwise Refinement of Term Rewriting Systems , 2007, IEEE Transactions on Computers.

[16]  Daniel Kroening,et al.  Word-Level Predicate-Abstraction and Refinement Techniques for Verifying RTL Verilog , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[17]  Priyank Kalla,et al.  Equivalence verification of polynomial datapaths with fixed-size bit-vectors using finite ring algebra , 2005, ICCAD-2005. IEEE/ACM International Conference on Computer-Aided Design, 2005..

[18]  G. Greuel,et al.  A Singular Introduction to Commutative Algebra , 2002 .

[19]  Markus Wedler,et al.  Modeling of custom-designed arithmetic components for ABL normalization , 2008, 2008 Forum on Specification, Verification and Design Languages.

[20]  Florian Enescu,et al.  Equivalence Verification of Polynomial Datapaths Using Ideal Membership Testing , 2007, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[21]  Nikolaj Bjørner,et al.  Efficient E-Matching for SMT Solvers , 2007, CADE.

[22]  Markus Wedler,et al.  Unbounded Protocol Compliance Verification Using Interval Property Checking With Invariants , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[23]  Sanjit A. Seshia,et al.  A hybrid SAT-based decision procedure for separation logic with uninterpreted functions , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).