Experimental Studies on SMT-based Debugging

SAT-based debugging is a method to automate the debugging process that works quite well on the Boolean level. But on circuits with large arithmetic structures the underlying SAT solver – a Boolean proof engine – often does not finish within the required resource limits. Thus, new solving techniques are required to overcome the gap. Solvers for Satisfiability Modulo Theory (SMT) provide a higher level of abstraction by combining SAT with theory solvers on the word level. This allows compact handling of many hardware components. In this work we focus on debugging with SMT, i.e. SMTbased debugging. An evaluation on combinational and sequential models on RTL is given. For more than 90% of the instances our experimental studies show significant run time improvements of SMT-based debugging over SATbased debugging.

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

[2]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[3]  Rolf Drechsler,et al.  Automatic Fault Localization for Property Checking , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[4]  Niklas Sörensson,et al.  Translating Pseudo-Boolean Constraints into SAT , 2006, J. Satisf. Boolean Model. Comput..

[5]  Sean Safarpour,et al.  Improved Design Debugging Using Maximum Satisfiability , 2007 .

[6]  J. P. Marques,et al.  GRASP : A Search Algorithm for Propositional Satisfiability , 1999 .

[7]  Igor L. Markov,et al.  Fixing Design Errors with Counterexamples and Resynthesis , 2007, 2007 Asia and South Pacific Design Automation Conference.

[8]  Rolf Drechsler,et al.  MODELING AND FORMAL VERIFICATION OF COUNTING HEADS FOR RAILWAYS , 2008 .

[9]  Marco Bozzano,et al.  The MathSAT 3 System , 2005, CADE.

[10]  Rolf Drechsler,et al.  Efficient Hierarchical System Debugging for Property Checking , 2005 .

[11]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[12]  L. D. Moura,et al.  The YICES SMT Solver , 2006 .

[13]  Robert Wille,et al.  Evaluation of SAT like Proof Techniques for Formal Verification of Word Level Circuits , 2007 .

[14]  Aaron Stump,et al.  SMT-COMP: Satisfiability Modulo Theories Competition , 2005, CAV.

[15]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[16]  Sean Safarpour,et al.  Abstraction and refinement techniques in automated design debugging , 2007 .

[17]  Rolf Drechsler,et al.  Using unsatisfiable cores to debug multiple design errors , 2008, GLSVLSI '08.

[18]  Cesare Tinelli,et al.  DPLL( T): Fast Decision Procedures , 2004, CAV.

[19]  David L. Dill,et al.  A Decision Procedure for Bit-Vectors and Arrays , 2007, CAV.

[20]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[21]  Rolf Drechsler,et al.  Post-verification debugging of hierarchical designs , 2005, ICCAD 2005.

[22]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

[23]  Andreas G. Veneris Fault diagnosis and logic debugging using Boolean satisfiability , 2003, Proceedings. 4th International Workshop on Microprocessor Test and Verification - Common Challenges and Solutions.