Partial Order Reduction for Deep Bug Finding in Synchronous Hardware

Symbolic model checking has become an important part of the verification flow in industrial hardware design. However, its use is still limited due to scaling issues. One way to address this is to exploit the large amounts of symmetry present in many real world designs. In this paper, we adapt partial order reduction for bounded model checking of synchronous hardware and introduce a novel technique that makes partial order reduction practical in this new domain. These approaches are largely automatic, requiring only minimal manual effort. We evaluate our technique on open-source and commercial packet mover circuits – designs containing FIFOs and arbiters.

[1]  Wang Yi,et al.  Partial Order Reductions for Timed Systems , 1998, CONCUR.

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

[3]  Daniel Kroening,et al.  Decision Procedures - An Algorithmic Point of View , 2008, Texts in Theoretical Computer Science. An EATCS Series.

[4]  Kenneth L. McMillan,et al.  A methodology for hardware verification using compositional model checking , 2000, Sci. Comput. Program..

[5]  Stephan Merz,et al.  Model Checking , 2000 .

[6]  Michael Hamburg,et al.  Meltdown , 2018, meltdownattack.com.

[7]  Mark Horowitz,et al.  Rethinking Digital Design: Why Design Must Change , 2010, IEEE Micro.

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

[9]  Viktor Schuppan,et al.  Liveness Checking as Safety Checking , 2002, FMICS.

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

[11]  Armin Biere,et al.  Btor2 , BtorMC and Boolector 3.0 , 2018, CAV.

[12]  Ofer Shtrichman Tuning SAT Checkers for Bounded Model Checking , 2000, CAV 2000.

[13]  Ofer Strichman,et al.  Accelerating Bounded Model Checking of Safety Properties , 2004, Formal Methods Syst. Des..

[14]  Tiziana Margaria,et al.  Tools and algorithms for the construction and analysis of systems: a special issue for TACAS 2017 , 2001, International Journal on Software Tools for Technology Transfer.

[15]  M.K. Ganai,et al.  Accelerating High-level Bounded Model Checking , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

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

[17]  Robert K. Brayton,et al.  ABC: An Academic Industrial-Strength Verification Tool , 2010, CAV.

[18]  Thomas Peyrin,et al.  Security challenges in automotive hardware/software architecture design , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[19]  Michael Hamburg,et al.  Spectre Attacks: Exploiting Speculative Execution , 2018, 2019 IEEE Symposium on Security and Privacy (SP).

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

[21]  Ofer Strichman,et al.  Tuning SAT Checkers for Bounded Model Checking , 2000, CAV.

[22]  Chao Wang,et al.  Monotonic Partial Order Reduction: An Optimal Symbolic Partial Order Reduction Technique , 2009, CAV.

[23]  William K. Lam Hardware Design Verification: Simulation and Formal Method-Based Approaches (Prentice Hall Modern Semiconductor Design Series) , 2005 .

[24]  Chao Wang,et al.  Peephole Partial Order Reduction , 2008, TACAS.

[25]  Chao Wang,et al.  Learning from BDDs in SAT-based bounded model checking , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[26]  Dick Price,et al.  Pentium FDIV flaw-lessons learned , 1995, IEEE Micro.

[27]  Doron A. Peled,et al.  Verification for Robust Specification , 1997, TPHOLs.

[28]  Thomas A. Henzinger,et al.  Handbook of Model Checking , 2018, Springer International Publishing.

[29]  Ganesh Gopalakrishnan,et al.  Symbolic Partial Order Reduction for Rule Based Transition Systems , 2005, CHARME.

[30]  Pierre Wolper,et al.  An Algorithmic Approach for Checking Closure Properties of Temporal Logic Specifications and Omega-Regular Languages , 1998, Theor. Comput. Sci..

[31]  Per Bjesse A Practical Approach to Word Level Model Checking of Industrial Netlists , 2008, CAV.

[32]  Pat Hanrahan,et al.  CoSA: Integrated Verification for Agile Hardware Design , 2018, 2018 Formal Methods in Computer Aided Design (FMCAD).

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

[34]  Johann Glaser,et al.  Yosys-A Free Verilog Synthesis Suite , 2013 .

[35]  Peer Johannsen,et al.  Speeding up hardware verification by automated data path scaling , 2006 .

[36]  A. Prasad Sistla,et al.  Symmetry Reductions in Model Checking , 1998, CAV.

[37]  Harry Foster,et al.  Applied Assertion-Based Verification: An Industry Perspective , 2009, Found. Trends Electron. Des. Autom..

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