skip to main content
article

Specification guidelines to avoid the state space explosion problem

Published: 01 January 2015 Publication History

Abstract

During the last two decades, we modelled the behaviour of a large number of systems. We noted that different styles of modelling had quite an effect on the size of the state spaces of the modelled systems. The differences were so substantial that some specification styles led to far too many states to verify the correctness of the model, whereas with other styles, the number of states was so small that verification was a straightforward activity. In this article, we summarize our experience by providing seven specification guidelines to keep state spaces small. For each guideline, we provide an application, generally from the realm of traffic light controllers, for which we provide a 'bad' model with a large state space, and a 'good' model with a small state space. The good and bad models are both suitable for their purpose but are not behaviourally equivalent. For all guidelines, we discuss circumstances under which it is reasonable to apply the guidelines. Copyright © 2014 John Wiley & Sons, Ltd.

References

[1]
Formal methods for industrial critical systems. Conference Proceedings; pp.1996-2014.
[2]
Formal Methods in System Design. Journal, vol. 1-44, Springer Verlag, pp.1992-2014.
[3]
Wang L-T, Wu C-W, Wen X. Design for Testability. VLSI Test Principles and Architectures, Morgan Kaufmann Publishers: San Francisco, California, 2006.
[4]
Voas JM, Miller KW. Software testability: the new verification. IEEE Software 1995; Volume 12 Issue 3: pp.17-28.
[5]
Lin FJ, Chu PM, Liu MT. Protocol verification using reachability analysis: The state space explosion problem and relief strategies. ACM SIGCOMM Computer Communication Review 1987; Volume 17 Issue 5: pp.126-135.
[6]
Holzmann GJ. Reliable software development: analysis-aware design. In Proceedings of TACAS 2011, Abdulla P, Leino KRM eds, <bookSeriesTitle>LNCS 6605</bookSeriesTitle>. Springer Verlag: Berlin, 2011; pp.1-2.
[7]
Vissers CA, Scollo G, <familyNamePrefix>van</familyNamePrefix>Sinderen M, Brinksma E. Specification styles in distributed systems design and verification. Theoretical Computer Science 1991; Volume 89: pp.179-206.
[8]
Baumgartner J, Mony H. Scalable liveness checking via property-preserving transformations. In Proceedings of Design, Automation and Test in Europe, Nice. IEEE: France, 2009; pp.1680-1685. DOI 10.1109/DATE.2009.5090933.
[9]
Groote JF, Sellink MPA. Confluence for process verification. Theoretical Computer Science 1996; Volume 170 Issue 1-2: pp.47-81.
[10]
Groote JF, Mathijssen AHJ, Reniers MA, Usenko YS, <familyNamePrefix>van</familyNamePrefix>Weerdenburg MJ. 2009. Analysis of distributed systems with mCRL2. In Process Algebra for Parallel and Distributed Processing, Alexander M, Gardner W eds, Chapman Hall: London.
[11]
MCRL2 homepage. 2014. Available from: "http://www.mcrl2.org". {10 March 2014}.
[12]
Groote JF, Osaiweran A, Schuts MTW, Wesselius JH. Investigating the effects of designing industrial control software using push and poll strategies. Computer Science Report 11-16, Eindhoven University of Techology, 2011.
[13]
Groote JF, Osaiweran A, Wesselius JH. Analyzing a controller of a power distribution unit using formal methods. In Proceedings of ICST2012 Montreal, Canada, IEEE: Los Alamitos, CA, USA, 2012; pp.420-428.
[14]
Groote JF, Osaiweran A, Wesselius JH. Experience report on developing the Front-end client unit under the control of formal methods. In SAC2012 Software Engineering Track, ACM, Riva del Garda, Italy, 2012; pp.1183-1190.
[15]
Groote JF, Osaiweran A, Wesselius JH. Analyzing the effects of formal methods on the development of industrial control software. In Proceedings of ICSM2012. IEEE: Williamsburg, VA, 2011; pp.467-472.
[16]
Osaiweran A, Fransen T, Groote JF, <familyNamePrefix>van</familyNamePrefix>Rijnsoever BJ. Experience report on designing and developing control components using formal methods. In Proceedings of Formal Methods, Giannakopoulou D, Mery D eds, <bookSeriesTitle>LNCS 7436</bookSeriesTitle>. Springer-Verlag: Berlin, 2012; pp.341-355.
[17]
Groote JF, Kouters T, Osaiweran AAH. Specification guidelines to avoid the state space explosion problem. In Proceedings of the 4th International Conference on Fundamentals of Software Engineering FSEN 2011, vol.Volume 7141, <bookSeriesTitle>Lecture Notes in Computer Science</bookSeriesTitle>. Springer Verlag: Berlin, 2012, pp.112-127.
[18]
Baeten JCM, Weijland WP. Process algebra. Cambridge Tracts in Theoretical Computer Science, Cambridge University Press: Cambridge, 1990; 18.
[19]
Groote JF, Mousavi MR. Modeling and Analysis of Communicating Systems. MIT-press. 2014.
[20]
<familyNamePrefix>van</familyNamePrefix>Glabbeek RJ, Weijland WP. Branching time and abstraction in bisimulation semantics. Journal of the ACM 1996; Volume 43 Issue 3: pp.555-600.
[21]
Milner R. A Calculus of communicating systems, <bookSeriesTitle>Lecture Notes in Computer Science</bookSeriesTitle>, vol.Volume 92, Springer Verlag: Berlin, 1980.
[22]
Acharya S, Franklin M, Zdonik S. Balancing push and pull for data broadcast. Proceedings of the 1997 ACM SIGMOD International Conference on Management of Data, Tucson, Arizona,1997: pp.183-194.
[23]
Arbab F. Reo: A Channel-based coordination model for component composition. Mathematical Structures in Computer Science; Cambridge University Press 2004; Volume 14 Issue 3: pp.329-366.
[24]
Larsen KG, Pettersson P, Yi W. Uppaal in a nutshell. International Journal on Software Tools for Technology Transfer 1997; Volume 1 Issue 12: pp.134-152.
[25]
Berry G, Gonthier G. The ESTEREL synchronous programming language: design, semantics, implementation. Science of Computer Programming 1992; Volume 19: pp.87-152.
[26]
Holzmann GJ. The SPIN Model Checker. Primer and Reference Manual. Addison-Wesley: Boston, 2003.
[27]
Blom SCC, <familyNamePrefix>van de</familyNamePrefix>Pol JC. State space reduction by proving confluence. In Proceedings of 14th International Conference on Computer Aided Verification CAV'02, vol.Volume 2404, Brinksma E, Larsen K eds, <bookSeriesTitle>Lecture Notes in Computer Science</bookSeriesTitle>. Springer Verlag, 2002; pp.596-609.
[28]
Cousot P, Cousot R. Abstract interpretation: a unified lattice model for static analysis of programs by constrction or approximation of fixpoints. In Conference Record of the Fourth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM Press: New York, 1977; pp.238-252.
[29]
Dams D, Gerth R, Grumberg O. Abstract interpretation of reactive systems. ACM Transactions on Programming Languages and Systems TOPLAS 1997; Volume 19 Issue 2: pp.253-291.
[30]
Garavel H, Lang F, Mateescu R, Serwe W. CADP 2006: A toolbox for the onstruction and analysis of distributed processes. In Proceedings of the 19th International Conference on Computer Aided Verification CAV'2007, Berlin, Germany, vol.Volume 4590, <bookSeriesTitle>Lecture Notes in Computer Science</bookSeriesTitle>. Springer Verlag; Berlin, 2007; pp.158-163.
[31]
Vissers CA, Logrippo L. The importance of the service concept in the design of data communications protocols. In Protocol Specification, Testing and Verification Proceedings of the IFIP WG 6.1 Fifth International Workshop on Protocol Sepcification, Testing and Verification, Diaz M ed. Elsevier: North Holland, 1986; pp.3-17.
[32]
Broadfoot GH. ASD case notes: costs and benefits of applying formal methods to industrial control software. In Proceedings of Formal Methods Conference FM 2005, <bookSeriesTitle>LNCS 3582</bookSeriesTitle>. Springer Verlag: Berlin, 2005; pp.548-551.
[33]
Tanenbaum AS. Computer Networks, Second edition. Prentice Hall, 1988.

Cited By

View all
  1. Specification guidelines to avoid the state space explosion problem

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image Software Testing, Verification & Reliability
      Software Testing, Verification & Reliability  Volume 25, Issue 1
      January 2015
      71 pages
      ISSN:0960-0833
      EISSN:1099-1689
      Issue’s Table of Contents

      Publisher

      John Wiley and Sons Ltd.

      United Kingdom

      Publication History

      Published: 01 January 2015

      Author Tags

      1. design for verifications
      2. model checking
      3. specification guidelines
      4. state space explosion

      Qualifiers

      • Article

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)0
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 15 Jan 2025

      Other Metrics

      Citations

      Cited By

      View all

      View Options

      View options

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media