Computation of minimal counterexamples by using black box techniques and symbolic methods

Computing counterexamples is a crucial task for error diagnosis and debugging of sequential systems. If an implementation does not fulfill its specification, counterexamples are used to explain the error effect to the designer. In order to be understood by the designer, counterexamples should be simple, i.e. they should be as general as possible and assign values to a minimal number of input signals. Here we use the concept of Black Boxes --- parts of the design with unknown behavior --- to mask out components for counterexample computation. By doing so, the resulting counterexample will argue about a reduced number of components in the system to facilitate the task of understanding and correcting the error. We introduce the notion of 'uniform counterexamples' to provide an exact formalization of simplified counterexamples arguing only about components which were not masked out. Our computation of counterexamples is based on symbolic methods using AIGs (And-Inverter-Graphs). Experimental results using a VLIW processor as a case study clearly demonstrate our capability of providing simplified counterexamples.

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

[2]  Bernd Becker,et al.  Advanced SAT-Techniques for Bounded Model Checking of Blackbox Designs , 2006, Seventh International Workshop on Microprocessor Test and Verification (MTV'06).

[3]  Randal E. Bryant,et al.  Formal verification by symbolic evaluation of partially-ordered trajectories , 1995, Formal Methods Syst. Des..

[4]  Thomas Kropf,et al.  A common approach to test generation and hardware verification based on temporal logic , 1991, 1991, Proceedings. International Test Conference.

[5]  Gila Kamhi,et al.  Efficient debugging in a formal verification environment , 2003, International Journal on Software Tools for Technology Transfer.

[6]  Bernd Becker,et al.  Checking equivalence for partial implementations , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[7]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[8]  Armin Biere,et al.  Combining Decision Diagrams and SAT Procedures for Efficient Symbolic Model Checking , 2000, CAV.

[9]  In-Cheol Park,et al.  SAT-based unbounded symbolic model checking , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[10]  Christoph Scholl,et al.  Approximate Symbolic Model Checking for Incomplete Designs , 2004, FMCAD.

[11]  C. Scholl,et al.  Flexible Modeling of Unknowns in Model Checking for Incomplete Designs , 2005 .

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

[13]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.

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

[15]  Fabio Somenzi,et al.  CUDD: CU Decision Diagram Package Release 2.2.0 , 1998 .

[16]  Orna Grumberg,et al.  Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation , 2006, CAV.

[17]  Ying Qin,et al.  Minimizing Counterexample with Unit Core Extraction and Incremental SAT , 2005, VMCAI.

[18]  A. Prasad Sistla,et al.  The complexity of propositional linear temporal logics , 1982, STOC '82.

[19]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[20]  Carl-Johan H. Seger,et al.  An industrially effective environment for formal hardware verification , 2005, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[21]  Kavita Ravi,et al.  Minimal Assignments for Bounded Model Checking , 2004, TACAS.

[22]  Thomas Filkorn,et al.  Functional Extension of Symbolic Model Checking , 1991, CAV.

[23]  Olivier Coudert,et al.  Verification of Synchronous Sequential Machines Based on Symbolic Execution , 1989, Automatic Verification Methods for Finite State Systems.

[24]  Tiziano Villa,et al.  VIS: A System for Verification and Synthesis , 1996, CAV.

[25]  Melvin A. Breuer,et al.  Digital systems testing and testable design , 1990 .

[26]  Carl Pixley,et al.  A theory and implementation of sequential hardware equivalence , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[27]  Kenneth L. McMillan,et al.  Interpolation and SAT-Based Model Checking , 2003, CAV.

[28]  Masahiro Fujita,et al.  Symbolic model checking using SAT procedures instead of BDDs , 1999, DAC '99.

[29]  Aarti Gupta,et al.  Efficient SAT-based unbounded symbolic model checking using circuit cofactoring , 2004, IEEE/ACM International Conference on Computer Aided Design, 2004. ICCAD-2004..

[30]  Mary Sheeran,et al.  Checking Safety Properties Using Induction and a SAT-Solver , 2000, FMCAD.

[31]  Christoph Scholl,et al.  Advanced Unbounded Model Checking Based on AIGs, BDD Sweeping, And Quantifier Scheduling , 2006, 2006 Formal Methods in Computer Aided Design.