Survey on Directed Model Checking

This article surveys and gives historical accounts to the algorithmic essentials of directed model checking , a promising bug-hunting technique to mitigate the state explosion problem. In the enumeration process, successor selection is prioritized. We discuss existing guidance and methods to automatically generate them by exploiting system abstractions. We extend the algorithms to feature partial-order reduction and show how liveness problems can be adapted by lifting the search space. For deterministic, finite domains we instantiate the algorithms to directed symbolic, external and distributed search. For real-time domains we discuss the adaption of the algorithms to timed automata and for probabilistic domains we show the application to counterexample generation. Last but not least, we explain how directed model checking helps to accelerate finding solutions to scheduling problems.

[1]  Kairong Qian,et al.  Formal symbolic verification using heuristic search and abstraction techniques , 2006 .

[2]  João L. Sobrinho Algebra and algorithms for QoS path computation and hop-by-hop routing in the internet , 2002, TNET.

[3]  S. Edelkamp,et al.  Abstraction Databases in Theory and Model Checking Practice , 2004 .

[4]  Pierre Wolper,et al.  Memory-efficient algorithms for the verification of temporal properties , 1990, Formal Methods Syst. Des..

[5]  Moshe Y. Vardi,et al.  Prioritized Traversal: Efficient Reachability Analysis for Verification and Falsification , 2000, CAV.

[6]  George J. Milne,et al.  Correct Hardware Design and Verification Methods , 2003, Lecture Notes in Computer Science.

[7]  Robert K. Brayton,et al.  Model-checking continuous-time Markov chains , 2000, TOCL.

[8]  Lubos Brim,et al.  Can Flash Memory Help in Model Checking? , 2009, FMICS.

[9]  Manuela M. Veloso,et al.  SetA*: an efficient BDD-based heuristic search algorithm , 2002, AAAI/IAAI.

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

[11]  R. Stephenson A and V , 1962, The British journal of ophthalmology.

[12]  Orna Kupferman,et al.  Finding Shortest Witnesses to the Nonemptiness of Automata on Infinite Words , 2006, CONCUR.

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

[14]  Wang Yi,et al.  Timed Automata: Semantics, Algorithms and Tools , 2003, Lectures on Concurrency and Petri Nets.

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

[16]  Christel Baier,et al.  Model-Checking Algorithms for Continuous-Time Markov Chains , 2002, IEEE Trans. Software Eng..

[17]  Marco Valtorta,et al.  A Result on the Computational Complexity of Heuristic Estimates for the A* Algorithm , 1983, IJCAI.

[18]  Richard E. Korf,et al.  Depth-First Iterative-Deepening: An Optimal Admissible Tree Search , 1985, Artif. Intell..

[19]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[20]  Kavita Ravi,et al.  Efficient Decision Procedures for Model Checking of Linear Time Logic Properties , 1999, CAV.

[21]  Chin-Laung Lei,et al.  Efficient Model Checking in Fragments of the Propositional Mu-Calculus (Extended Abstract) , 1986, LICS.

[22]  Stefan Edelkamp,et al.  Cost-Algebraic Heuristic Search , 2005, AAAI.

[23]  Stefan Edelkamp,et al.  Flash-Efficient LTL Model Checking with Minimal Counterexamples , 2008, 2008 Sixth IEEE International Conference on Software Engineering and Formal Methods.

[24]  Wolfgang Reisig,et al.  Lectures on Concurrency and Petri Nets , 2003, Lecture Notes in Computer Science.

[25]  Benjamin W. Wah,et al.  A comparative study of IDA*-style searches , 1994, Proceedings Sixth International Conference on Tools with Artificial Intelligence. TAI 94.

[26]  S. Kupferschmid,et al.  Adapting an AI Planning Heuristic for Directed Model Checking , 2006, SPIN.

[27]  S. Anderson,et al.  Secure Synthesis of Code: A Process Improvement Experiment , 1999, World Congress on Formal Methods.

[28]  Hector Geffner,et al.  Unifying the Causal Graph and Additive Heuristics , 2008, ICAPS.

