Projecting transition systems: Overcoming state explosion in concurrent system verification

The paper introduces a method for overcoming state explosion arising when verifying concurrent and distributed computer systems. The method is based on projecting a system state space onto a number of subspaces associated with quite small and, generally speaking, overlapping groups of processes. Analysis of the system—checking whether a given property holds on the system states—is carried out by collaborative exploration of the projections’ state graphs; the process is completed as soon as all transitions of all projections have been traversed (usually, this requires significantly less amount of time than exploring the state graph of the entire system). To increase controllability of the traversing process, it is suggested to use techniques for cooperative searching paths in the projections (the latter may appear to be highly nondeterministic due to the loss of information upon projecting). In this work, certain issues of the introduced verification scheme are investigated, and results of some experiments are given. The method described can be applied to model checking, as well as to model-based testing, namely for automatic test sequence generation.

[1]  John W. Horch Black-box testing: Techniques for functional testing of software and systems: by Boris BEIZER, John Wiley and Sons; New York, USA; 1995; xxvi + 294 pp.; $29.95. ISBN: 0-471-12094-4 , 1996 .

[2]  Alexander K. Petrenko,et al.  The UniTesK Approach to Designing Test Suites , 2003, Programming and Computer Software.

[3]  Kenneth L. McMillan,et al.  Symbolic model checking: an approach to the state explosion problem , 1992 .

[4]  Victor V. Kuliamin,et al.  Irredundant Algorithms for Traversing Directed Graphs: The Nondeterministic Case , 2004, Programming and Computer Software.

[5]  Ying Chen,et al.  Efficiently generating test vectors with state pruning , 2005, Proceedings of the ASP-DAC 2005. Asia and South Pacific Design Automation Conference, 2005..

[6]  Victor V. Kuliamin,et al.  Irredundant Algorithms for Traversing Directed Graphs: The Deterministic Case , 2004, Programming and Computer Software.

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

[8]  Gerard J. Holzmann,et al.  State Compression in SPIN: Recursive Indexing and Compression Training Runs , 2002 .

[9]  Edmund M. Clarke,et al.  Counterexample-guided abstraction refinement , 2003, 10th International Symposium on Temporal Representation and Reasoning, 2003 and Fourth International Conference on Temporal Logic. Proceedings..

[10]  Gerard J. Holzmann,et al.  An Analysis of Bitstate Hashing , 1995, Formal Methods Syst. Des..

[11]  Manfred Broy,et al.  Model-Based Testing of Reactive Systems: Advanced Lectures (Lecture Notes in Computer Science) , 2005 .

[12]  HERBERT A. SIMON,et al.  The Architecture of Complexity , 1991 .

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

[14]  David A. Wood,et al.  A Primer on Memory Consistency and Cache Coherence , 2012, Synthesis Lectures on Computer Architecture.

[15]  Patrice Godefroid,et al.  Refining Dependencies Improves Partial-Order Verification Methods (Extended Abstract) , 1993, CAV.

[16]  Edmund M. Clarke,et al.  Compositional model checking , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[17]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[18]  Michel Dubois,et al.  Verification techniques for cache coherence protocols , 1997, CSUR.

[19]  D. Birchall,et al.  Computational Fluid Dynamics , 2020, Radial Flow Turbocompressors.

[20]  Manfred Broy,et al.  Model-Based Testing of Reactive Systems, Advanced Lectures [The volume is the outcome of a research seminar that was held in Schloss Dagstuhl in January 2004] , 2005, Model-Based Testing of Reactive Systems.

[21]  Gerard J. Holzmann,et al.  The SPIN Model Checker , 2003 .

[22]  Boris Beizer,et al.  Black Box Testing: Techniques for Functional Testing of Software and Systems , 1996, IEEE Software.

[23]  Edmund M. Clarke,et al.  Model Checking and the State Explosion Problem , 2011, LASER Summer School.

[24]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[25]  Valeria Bertacco,et al.  MCjammer: Adaptive Verification for Multi-core Designs , 2008, 2008 Design, Automation and Test in Europe.

[26]  T. Kanade Model-Based Testing of Reactive Systems , 2005 .