NuMDG: a new tool for multiway decision graphs construction

Multiway Decision Graphs (MDGs) are a canonical representation of a subset of many-sorted first-order logic. This subset generalizes the logic of equality with abstract types and uninterpreted function symbols. The distinction between abstract and concrete sorts mirrors the hardware distinction between data path and control. Here we consider ways to improve MDGs construction. Efficiency is achieved through the use of the Generalized-If-Then-Else (GITE) commonly operator in Binary Decision Diagram packages. Consequently, we review the main algorithms used for MDGs verification techniques. In particular, Relational Product and Pruning by Subsumption are algorithms defined uniformly through this single GITE operator which will lead to a more efficient implementation. Moreover, we provide their correctness proof. This work can be viewed as a way to accommodate the ROBBD algorithms to the realm of abstract sorts and un interpreted functions. The new tool, called NuMDG, accepts an extended SMV language, supporting abstract data sorts. Finally, we present experimental results demonstrating the efficiency of the NuMDG tool and evaluating its performance using a set of benchmarks from the SMV package.

[1]  Amir Pnueli,et al.  Deciding Equality Formulas by Small Domains Instantiations , 1999, CAV.

[2]  Doron A. Peled Combining Partial Order Reductions with On-the-fly Model-Checking , 1994, CAV.

[3]  Xiaoyu Song,et al.  On the non-termination of M-based abstract state enumeration , 1997, Theor. Comput. Sci..

[4]  Shuvendu K. Lahiri,et al.  Revisiting Positive Equality , 2004, TACAS.

[5]  Hong Chen,et al.  Recurrence Domains: Their Unification and Application to Logic Programming , 1995, Inf. Comput..

[6]  R. I. Bahar,et al.  Algebraic decision diagrams and their applications , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[7]  Randal E. Bryant,et al.  Processor verification using efficient reductions of the logic of uninterpreted functions to propositional logic , 1999, TOCL.

[8]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

[9]  R. Brayton,et al.  Verifying linear temporal properties of data insensitive controllers using finite instantiations , 1997 .

[10]  Randal E. Bryant,et al.  Exploiting Positive Equality in a Logic of Equality with Uninterpreted Functions , 1999, CAV.

[11]  Xiaoyu Song,et al.  Model Checking for a First-Order Temporal Logic Using Multiway Decision Graphs (MDGs) , 2004, Comput. J..

[12]  Randal E. Bryant,et al.  Effective use of Boolean satisfiability procedures in the formal verification of superscalar and VLIW microprocessors , 2003, J. Symb. Comput..

[13]  Pascal Fontaine,et al.  Using BDDs with Combinations of Theories , 2002, LPAR.

[14]  Ofer Strichman,et al.  Finite Instantiations in Equivalence Logic with Uninterpreted Functions , 2001, CAV.

[15]  Sofiène Tahar,et al.  Modeling and formal verification of the Fairisle ATM switch fabricusing MDGs , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[16]  Xiaoyu Song,et al.  Multiway decision graphs and their applications in automatic formal verification of rtl designs , 1997 .

[17]  Xiaoyu Song,et al.  MDG-based verification by retiming and combinational transformations , 1998, Proceedings of the 8th Great Lakes Symposium on VLSI (Cat. No.98TB100222).

[18]  Miroslav N. Velev,et al.  Using Automatic Case Splits and Efficient CNF Translation to Guide a SAT-solver when Formally Verifying Out-Of-Order Processors , 2004, AI&M.

[19]  Wilhelm Ackermann,et al.  Solvable Cases Of The Decision Problem , 1954 .

[20]  Sofiène Tahar,et al.  Formal Verification of the Island Tunnel Controller Using Multiway Decision Graphs , 1996, FMCAD.

[21]  Doron A. Peled,et al.  Static Partial Order Reduction , 1998, TACAS.

[22]  David L. Dill,et al.  Automatic verification of Pipelined Microprocessor Control , 1994, CAV.

[23]  Sofiène Tahar,et al.  A New Approach for the Construction of Multiway Decision Graphs , 2008, ICTAC.

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

[25]  William F. Clocksin,et al.  Programming in Prolog , 1981, Springer Berlin Heidelberg.

[26]  Miroslav N. Velev,et al.  Using rewriting rules and positive equality to formally verify wide-issue out-of-order microprocessors with a reorder buffer , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[27]  Xiaoyu Song,et al.  Multiway Decision Graphs for Automated Hardware Verification , 1997, Formal Methods Syst. Des..

[28]  Armin Biere,et al.  Combining Symbolic Model Checking with Uninterpreted Functions for Out-of-Order Processor Verification , 1998, FMCAD.

[29]  Xiaoyu Song,et al.  Model Checking for a First-Order Temporal Logic Using Multiway Decision Graphs , 1998, CAV.

[30]  Amir Pnueli,et al.  Herbrand Automata for Hardware Verification , 1998, CONCUR.

[31]  Hai Zhou,et al.  BDD Based Procedures for a Theory of Equality with Uninterpreted Functions , 2003, Formal Methods Syst. Des..