[29]  Jirí Srba,et al.  Comparing the Expressiveness of Timed Automata and Timed Extensions of Petri Nets , 2008, FORMATS.

[30]  Husain Aljazzar,et al.  Extended Directed Search for Probabilistic Timed Reachability , 2006, FORMATS.

[31]  Eugene Asarin,et al.  Scheduling with timed automata , 2006, Theor. Comput. Sci..

[32]  Klaus Havelund,et al.  SPIN Model Checking and Software Verification , 2000, Lecture Notes in Computer Science.

[33]  Stefan Edelkamp,et al.  Symbolic Pattern Databases in Heuristic Search Planning , 2002, AIPS.

[34]  M. Zeldin Heuristics! , 2010 .

[35]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[36]  Chao Wang,et al.  Compositional SCC Analysis for Language Emptiness , 2006, Formal Methods Syst. Des..

[37]  Peter Sanders,et al.  Semi-external LTL Model Checking , 2008, CAV.

[38]  Joost-Pieter Katoen,et al.  Providing Evidence of Likely Being on Time: Counterexample Generation for CTMC Model Checking , 2007, ATVA.

[39]  Eric A. Hansen,et al.  Breadth-first heuristic search , 2004, Artif. Intell..

[40]  Anton Wijs,et al.  What to do next? Analysing and optimising system behaviour in time , 2007 .

[41]  Armin Biere,et al.  µcke - Efficient µ-Calculus Model Checking , 1997, CAV.

[42]  Muhammad Torabi Dashti,et al.  Pruning State Spaces with Extended Beam Search , 2006, ATVA.

[43]  Kavita Ravi,et al.  Hints to accelerate Symbolic Traversal , 1999, CHARME.

[44]  Ihsan Sabuncuoglu,et al.  Job shop scheduling with beam search , 1999, Eur. J. Oper. Res..

[45]  Theo C. Ruys,et al.  Optimal Scheduling Using Branch and Bound with SPIN 4.0 , 2003, SPIN.

[46]  Peter C. Nelson,et al.  Perimeter Search , 1994, Artif. Intell..

[47]  Ulrich Meyer,et al.  Algorithms for Memory Hierarchies , 2003, Lecture Notes in Computer Science.

[48]  Kavita Ravi,et al.  Symbolic guided search for CTL model checking , 2000, Proceedings 37th Design Automation Conference.

[49]  Vipin Kumar Branch-And-Bound Search , 1985 .

[50]  Rina Dechter,et al.  The Optimality of A* Revisited , 1983, AAAI.

[51]  Stefan Edelkamp,et al.  Abstraction in directed model checking , 2004 .

[52]  Ansgar Fehnker,et al.  Scheduling a steel plant with timed automata , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).

[53]  Stuart C. Shapiro,et al.  Encyclopedia of artificial intelligence, vols. 1 and 2 (2nd ed.) , 1992 .

[54]  Jean-Daniel Zucker,et al.  Abstraction, Reformulation and Approximation, 6th International Symposium, SARA 2005, Airth Castle, Scotland, UK, July 26-29, 2005, Proceedings , 2005, SARA.

[55]  Robert K. Brayton,et al.  Partial-Order Reduction in Symbolic State-Space Exploration , 2001, Formal Methods Syst. Des..

[56]  Henning Dierks,et al.  Time, abstraction and heuristics - automatic verification and planning of timed systems using abstraction and heuristics , 2006, Berichte aus dem Department für Informatik / Universität Oldenburg / Fachbereich Informatik.

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

[58]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

[59]  Stefan Edelkamp,et al.  Partial-order reduction and trail improvement in directed model checking , 2004, International Journal on Software Tools for Technology Transfer.

[60]  Matthew L. Ginsberg,et al.  Iterative Broadening , 1990, Artif. Intell..

[61]  Eric A. Hansen,et al.  Beam-Stack Search: Integrating Backtracking with Beam Search , 2005, ICAPS.

