Unbounded Scalable Verification Based on Approximate Property-Directed Reachability and Datapath Abstraction

This paper introduces the Averroes formal verification system which exploits the power of two complementary approaches: counter-example-guided abstraction and refinement (CEGAR) of the design's datapath and the recently-introduced IC3 and PDR approximate reachability algorithms. Averroes is particularly suited to the class of hardware designs consisting of wide datapaths and complex control logic, a class that covers a wide spectrum of design styles that range from general-purpose microprocessors to special-purpose embedded controllers and accelerators. In most of these designs, the number of datapath state variables is orders of magnitude larger than the number of control state variables. Thus, for purposes of verifying the correctness of the control logic (where most design errors typically reside), datapath abstraction is particularly effective at pruning away most of a design's state space leaving a much reduced "control space" that can be efficiently explored by the IC3 and PDR method. Preliminary experimental results on a suite of industrial benchmarks show that Averroes significantly outperforms verification at the bit level. To our knowledge, this is the first empirical demonstration of the possibility of automatic scalable unbounded sequential verification.

[1]  Edmund M. Clarke,et al.  Counterexample-Guided Abstraction Refinement , 2000, CAV.

[2]  Karem A. Sakallah,et al.  Automatic abstraction and verification of verilog models , 2004, Proceedings. 41st Design Automation Conference, 2004..

[3]  Karem A. Sakallah,et al.  Algorithms for Computing Minimal Unsatisfiable Subsets of Constraints , 2007, Journal of Automated Reasoning.

[4]  Robert K. Brayton,et al.  Automatic Datapath Abstraction In Hardware Systems , 1995, CAV.

[5]  Fausto Giunchiglia,et al.  NUSMV: a new symbolic model checker , 2000, International Journal on Software Tools for Technology Transfer.

[6]  Per Bjesse Word-Level Sequential Memory Abstraction for Model Checking , 2008, 2008 Formal Methods in Computer-Aided Design.

[7]  Orna Grumberg,et al.  Lazy abstraction and SAT-based reachability in hardware model checking , 2012, 2012 Formal Methods in Computer-Aided Design (FMCAD).

[8]  Hana Chockler,et al.  Incremental formal verification of hardware , 2011, 2011 Formal Methods in Computer-Aided Design (FMCAD).

[9]  Enrico Macii,et al.  Formal verification of digital systems by automatic reduction of data paths , 1997, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

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

[11]  Robert P. Kurshan,et al.  Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach , 2014 .

[12]  Nikolaj Bjørner,et al.  Generalized Property Directed Reachability , 2012, SAT.

[13]  Alessandro Cimatti,et al.  Theory and Applications of Satisfiability Testing – SAT 2012 , 2012, Lecture Notes in Computer Science.

[14]  Helmut Veith,et al.  Counterexample-guided abstraction refinement for symbolic model checking , 2003, JACM.

[15]  Zohar Manna,et al.  Checking Safety by Inductive Generalization of Counterexamples to Induction , 2007 .

[16]  Aaron R. Bradley,et al.  SAT-Based Model Checking without Unrolling , 2011, VMCAI.

[17]  R. BurchJ.,et al.  Symbolic model checking , 1992 .

[18]  Alan Mishchenko,et al.  Scalable and scalably-verifiable sequential synthesis , 2008, ICCAD 2008.

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

[20]  Armin Biere,et al.  Bounded Model Checking Using Satisfiability Solving , 2001, Formal Methods Syst. Des..

[21]  Ranga Vemuri,et al.  Automatic data path abstraction for verification of large scale designs , 1998, Proceedings International Conference on Computer Design. VLSI in Computers and Processors (Cat. No.98CB36273).

[22]  Koen Claessen,et al.  SAT-Based Verification without State Space Traversal , 2000, FMCAD.

[23]  Alberto Griggio,et al.  Software Model Checking via IC3 , 2012, CAV.

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

[25]  Robert K. Brayton,et al.  Efficient implementation of property directed reachability , 2011, 2011 Formal Methods in Computer-Aided Design (FMCAD).

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