Abstract
State space methods are one of the most important approaches to computer-aided analysis and verification of the behaviour of concurrent systems. In their basic form, they consist of enumerating and analysing the set of the states the system can ever reach. Unfortunately, the number of states of even a relatively small system is often far greater than can be handled in a realistic computer. The goal of this article is to analyse this state explosion problem from several perspectives. Many advanced state space methods alleviate the problem by using a subset or an abstraction of the set of states. Unfortunately, their use tends to restrict the set of analysis or verification questions that can be answered, making it impossible to discuss the methods without some taxonomy of the questions. Therefore, the article contains a lengthy discussion on alternative ways of stating analysis and verification questions, and algorithms for answering them. After that, many advanced state space methods are briefly described. The state explosion problem is investigated also from the computational complexity point of view.
Preview
Unable to display preview. Download preview PDF.
References
Aho, A. V., Hopcroft, J. E. & Ullman, J. D.: The Design and Analysis of Computer Algorithms. Addison-Wesley 1974, 470 p.
Alpern, B. & Schneider, F. B.: “Defining Liveness”. Information Processing Letters 21(4), 1985, pp. 181–185.
Alur, R., Brayton, R. K., Henzinger, T. A., Qadeer, S. & Rajamani, S. K.: “Partial-Order Reduction in Symbolic State Space Exploration”. Proc. Computer Aided Verification (CAV) '97, Lecture Notes in Computer Science 1254, Springer-Verlag 1997, pp. 340–351.
Bolognesi, T. & Brinksma, E.: “Introduction to the ISO Specification Language LOTOS”. Computer Networks and ISDN Systems 14 (1987), pp. 25–59.
Brinksma, E.: “A Theory for the Derivation of Tests”. Protocol Specification, Testing and Verification VIII (Proc. International IFIP WG 6.1 Symposium, 1988), North-Holland 1988, pp. 63–74.
Brookes, S. D., Hoare, C. A. R. & Roscoe, A. W.: “A Theory of Communicating Sequential Processes”. Journal of the ACM, 31 (3) 1984, pp. 560–599.
Browne, M. C., Clarke, E. M. & Grumberg, O.: “Characterizing Finite Kripke Structures in Propositional Temporal Logic”. Theoretical Computer Science 59, 1988, pp. 115–131.
Bryant, R. E.: “Graph-Based Algorithms for Boolean Function Manipulation”. IEEE Transactions on Computers C-35 (8) 1986, pp. 677–691.
Burch, J. R., Clarke E. M., McMillan K. L., Dill D. L. & Hwang, L. J.: “Symbolic Model Checking: 102° States and Beyond”. Information and Computation 98 (2) 1992, pp. 142–170.
Chandy, K. M. & Misra, J.: Parallel Program Design: A Foundation. Addison-Wesley 1988, 516 p.
Clarke, E. M. & Emerson, E. A.: “Design and Synthesis of Synchronization Skeletons using Branching Time Temporal Logic”. Proc. Workshop on Logics of Programs, Lecture Notes in Computer Science 131, Springer-Verlag 1981, pp. 52–71.
Clarke, E. M., Filkorn, T. & Jha, S.: “Exploiting Symmetry in Temporal Logic Model Checking”. Proc. Computer-Aided Verification (CAV) '93, Lecture Notes in Computer Science 697, Springer-Verlag 1993, pp. 450–462.
Clarke, E. M., Grumberg, O. & Jha, S.: “Verifying Parameterized Networks using Abstraction and Regular Languages”. Proc. CONCUR '95, 6th International Conference on Concurrency Theory, Lecture Notes in Computer Science 962, Springer-Verlag 1995, pp. 395–407.
Cleaveland, R. & Hennessy, M.: “Testing Equivalence as a Bisimulation Equivalence”. Formal Aspects of Computing, 5 (1) 1993, pp. 1–20.
Cormen, T. H., Leiserson, C. E. & Rivest, R. L.: Introduction to Algorithms. The MIT Press, 1990, 1028 p.
Courcoubetis, C., Vardi, M., Wolper, P. & Yannakakis, M.: “Memory-Efficient Algorithms for the Verification of Temporal Properties”, Formal Methods in System Design 1 (1992), pp. 275–288.
Desel, J. & Esparza, J.: Free Choice Petri Nets. Cambridge Tracts in Theoretical Computer Science 40, Cambridge University Press 1995, 244 p.
Eloranta, J., Tienari, M. & Valmari, A.: “Essential Transitions to Bisimulation Equivalences”. Theoretical Computer Science 179 (1997) pp. 397–419.
Emerson, E. A.: “Temporal and Modal Logic”. Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics, Elsevier Science Publishers 1990, pp. 995–1072.
Emerson, E. A., & Halpern, J. Y.: “'Sometimes’ and ‘Not Never’ Revisited: on Branching Versus Linear Time Temporal Logic”. Journal of the ACM 33 (1) 1986, pp. 151–178.
Emerson, E. A., & Lei, C.-L.: “Modalities for Model Checking: Branching Time Strikes Back”. Science of Computer Programming, 8, 1987, pp. 275–306.
Emerson, E. A. & Sistla, A. P.: “Symmetry and Model Checking”. Proc. Computer-Aided Verification (CAV) '93, Lecture Notes in Computer Science 697, Springer-Verlag 1993, pp. 463–477.
Emerson, E. A. & Sistla, A. P.: “Utilizing Symmetry when Model-Checking under Fairness Assumptions: An Automata-Theoretic Approach”. ACM Transactions on Programming Languages and Systems, 19 (4) 1997, pp. 617–638.
Esparza, J.: “Model Checking Using Net Unfoldings”. Science of Computer Programming (1994) 23: 151–195.
Esparza, J., Römer, S. & Vogler, W.: “An Improvement of McMillan's Unfolding Algorithm”. Proc. Tools and Algorithms for the Construction and Analysis of Systems '96, Lecture Notes in Computer Science 1055, Springer-Verlag 1996, pp. 87–106.
Fernandez, J.-C.: “An Implementation of an Efficient Algorithm for Bisimulation Equivalence”. Science of Computer Programming 13 (1989/90) pp. 219–236.
Finkel, A.: “The Minimal Coverability Graph for Petri Nets”. Advances in Petri Nets 1993, Lecture Notes in Computer Science 674, pp. 210–243.
Francez, N.: Fairness. Springer-Verlag 1986, 295 p.
Francez, N.: Program Verification. Addison-Wesley 1992, 312 p.
Garey, M. R. & Johnson, D. S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman and Company, 1979, 340 p.
Gerth, R., Kuiper, R., Peled, D. & Penczek, W.: “A Partial Order Approach to Branching Time Logic Model Checking”. Proc. Third Israel Symposium on the Theory of Computing and Systems, IEEE 1995, pp. 130–139.
Gerth, R., Peled, D., Vardi, M. & Wolper, P.: “Simple On-the-fly Automatic Verification of Linear Temporal Logic”. Proc. Protocol Specification, Testing and Verification 1995, Chapman & Hall 1995, pp. 3–18.
Godefroid, P.: “Using Partial Orders to Improve Automatic Verification Methods”. Proc. Computer-Aided Verification 90, AMS-ACM DIMACS Series in Discrete Mathematics and Theoretical Computer Science, Vol. 3, 1991, pp. 321–340.
Godefroid, P.: Partial-Order Methods for the Verification of Concurrent Systems, An Approach to the State-Explosion Problem. Lecture Notes in Computer Science 1032, Springer-Verlag 1996, 143 p. (Earlier version: Ph.D. Thesis, University of Liége, 1994.)
Godefroid, P., Holzmann, G. J. & Pirottin, D.: “State Space Caching Revisited”. Proc. Computer-Aided Verification (CAV) '92, Lecture Notes in Computer Science 663, Springer-Verlag 1993, pp. 178–191.
Godefroid, P. & Pirottin, D.: “Refining Dependencies Improves Partial-Order Verification Methods”. Proc. Computer-Aided Verification (CAV) '9.3, Lecture Notes in Computer Science 697, Springer-Verlag 1993, pp. 438–449.
Godefroid, P., & Wolper, P.: “Using Partial Orders for the Efficient Verification of Deadlock Freedom and Safety Properties”. Proc. Computer Aided Verification (CAV) '91, Lecture Notes in Computer Science 575, Springer-Verlag 1992, pp. 332–342.
Graf, S. & Steffen, B.: “Compositional Minimization of Finite State Processes”. Proc. Computer-Aided Verification '90, AMS-ACM DIMACS Series in Discrete Mathematics and Theoretical Computer Science, Vol. 3, 1991, pp. 57–73.
Gyuris, V. & Sistla, P.: “On-the-Fly Model Checking Under Fairness That Exploits Symmetry”. Proc. Computer Aided Verification (CAV) '97, Lecture Notes in Computer Science 1254, Springer-Verlag 1997, pp. 232–243.
Haddad, S.: “A Reduction Theory for Coloured Nets”. Advances in Petri Nets 1989, Lecture Notes in Computer Science 424, Springer-Verlag 1990, pp. 209–235. Also in High-level Petri Nets. Theory and Application, Springer-Verlag 1991, pp. 399–425.
Hennessy, M.: “Acceptance Trees”. Journal of the ACM, 32 (4) 1985, pp. 896–928.
Hoare, C. A. R.: Communicating Sequential Processes. Prentice-Hall 1985, 256 p.
Holzmann, G. J.: Design and Validation of Computer Protocols. Prentice-Hall 1991, 500 p.
ISO 8807 International Standard: Information processing systems — Open Systems Interconnection — LOTOS — A formal description technique based on the temporal ordering of observational behaviour. International Organization for Standardization 1989, 142 p.
Jard, C. & Jéron, T.: “Bounded-memory Algorithms for Verification On-the-fly”. Proc. Computer Aided Verification (CA V) '91, Lecture Notes in Computer Science 575, Springer-Verlag 1992, pp. 192–202.
Jensen, K.: Coloured Petri Nets. Volume 2, Analysis Methods. Monographs in Theoretical Computer Science, Springer-Verlag 1995, 174 p.
Kaivola, R. & Valmari, A.: “The Weakest Compositional Semantic Equivalence Preserving Nexttime-less Linear Temporal Logic”. Proc. CONCUR '92, Third International Conference on Concurrency Theory, Lecture Notes in Computer Science 630, Springer-Verlag 1992, pp. 207–221.
Kanellakis, P. C. & Smolka, S. A.: “CCS Expressions, Finite State Processes, and Three Problems of Equivalence”. Information and Computation 86 (1990) pp. 43–68.
Katz, S. & Peled, D.: “An Efficient Verification Method for Parallel and Distributed Programs”. Proc. Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency 1988, Lecture Notes in Computer Science 354, Springer-Verlag 1989, pp. 489–507.
Katz, S. & Peled, D.: “Defining Conditional Independence Using Collapses”. Theoretical Computer Science 101 (1992), pp. 337–359.
Kokkarinen, I.: A Verification-Oriented Theory of Data in Labelled Transition Systems. Ph.D. Thesis, Tampere University of Technology Publications 234, Tampere, Finland 1998, 105 p.
Kokkarinen, I., Peled, D. & Valmari, A.: “Relaxed Visibility Enhances Partial Order Reduction”. Proc. Computer Aided Verification (CAV) '97, Lecture Notes in Computer Science 1254, Springer-Verlag 1997, pp. 328–339.
Kristensen, L. M. & Valmari, A.: “Finding Stubborn Sets of Coloured Petri Nets Without Unfolding”. To appear in Proc. International Conference on Application and Theory of Petri Nets, 1998, 20 p.
Kurshan, R. P., Merritt, M., Orda, A. & Sachs, S. R.: “A Structural Linearization Principle for Processes”. Formal Methods in System Design 5, 1994, pp. 227–244.
Lamport, L.: “Proving the Correctness of Multiprocess Programs”. IEEE Transactions on Software Engineering, SE-3(2), 1977, pp. 125–143.
Lamport, L. & Lynch, N.: “Distributed Computing: Models and Methods”. Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics, Elsevier Science Publishers 1990, pp. 1157–1199.
Lichtenstein, O. & Pnueli, A.: “Checking that Finite State Concurrent Programs Satisfy Their Linear Specifications”. Proc. 12th ACM Symposium on Principles of Programming Languages, 1985, pp. 97–107.
Madelaine, E. & Vergamini, D.: “AUTO: A Verification Tool for Distributed Systems Using Reduction of Finite Automata Networks”. Proc. Formal Description Techniques II (FORTE '89), North-Holland 1990, pp. 61–66.
Manna, Z. & Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems, Volume I: Specification. Springer-Verlag 1992, 427 p.
Manna, Z. & Pnueli, A.: Temporal Verification of Reactive Systems, Volume II: Safety. Springer-Verlag 1995, 512 p.
Mazurkiewicz, A.: “Trace Theory”. Petri Nets: Applications and Relationships to Other Models of Concurrency, Lecture Notes in Computer Science 255, Springer-Verlag 1987, pp. 279–324.
McMillan, K.: “Using Unfoldings to Avoid the State Explosion Problem in the Verification of Asynchronous Circuits”. Proc. Computer-Aided Verification (CAV) '92, Lecture Notes in Computer Science 663, Springer-Verlag 1993, pp. 164–177.
Meinel, C. & Theobald, T.: “Ordered Binary Decision Diagrams and Their Significance in Computer-Aided Design of VLSI Circuits”. Bulletin of the European Association for Theoretical Computer Science 64, 1998, pp. 171–187.
Melzer, S. & Römer, S.: “Deadlock Checking Using Net Unfoldings”. Proc. Computer Aided Verification (CAV) '97, Lecture Notes in Computer Science 1254, Springer-Verlag 1997, pp. 352–363.
Milner, R.: Communication and Concurrency. Prentice-Hall 1989, 260 p.
Park, D.: “Concurrency and Automata on Infinite Sequences”. Theoretical Computer Science: 5th GI-Conference, Lecture Notes in Computer Science 104, Springer-Verlag 1981, pp. 167–183.
Pastor, E., Roig, O., Cortadella, J. & Badia, R.: “Petri Net Analysis Using Boolean Manipulation”. Proc. Application and Theory of Petri Nets 1994, Lecture Notes in Computer Science 815, Springer-Verlag 1994, pp. 416–435.
Peled, D.: “All from One, One for All: On Model Checking Using Representatives”. Proc. Computer-Aided Verification (CA V) '93, Lecture Notes in Computer Science 697, Springer-Verlag 1993, pp. 409–423.
Peled, D.: “Combining Partial Order Reductions with On-the-fly Model-Checkingrd. Formal Methods in System Design 8 (1) 1996: 39–64.
Peled, D.: “Partial Order Reduction: Linear and Branching Temporal Logics and Process Algebras”. Proc. POMIV'96, Workshop on Partial Order Methods in Verification, DIMACS Series in Discrete Mathematics and Theoretical Computer Science Vol. 29, American Mathematical Society 1997, pp. 233–257.
Puhakka, A. & Valmari, A.: “Verification of Self-Synchronizing Alternating Bit Protocols with ARA”. Proc. Fifth Symposium on Programming Languages and Software Tools, University of Helsinki, Department of Computer Science, Report C-1997-37, pp. 167–178.
Rauhamaa, M.: A Comparative Study of Methods for Efficient Reachability Analysis. Lic.Tech. Thesis, Helsinki University of Technology, Digital Systems Laboratory, Research Report A-14, Espoo, Finland 1990, 61 p.
Reisig, W.: Petri Nets, An Introduction. EATCS Monographs on Theoretical Computer Science, Vol. 4, Springer-Verlag 1985, 161 p.
Roscoe, A. W.: “Model-Checking CSP”. A Classical Mind: Essays in Honour of C. A. R. Hoare, Prentice-Hall 1994, pp. 353–378.
Roscoe, A. W.: The Theory and Practice of Concurrency. Prentice-Hall 1998, 565 p.
Savitch, W. J.: “Relationships Between Nondeterministic and Deterministic Tape Complexities”. Journal of Computer and System Sciences 4, 1970, pp. 177–192.
Shatz, S. M., Tu, S., Murata, T. & Duri, S.: “Application of Petri Net Reduction for Ada Tasking Deadlock Analysis”. IEEE Transactions on Parallel and Distributed Systems 7 (12) 1996, pp. 1307–1322.
Sistla, A. P. & Clarke, E. M.: “The Complexity of Propositional Linear Temporal Logics”. Journal of the ACM 32 (3) 1985, pp. 733–749.
Tarjan, R. E.: “Depth-first Search and Linear Graph Algorithms”. SIAM Journal on Computing, 1 (2) 1972, pp. 146–160.
Thomas, W.: “Automata on Infinite Objects”. Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics, Elsevier Science Publishers 1990, pp. 133–191.
Valmari, A.: “Error Detection by Reduced Reachability Graph Generation”. Proc. 9th European Workshop on Application and Theory of Petri Nets, 1988, pp. 95–112.
Valmari, A.: State Space Generation: Efficiency and Practicality. Ph.D. Thesis, Tampere University of Technology Publications 55, Tampere, Finland 1988, 169 p.
Valmari, A.: “Stubborn Sets for Reduced State Space Generation”. Advances in Petri Nets 1990, Lecture Notes in Computer Science 483, Springer-Verlag 1991, pp. 491–515.
Valmari, A.: “Stubborn Sets of Coloured Petri Nets”. Proc. 12th International Conference on Application and Theory of Petri Nets, 1991, pp. 102–121.
Valmari, A.: Alleviating State Explosion during Verification of Behavioural Equivalence. Department of Computer Science, University of Helsinki, Report A-1992-4, Helsinki, Finland 1992, 57 p.
Valmari, A.: “A Stubborn Attack on State Explosion”. Formal Methods in System Design, 1: 297–322 (1992).
Valmari, A.: “On-the-fly Verification with Stubborn Sets”. Proc. Computer-Aided Verification (CAV) '93, Lecture Notes in Computer Science 697, Springer-Verlag 1993, pp. 397–408.
Valmari, A.: “Compositional Analysis with Place-Bordered Subnets”. Proc. Application and Theory of Petri Nets 1994, Lecture Notes in Computer Science 815, Springer-Verlag 1994, pp. 531–547.
Valmari, A.: “Failure-based Equivalences Are Faster Than Many Believe”. Proc. Structures in Concurrency Theory 1995, Springer-Verlag “Workshops in Computing” series, 1995, pp. 326–340.
Valmari, A.: “Compositionality in State Space Verification Methods”. Invited talk, Proc. Application and Theory of Petri Nets 1996, Lecture Notes in Computer Science 1091, Springer-Verlag 1996, pp. 29–56.
Valmari, A.: “Stubborn Set Methods for Process Algebras”. Proc. POMIV'96, Workshop on Partial Order Methods in Verification, DIMACS Series in Discrete Mathematics and Theoretical Computer Science Vol. 29, American Mathematical Society 1997, pp. 213–231.
Valmari, A. & Kokkarinen, I.: “Unbounded Verification Results by Finite-State Compositional Techniques: 10any States and Beyond”. Proc. 1998 International Conference on Application of Concurrency to System Design, IEEE Computer Society 1998, pp. 75–85.
Valmari, A. & Tienari, M.: “An Improved Failures Equivalence for Finite-State Systems with a Reduction Algorithm”. Proc. Protocol Specification, Testing and Verification XI, North-Holland 1991, pp. 3–18.
Valmari, A. & Tienari, M.: “Compositional Failure-Based Semantic Models for Basic LOTOS”. Formal Aspects of Computing (1995) 7: 440–468.
van Glabbeek, R.: “The Linear Time — Branching Time Spectrum II: The Semantics of Sequential Systems with Silent Moves”. Proc. CONCUR '93, Fourth International Conference on Concurrency Theory, Lecture Notes in Computer Science 715, Springer-Verlag 1993, pp. 66–81.
van Glabbeek, R. & Weijland, W.: “Branching Time and Abstraction in Bisimulation Semantics (Extended Abstract)”. Proc. IFIP International Conference on Information Processing '89, North-Holland 1989, pp. 613–618.
Vardi, M. Y. & Wolper, P.: “An Automata-Theoretic Approach to Automatic Program Verification”. Proc. IEEE Symposium on Logic in Computer Science, 1986, pp. 332–344.
Varpaaniemi, K.: On the Stubborn Set Method in Reduced State Space Generation. Ph.D. Thesis, Helsinki University of Technology, Digital Systems Laboratory, Research Report A-51, Espoo, Finland 1998, 105 p.
Wolper, P.: “Expressing Interesting Properties of Programs in Propositional Temporal Logic”. Proc. 13th ACM Symposium on Principles of Programming Languages, 1986, pp. 184–193.
Wolper, P. & Lovinfosse, V.: “Verifying Properties of Large Sets of Processes with Network Invariants”. Proc. Workshop on Automatic Verification Methods for Finite State Systems, Lecture Notes in Computer Science 407, Springer-Verlag 1989, pp. 68–80.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Valmari, A. (1998). The state explosion problem. In: Reisig, W., Rozenberg, G. (eds) Lectures on Petri Nets I: Basic Models. ACPN 1996. Lecture Notes in Computer Science, vol 1491. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-65306-6_21
Download citation
DOI: https://doi.org/10.1007/3-540-65306-6_21
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65306-6
Online ISBN: 978-3-540-49442-3
eBook Packages: Springer Book Archive