Formal verification at higher levels of abstraction

Most formal verification tools on the market convert a high-level register transfer level (RTL) design into a bit-level model. Algorithms that operate at the bit-level are unable to exploit the structure provided by the higher abstraction levels, and thus, are less scalable. This tutorial surveys recent advances in formal verification using high-level models. We present word-level verification with predicate abstraction and satisfiability modulo theories (SMT) solvers. We then describe techniques for term-level modeling and ways to combine word-level and term-level approaches for scalable verification.

[1]  Markus Wedler,et al.  Normalization at the arithmetic bit level , 2005, Proceedings. 42nd Design Automation Conference, 2005..

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

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

[4]  Daniel Kroening,et al.  Cogent: Accurate Theorem Proving for Program Verification , 2005, CAV.

[5]  Daniel Kroening,et al.  Efficient Computation of Recurrence Diameters , 2003, VMCAI.

[6]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[7]  Sanjit A. Seshia,et al.  Modeling and Verification of Out-of-Order Microprocessors in UCLID , 2002, FMCAD.

[8]  Sriram K. Rajamani,et al.  Automatically validating temporal safety properties of interfaces , 2001, SPIN '01.

[9]  Joël Ouaknine,et al.  Deciding Bit-Vector Arithmetic with Abstraction , 2007, TACAS.

[10]  Roberto Bruttomesso,et al.  A Lazy and Layered SMT($\mathcal{BV}$) Solver for Hard Industrial Verification Problems , 2007, CAV.

[11]  Rolf Drechsler,et al.  RTL-datapath verification using integer linear programming , 2002, Proceedings of ASP-DAC/VLSI Design 2002. 7th Asia and South Pacific Design Automation Conference and 15h International Conference on VLSI Design.

[12]  Karem A. Sakallah,et al.  Refinement strategies for verification methods based on datapath abstraction , 2006, Asia and South Pacific Conference on Design Automation, 2006..

[13]  Hassen Saïdi,et al.  Construction of Abstract State Graphs with PVS , 1997, CAV.

[14]  David L. Dill,et al.  A decision procedure for bit-vector arithmetic , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[15]  Jeremy Clark A constructive Schwarz reflection principle , 2003 .

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

[17]  Daniel Kroening,et al.  Word level predicate abstraction and refinement for verifying RTL Verilog , 2005, Proceedings. 42nd Design Automation Conference, 2005..

[18]  Harald Ruess,et al.  An Efficient Decision Procedure for the Theory of Fixed-Sized Bit-Vectors , 1997, CAV.

[19]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[20]  Helmut Veith,et al.  SAT Based Predicate Abstraction for Hardware Verification , 2003, SAT.

[21]  D. Babic,et al.  Modular Arithmetic Decision Procedure , 2005 .

[22]  Kenneth L. McMillan An interpolating theorem prover , 2005, Theor. Comput. Sci..

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

[24]  Sanjit A. Seshia,et al.  Modeling and Verifying Systems Using a Logic of Counter Arithmetic with Lambda Expressions and Uninterpreted Functions , 2002, CAV.

[25]  Kwang-Ting Cheng,et al.  Assertion checking by combined word-level ATPG and modular arithmetic constraint-solving techniques , 2000, DAC.

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

[27]  Helmut Veith,et al.  Counterexamples Revisited: Principles, Algorithms, Applications , 2003, Verification: Theory and Practice.

[28]  Daniel Kroening,et al.  Predicate Abstraction of ANSI-C Programs Using SAT , 2004, Formal Methods Syst. Des..

[29]  Kwang-Ting Cheng,et al.  An efficient finite-domain constraint solver for circuits , 2004, Proceedings. 41st Design Automation Conference, 2004..

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

[31]  S.K. Srinivasan,et al.  Automatic Memory Reductions for RTL Model Verification , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

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