A Lazy and Layered SMT(\(\mathcal{BV}\)) Solver for Hard Industrial Verification Problems

  • Roberto Bruttomesso
  • Alessandro Cimatti
  • Anders Franzén
  • Alberto Griggio
  • Ziyad Hanna
  • Alexander Nadel
  • Amit Palti
  • Roberto Sebastiani
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4590)

Abstract

Rarely verification problems originate from bit-level descriptions. Yet, most of the verification technologies are based on bit blasting, i.e., reduction to boolean reasoning.

In this paper we advocate reasoning at higher level of abstraction, within the theory of bit vectors (\(\mathcal{BV}\)), where structural information (e.g. equalities, arithmetic functions) is not blasted into bits.Our approach relies on the lazy Satisfiability Modulo Theories (SMT) paradigm. We developed a satisfiability procedure for reasoning about bit vectors that carefully leverages on the power of boolean SAT solver to deal with components that are more naturally “boolean”, and activates bit-vector reasoning whenever possible. The procedure has two distinguishing features. First, it relies on the on-line integration of a SAT solver with an incremental and backtrackable solver for \({\mathcal{BV}}\) that enables dynamical optimization of the reasoning about bit vectors; for instance, this is an improvement over static encoding methods which may generate smaller slices of bit-vector variables. Second, the solver for \({\mathcal{BV}}\) is layered (i.e., it privileges cheaper forms of reasoning), and it is based on a flexible use of term rewriting techniques.

We evaluate our approach on a set of realistic industrial benchmarks, and demonstrate substantial improvements with respect to state-of-the-art boolean satisfiability solvers, as well as other decision procedures for SMT\({\mathcal{(BV)}}\).

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
  2. 2.
    Andraus, Z.S., Sakallah, K.A.: Automatic abstraction and verification of verilog models. In: Proc. DAC 2004, ACM Press, New York (2004)Google Scholar
  3. 3.
    Barrett, C.W., Dill, D.L., Levitt, J.R.: A Decision Procedure for Bit-Vector Arithmetic. In: Design Automation Conference, pp. 522–527 (1998)Google Scholar
  4. 4.
    Bozzano, M., Bruttomesso, R., Cimatti, A., Franzén, A., Hanna, Z., Khasidashvili, Z., Palti, A., Sebastiani, R.: Encoding RTL Constructs for MathSAT: a Preliminary Report. In: Proc. PDPAR 2005. ENTCS, vol. 144 (2), Elsevier, Amsterdam (2006)Google Scholar
  5. 5.
    Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T., van Rossum, P., Schulz, S., Sebastiani, R.: MathSAT: A Tight Integration of SAT and Mathematical Decision Procedure. Journal of Automated Reasoning 35(1-3) (2005)Google Scholar
  6. 6.
    Brinkmann, R., Drechsler, R.: RTL-datapath verification using integer linear programming. In: Proc. ASP-DAC 2002, pp. 741–746. IEEE Computer Society Press, Los Alamitos (2002)Google Scholar
  7. 7.
    Bryant, R.E.: Graph-Based Algorithms for Boolean Function Manipulation. IEEE Transactions on Computers C35(8), 677–691 (1986)Google Scholar
  8. 8.
    Chinneck, J.W., Dravnieks, E.W.: Locating Minimal Infeasible Constraint Sets in Linear Programs. ORSA Journal on Computing 3(2), 157–168 (1991)MATHGoogle Scholar
  9. 9.
    Cyrluk, D., Möller, O., Rueß, H.: An Efficient Decision Procedure for the Theory of Fixed-Sized Bit-Vectors. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, Springer, Heidelberg (1997)Google Scholar
  10. 10.
    Dutertre, B., de Moura, L.: System Description: Yices 1.0. In: Proc. SMT-COMP 2006 (2006)Google Scholar
  11. 11.
    Ganesh, V., Berezin, S., Dill, D.L.: A Decision Procedure for Fixed-width Bit-vectors. Technical report, Stanford University (2005), http://theory.stanford.edu/~vganesh/
  12. 12.
    Johannsen, P., Drechsler, R.: Speeding Up Verification of RTL Designs by Computing One-to-one Abstractions with Reduced Signal Widths. In: VLSI-SOC (2001)Google Scholar
  13. 13.
    Manolios, P., Srinivasan, S.K., Vroon, D.: Automatic Memory Reductions for RTL-Level Verification. In: Proc. ICCAD 2006, ACM Press, New York (2006)Google Scholar
  14. 14.
    Möller, M.O., Ruess, H.: Solving bit-vector equations. In: Gopalakrishnan, G.C., Windley, P. (eds.) FMCAD 1998. LNCS, vol. 1522, Springer, Heidelberg (1998)Google Scholar
  15. 15.
    Moskewicz, M.W., Madigan, C.F., Zhang, Y.Z.L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Design Automation Conference (2001)Google Scholar
  16. 16.
    Nieuwenhuis, R., Oliveras, A.: Congruence closure with integer offsets. In: Vardi, M.Y., Voronkov, A. (eds.) LPAR 2003. LNCS, vol. 2850, Springer, Heidelberg (2003)Google Scholar
  17. 17.
    Seshia, S.A., Lahiri, S.K., Bryant, R.E.: A Hybrid SAT-Based Decision Procedure for Separation Logic with Uninterpreted Functions. In: Proc. DAC 2003 (2003)Google Scholar
  18. 18.
    Singerman, E.: Challenges in making decision procedures applicable to industry. In: Proc. PDPAR 2005. ENTCS, vol. 144 (2), Elsevier, Amsterdam (2006)Google Scholar
  19. 19.
    Zeng, Z., Kalla, P., Ciesielski, M.: LPSAT: a unified approach to RTL satisfiability. In: Proc. DATE 2001, IEEE Computer Society Press, Los Alamitos (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Roberto Bruttomesso
    • 1
  • Alessandro Cimatti
    • 1
  • Anders Franzén
    • 1
    • 2
  • Alberto Griggio
    • 2
  • Ziyad Hanna
    • 3
  • Alexander Nadel
    • 3
  • Amit Palti
    • 3
  • Roberto Sebastiani
    • 2
  1. 1.FBK-irst, Povo, TrentoItaly
  2. 2.DIT, Università di TrentoItaly
  3. 3.Logic and Validation Technologies, Intel Architecture Group of HaifaIsrael

Personalised recommendations