Skip to main content
Log in

Projecting transition systems: Overcoming state explosion in concurrent system verification

  • Published:
Programming and Computer Software Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Samarskii, A.A. and Mikhailov, A.P., Matematicheskoe modelirovanie. Idei. Metody. Primery (Mathematical Modeling: Ideas, Methods, Examples), Moscow: Fizmatlit, 2001, 2nd ed.

    MATH  Google Scholar 

  2. Simon, H.A., The architecture of complexity, Proc. Am. Philosophical Soc., 1962, vol. 106, no. 6, pp. 467–482.

    Google Scholar 

  3. Roache, P.J., Computational Fluid Dynamics, Hermosa, 1976.

    Google Scholar 

  4. Karpov, Yu.G., Model Checking. Verifikatsiya parallel’nykh i raspredelennykh programmnykh sistem (Model Checking: Verification of Concurrent and Distributed Software Systems), St. Petersburg: BKhV-Peterburg, 2010.

    Google Scholar 

  5. Sorin, D.J., Hill, M.D., and Wood, D.A., A Primer on Memory Consistency and Cache Coherence, Morgan and Claypool, 2011.

    Google Scholar 

  6. Clarke, E. M., Grumberg, O., and Peled, D., Model Checking, MIT Press, 1999.

    Google Scholar 

  7. Konnov, I.V., Verification of parameterized models of distributed systems, Cand. Sci. (Phys.-Math.) Dissertation, Moscow: Moscow State Univ., 2008.

    Google Scholar 

  8. Beizer, B., Black-Box Testing: Techniques for Functional Testing of Software and Systems, Wiley, 1995.

    Google Scholar 

  9. Clarke, E.M., Klieber, W., Novacek, M., and Zuliani, P., Model checking and the state explosion problem, in Tools for Practical Software Verification, 2012, pp. 1–30.

    Chapter  Google Scholar 

  10. Godefroid, P., Partial-order methods for the verification of concurrent systems — an approach to the stateexplosion problem, PhD Dissertation, Liege: Univ. of Liege, Comput. Sci. Dept., 1994.

    Google Scholar 

  11. McMillan, K.L., Symbolic model checking. An approach to the state explosion problem, PhD Dissertation, Carnegie Mellon University, 1992.

    Google Scholar 

  12. Clarke, E.M., Grumberg, O., Jha, S., Lu, Y., and Veith, H., Counterexample-guided abstraction refinement, Lect. Notes Comput. Sci., 2000, vol. 1855, pp. 154–169.

    Google Scholar 

  13. Broy, M., Jonsson, B., Katoen, J.-P., Leucker, M., and Pretschner, A., Model-based testing of reactive systems, Lect. Notes Comput. Sci., 2005, vol. 3472.

  14. Godefroid, P. and Pirottin, D., Refining dependencies improves partial-order verification methods, Lect. Notes Comput. Sci., 1993, vol. 697, pp. 438–449.

    Article  Google Scholar 

  15. Pong, F. and Dubois, M., Verification techniques for cache coherence protocols, ACM Computing Surv., 1997, vol. 29, no. 1, pp. 82–126.

    Article  Google Scholar 

  16. Peng, H. and Tahar S., A Survey on compositional verification, Department of Electrical and Computer Engineering, Concordia Univ., 1998.

    Google Scholar 

  17. Clarke, E.M., Long, D.E., and McMillan, K.L., Compositional model checking, Annu. Symp. on Logic in Computer Science, 1989, pp. 353–362.

    Google Scholar 

  18. SMV tool. http://www.cs.cmu.edu/modelcheck/smv.html.

  19. Holzmann, G.J., An analysis of bitstate hashing, Formal Methods System Design, 1998, vol. 13, no. 3, pp. 287–307.

    Article  MathSciNet  Google Scholar 

  20. Holzmann, G.J., State compression in SPIN: Recursive indexing and compression training runs, Int. SPIN Workshop, 1997, pp. 1–10.

    Google Scholar 

  21. Chen, Y., Abts, D., and Lilja, D.J., Efficiently generating test vectors with state pruning, Asia and South Pacific Design Automation Conf., 2005, pp. 1196–1199.

    Google Scholar 

  22. Bourdonov, I.B.,, Groshev, S.G., Demakov, A.V., Kamkin, A.S., Kossatchev, A.S., and Sortov, A.A., Concurrent testing of large-scale automaton models, Vestn. NNGU, 2011, no. 31, pp. 187–193.

    Google Scholar 

  23. Drobintsev, P.D., Nikiforov, I.V., Voinov, N.V., and Kotlyarov, V.P., An approach to testing concurrent system based on UCM specifications, Nauchno-tekh. vedomosti SPbGPU. Informatika. Telekommunikatsii. Upravlenie, 2014, vol. 3, no. 198, pp. 85–91.

    Google Scholar 

  24. Kuliamin, V.V., Petrenko, A.K., Kossatchev, A.S., and Bourdonov, I.B., The UniTesK approach to designing test suites, Program. Comput. Software, 2003, vol. 29, no. 6, pp. 310–322.

    Article  Google Scholar 

  25. Mutilin, V.S., Design patterns for test scenarios, Tr. Inst. Sist. Program. Ross. Akad. Nauk, 2006, vol. 9, pp. 97–128.

    Google Scholar 

  26. Wagner, I. and Bertacco, V., MCjammer: Adaptive verification for multi-core designs, Design, Automation and Test in Europe, 2008, pp. 670–675.

    Google Scholar 

  27. Holzmann, G.J., The SPIN Model Checker. Primer and Reference Manual, Addison-Wesley, 2003.

    Google Scholar 

  28. Pnueli, A., The temporal logic of programs, IEEE Annu. Symp. on Foundation of Computer Science, 1977, pp. 46–57.

    Google Scholar 

  29. Nechetkie mnozhestva v modelyakh upravleniya i iskusstvennogo intellekta (Fuzzy Sets in Control and Artificial Intelligence Models), Pospelov, D.A., Ed., Moscow: Nauka, 1986.

  30. Bourdonov, I.B., Kossatchev, A.S., and Kuliamin, V.V., Irredundant algorithms for traversing directed graphs: The deterministic case, Program. Comput. Software, 2003, vol. 29, no. 5, pp. 245–258.

    Article  MATH  MathSciNet  Google Scholar 

  31. Bourdonov, I.B., Kossatchev, A.S., and Kuliamin, V.V., Irredundant algorithms for traversing directed graphs: The nondeterministic case, Program. Comput. Software, 2004, vol. 30, no. 1 pp. 2–17.

    Article  MATH  MathSciNet  Google Scholar 

  32. CTESK tool. http://forge.ispras.ru/projects/ctesk.

  33. C++TESK tool. http://forge.ispras.ru/projects/cpptesk-toolkit.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to A. S. Kamkin.

Additional information

Original Russian Text © A.S. Kamkin, 2015, published in Programmirovanie, 2015, Vol. 41, No. 6.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kamkin, A.S. Projecting transition systems: Overcoming state explosion in concurrent system verification. Program Comput Soft 41, 311–324 (2015). https://doi.org/10.1134/S0361768815060043

Download citation

  • Received:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1134/S0361768815060043

Keywords

Navigation