[62]  Zhengzhu Feng,et al.  Symbolic Heuristic Search Using Decision Diagrams , 2002, SARA.

[63]  Kim G. Larsen,et al.  Optimal scheduling using priced timed automata , 2005, PERV.

[64]  Gerd Behrmann,et al.  Efficient Guiding Towards Cost-Optimality in UPPAAL , 2001, TACAS.

[65]  Albert Nymeyer,et al.  Heuristic Search Algorithms Based on Symbolic Data Structures , 2003, Australian Conference on Artificial Intelligence.

[66]  Doron A. Peled,et al.  Combining partial order reductions with on-the-fly model-checking , 1994, Formal Methods Syst. Des..

[67]  Albert Nymeyer,et al.  Guided Invariant Model Checking Based on Abstraction and Symbolic Pattern Databases , 2004, TACAS.

[68]  Frank Reffel,et al.  Error Detection with Directed Symbolic Model Checking , 1999, World Congress on Formal Methods.

[69]  Dragan Bosnacki,et al.  Partial-order reduction for general state exploring algorithms , 2006, International Journal on Software Tools for Technology Transfer.

[70]  Mihalis Yannakakis,et al.  On nested depth first search , 1996, The Spin Verification System.

[71]  Helmut Veith,et al.  25 Years of Model Checking - History, Achievements, Perspectives , 2008, 25 Years of Model Checking.

[72]  Oded Maler,et al.  Scheduling acyclic branching programs on parallel machines , 2004, 25th IEEE International Real-Time Systems Symposium.

[73]  Alberto Lluch-Lafuente Directed search for the verification of communication protocols , 2003 .

[74]  Richard Bellman,et al.  ON A ROUTING PROBLEM , 1958 .

[75]  Shin Nakajima,et al.  The SPIN Model Checker : Primer and Reference Manual , 2004 .

[76]  Armin Biere,et al.  Shortest Counterexamples for Symbolic Model Checking of LTL with Past , 2005 .

[77]  Bernhard Nebel,et al.  Faster Than Uppaal? , 2008, CAV.

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

[79]  Stuart J. Russell Efficient Memory-Bounded Search Methods , 1992, ECAI.

[80]  Stefan Edelkamp,et al.  Directed explicit-state model checking in the validation of communication protocols , 2004, International Journal on Software Tools for Technology Transfer.

[81]  Bruce T. Lowerre,et al.  The HARPY speech recognition system , 1976 .

[82]  Eric Mercer,et al.  Generating Counter-Examples Through Randomized Guided Search , 2007, SPIN.

[83]  Kavita Ravi,et al.  Efficient fixpoint computation for invariant checking , 1999, Proceedings 1999 IEEE International Conference on Computer Design: VLSI in Computers and Processors (Cat. No.99CB37040).

[84]  Viktor Schuppan,et al.  Efficient reduction of finite state model checking to reachability analysis , 2004, International Journal on Software Tools for Technology Transfer.

[85]  Ahmed Bouajjani,et al.  Abstract Regular Model Checking , 2004, CAV.

[86]  Jop F. Sibeyn,et al.  Algorithms for Memory Hierarchies: Advanced Lectures , 2003 .

[87]  Andreas Podelski,et al.  ACSAR: Software Model Checking with Transfinite Refinement , 2007, SPIN.

[88]  Bernd Finkbeiner,et al.  Uppaal/DMC- Abstraction-Based Heuristics for Directed Model Checking , 2007, TACAS.

[89]  Sami Evangelista,et al.  Dynamic Delayed Duplicate Detection for External Memory Model Checking , 2008, SPIN.

[90]  Kavita Ravi,et al.  High-density reachability analysis , 1995, ICCAD.

[91]  Bengt Jonsson,et al.  A logic for reasoning about time and reliability , 1990, Formal Aspects of Computing.

[92]  Christel Baier,et al.  CONCUR 2006 - Concurrency Theory, 17th International Conference, CONCUR 2006, Bonn, Germany, August 27-30, 2006, Proceedings , 2006, CONCUR.

