Accelerating Online Model Checking

Online model checking is a lightweight verification technique to ensure at runtime the safety of the current execution trace of the system application under test. Doing model checking online suffers from the limited execution time allocated to each checking cycle. In this paper, we focus on accelerating online model checking so that as large the model space as possible can be explored in time. For this purpose, we introduce offline backward exploration so as to reduce the workload of online forward exploration. As a result, online model checking becomes online reach ability checking. SAT solver is used as verification engine for online model checking. We improve the performance of the SAT solver zChaff by optimizing and customizing zChaff with respect to the online model checking specific features. Moreover, we take advantage of the parallel feature and the multi-port memory available on FPGA chips. We present a new underlying architecture using 2 SAT solvers as verification engine for online model checking. We implement a quick prototype of the new underlying architecture for online model checking. Several experiments are done to test the performance of our online model checking.

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

[2]  Patrice Godefroid,et al.  Partial-Order Methods for the Verification of Concurrent Systems , 1996, Lecture Notes in Computer Science.

[3]  Grigore Rosu,et al.  Java PathExplorer: A Runtime Verification Tool , 2001 .

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

[5]  Sampath Kannan,et al.  Steering of Discrete Event Systems: Control Theory Approach , 2006, Electron. Notes Theor. Comput. Sci..

[6]  Marco Pistore,et al.  Integrating BDD-Based and SAT-Based Symbolic Model Checking , 2002, FroCoS.

[7]  Yuhong Zhao,et al.  Online Model Checking for Dependable Real-Time Systems , 2012, 2012 IEEE 15th International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing.

[8]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[9]  Ohad Shacham,et al.  Tuning the VSIDS decision heuristic for bounded model checking , 2003, Proceedings. 4th International Workshop on Microprocessor Test and Verification - Common Challenges and Solutions.

[10]  Joao Marques-Silva,et al.  Algorithms for solving Boolean satisfiability in combinational circuits , 1999, Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).

[11]  Doron Drusinsky,et al.  The Temporal Rover and the ATG Rover , 2000, SPIN.

[12]  Sérgio Vale Aguiar Campos,et al.  Compositional Reasoning in Model Checking , 1997, COMPOS.

[13]  E. Clarke,et al.  Verifying Safety Properties of a PowerPC TM 1 Microprocessor Using Symbolic Model Checking without BDDs , 1999 .

[14]  Grigore Rosu,et al.  Towards Monitoring-Oriented Programming: A Paradigm Combining Specification and Implementation , 2003, RV@CAV.

[15]  Armin Biere,et al.  Bounded model checking , 2003, Adv. Comput..

[16]  Serdar Tasiran,et al.  Runtime Refinement Checking of Concurrent Data Structures , 2005, Electron. Notes Theor. Comput. Sci..

[17]  Konstantine Arkoudas,et al.  Deductive Runtime Certification , 2005, RV@ETAPS.

[18]  Arne Borälv,et al.  The Industrial Success of Verification Tools Based on Stålmarck's Method , 1997, CAV.

[19]  Per Bjesse,et al.  Finding Bugs in an Alpha Microprocessor Using Satisfiability Solvers , 2001, CAV.

[20]  Orna Grumberg,et al.  Model checking and modular verification , 1994, TOPL.

[21]  Wolfram Schulte,et al.  Spying on Components: A Runtime Verification Technique , 2001 .