Exploiting step semantics for efficient bounded model checking of asynchronous systems

This paper discusses bounded model checking (BMC) for asynchronous systems. Bounded model checking is a technique that employs the power of efficient SAT and SMT solvers for model checking. The main contribution of this paper is the presentation of a simple modeling formalism independent way of translating an asynchronous system into a transition formula for three partial order semantics: the @?-step semantics, its generalization, the relaxed @?-step semantics, and a novel variant that combines the latter with the idea of process semantics. Step and process semantics have been introduced in earlier works for different low level asynchronous system formalisms to improve the efficiency of BMC. However, this paper is the first one showing how to translate the semantics for any asynchronous system modeling formalism including high-level data manipulation operations while encoding the independence of actions in a dynamic fashion. Thus, the approaches have been extended to cover a larger class of modeling formalisms. The technical approach uses the notion of a coherent encoding of the transition relation, making for a simple and elegant translation of the partial order semantics in question. The presented translations have been implemented and we present extensive empirical results comparing the efficiency of the different translations to each other as well as to an explicit state model checker DiVinE on its own BEEM benchmark suite.

[1]  Tatsuhiro Tsuchiya,et al.  SAT-Based Verification of Safe Petri Nets , 2004, ATVA.

[2]  Peter Niebert,et al.  SAT Based Bounded Model Checking with Partial Order Semantics for Timed Automata , 2010, TACAS.

[3]  Ilkka Niemelä,et al.  BMC via on-the-fly determinization , 2003, Electron. Notes Theor. Comput. Sci..

[4]  D. Younger Minimum Feedback Arc Sets for a Directed Graph , 1963 .

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

[6]  Sebastian Burckhardt,et al.  CheckFence: checking consistency of concurrent data types on relaxed memory models , 2007, PLDI '07.

[7]  Yves Métivier,et al.  Partial Commutation and Traces , 1997, Handbook of Formal Languages.

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

[9]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[10]  Silvio Ghilardi,et al.  Towards SMT Model Checking of Array-Based Systems , 2008, IJCAR.

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

[12]  Niklas Sörensson,et al.  Temporal induction by incremental SAT solving , 2003, BMC@CAV.

[13]  Radek Pelánek,et al.  BEEM: Benchmarks for Explicit Model Checkers , 2007, SPIN.

[14]  Kenneth L. McMillan,et al.  Using Unfoldings to Avoid the State Explosion Problem in the Verification of Asynchronous Circuits , 1992, CAV.

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

[16]  Lubos Brim,et al.  DiVinE 2.0: High-Performance Model Checking , 2009, 2009 International Workshop on High Performance Computational Systems Biology.

[17]  Tommi A. Junttila,et al.  Encoding Queues in Satisfiability Modulo Theories Based Bounded Model Checking , 2008, LPAR.

[18]  Toni Jussila,et al.  On bounded model checking of asynchronous systems , 2005 .

[19]  Jim Davies,et al.  Science of Computer Programming , 2014 .

[20]  Christel Baier,et al.  Principles of Model Checking (Representation and Mind Series) , 2008 .

[21]  Antti Valmari,et al.  The State Explosion Problem , 1996, Petri Nets.

[22]  Bart Selman,et al.  Pushing the Envelope: Planning, Propositional Logic and Stochastic Search , 1996, AAAI/IAAI, Vol. 2.

[23]  Javier Esparza,et al.  Unfoldings - A Partial-Order Approach to Model Checking , 2008, Monographs in Theoretical Computer Science. An EATCS Series.

[24]  Jori Dubrovin Checking Bounded Reachability in Asynchronous Systems by Symbolic Event Tracing , 2010, VMCAI.

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

[26]  Christel Baier,et al.  Principles of model checking , 2008 .

[27]  Raymond R. Devillers,et al.  Sequential and Concurrent Behaviour in Petri Net Theory , 1987, Theor. Comput. Sci..

[28]  Jussi Rintanen,et al.  Planning as Satisfiability with Relaxed $-Step Plans , 2007, Australian Conference on Artificial Intelligence.

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

[30]  Toni Jussila BMC via dynamic atomicity analysis , 2004, Proceedings. Fourth International Conference on Application of Concurrency to System Design, 2004. ACSD 2004..

[31]  Richard Gerber,et al.  Symbolic Model Checking of Infinite State Systems Using Presburger Arithmetic , 1997, CAV.

[32]  Keijo Heljanko,et al.  Symbolic Step Encodings for Object Based Communicating State Machines , 2008, FMOODS.

[33]  Parosh Aziz Abdulla,et al.  Parameterized Verification of Infinite-State Processes with Global Conditions , 2007, CAV.

[34]  Bernhard Nebel,et al.  Encoding Planning Problems in Nonmonotonic Logic Programs , 1997, ECP.

[35]  Wolfgang Reisig,et al.  Lectures on Petri Nets I: Basic Models , 1996, Lecture Notes in Computer Science.

[36]  Toby Walsh,et al.  Handbook of satisfiability , 2009 .

[37]  Armin Biere,et al.  Boolector: An Efficient SMT Solver for Bit-Vectors and Arrays , 2009, TACAS.

[38]  Andrei Voronkov,et al.  A Logical Reconstruction of Reachability , 2003, Ershov Memorial Conference.

[39]  C. Tinelli,et al.  The SMT-LIB Standard : Version 1 . 0 Working Draft , 2004 .

[40]  Viktor Schuppan,et al.  Linear Encodings of Bounded LTL Model Checking , 2006, Log. Methods Comput. Sci..

[41]  Amir Pnueli,et al.  Symbolic model checking with rich assertional languages , 2001, Theor. Comput. Sci..

[42]  Keijo Heljanko,et al.  Bounded Reachability Checking with Process Semantics , 2001, CONCUR.

[43]  Henry Kautz,et al.  Pushing the envelope: planning , 1996 .

[44]  Ilkka Niemelä,et al.  Planning as satisfiability: parallel plans and algorithms for plan search , 2006, Artif. Intell..

[45]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[46]  Grzegorz Rozenberg,et al.  Handbook of Formal Languages , 1997, Springer Berlin Heidelberg.

[47]  Ilkka Niemelä,et al.  Bounded LTL model checking with stable models , 2003, Theory Pract. Log. Program..

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

[49]  Ahmed Bouajjani,et al.  Rewriting Systems with Data , 2007, FCT.