[93]  David L. Dill,et al.  Validation with guided search of the state space , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[94]  Patrik Haslum,et al.  Flexible Abstraction Heuristics for Optimal Sequential Planning , 2007, ICAPS.

[95]  J. Davenport Editor , 1960 .

[96]  Viktor Schuppan,et al.  Liveness Checking as Safety Checking for Infinite State Spaces , 2006, INFINITY.

[97]  S. Edelkamp,et al.  Model Checking via Delayed Duplicate Detection on the GPU , 2008 .

[98]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[99]  Anton Wijs,et al.  Distributed Extended Beam Search for Quantitative Model Checking , 2007, MoChArt.

[100]  Sivan Toledo,et al.  Characterizing the Performance of Flash Memory Storage Devices and Its Impact on Algorithm Design , 2008, WEA.

[101]  Viktor Schuppan,et al.  Liveness checking as safety checking to find shortest counterexamples to linear time properties , 2006 .

[102]  Holger Hermanns,et al.  Counterexamples for Timed Probabilistic Reachability , 2005, FORMATS.

[103]  Richard E. Korf,et al.  Frontier search , 2005, JACM.

[104]  Stefan Edelkamp,et al.  Model Checking and Artificial Intelligence, 4th Workshop, MoChArt IV, Riva del Garda, Italy, August 29, 2006, Revised Selected and Invited Papers , 2007, MoChArt.

[105]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[106]  Steven Michael Rubin,et al.  The argos image understanding system. , 1978 .

[107]  Husain Aljazzar,et al.  Counterexamples for Model Checking of Markov Decision Processes , 2007 .

[108]  Andreas Podelski,et al.  Useless Actions Are Useful , 2008, ICAPS.

[109]  Eric A. Hansen,et al.  Layered Duplicate Detection in External-Memory Model Checking , 2008, SPIN.

[110]  Lubos Brim,et al.  Revisiting Resistance Speeds Up I/O-Efficient LTL Model Checking , 2008, TACAS.

[111]  Stefan Edelkamp,et al.  Large-Scale Directed Model Checking LTL , 2006, SPIN.

[112]  Federico Della Croce,et al.  A Recovering Beam Search algorithm for the one-machine dynamic total completion time scheduling problem , 2002, J. Oper. Res. Soc..

[113]  Darwin Klingman,et al.  Shortest path forest with topological ordering: An algorithm description in SDL , 1980 .

[114]  William J. Stewart,et al.  Introduction to the numerical solution of Markov Chains , 1994 .

[115]  Joost-Pieter Katoen,et al.  Counterexamples in Probabilistic Model Checking , 2007, TACAS.

[116]  Robert B. Dial,et al.  Algorithm 360: shortest-path forest with topological ordering [H] , 1969, CACM.

[117]  Martin Rem,et al.  PARLE '89 Parallel Architectures and Languages Europe , 1989, Lecture Notes in Computer Science.

[118]  Stephen F. Smith,et al.  Viewing scheduling as an opportunistic problem-solving process , 1988 .

[119]  E. Allen Emerson,et al.  Temporal and Modal Logic , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[120]  Antti Valmari,et al.  Eliminating Redundant Interleavings During Concurrent Program Verification , 1989, PARLE.

[121]  Ansgar Fehnker,et al.  Verification and optimization of a PLC control schedule , 2000, International Journal on Software Tools for Technology Transfer.

[122]  Husain Aljazzar,et al.  Debugging of Dependability Models Using Interactive Visualization of Counterexamples , 2008, 2008 Fifth International Conference on Quantitative Evaluation of Systems.

[123]  Dragan Bosnacki,et al.  The Design of a Multicore Extension of the SPIN Model Checker , 2007, IEEE Transactions on Software Engineering.

[124]  Kim G. Larsen,et al.  Resource-Optimal Scheduling Using Priced Timed Automata , 2004, TACAS.

[125]  Anton Wijs,et al.  Solving scheduling problems by untimed model checking , 2009, FMICS '05.