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.
Similar content being viewed by others
References
Samarskii, A.A. and Mikhailov, A.P., Matematicheskoe modelirovanie. Idei. Metody. Primery (Mathematical Modeling: Ideas, Methods, Examples), Moscow: Fizmatlit, 2001, 2nd ed.
Simon, H.A., The architecture of complexity, Proc. Am. Philosophical Soc., 1962, vol. 106, no. 6, pp. 467–482.
Roache, P.J., Computational Fluid Dynamics, Hermosa, 1976.
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.
Sorin, D.J., Hill, M.D., and Wood, D.A., A Primer on Memory Consistency and Cache Coherence, Morgan and Claypool, 2011.
Clarke, E. M., Grumberg, O., and Peled, D., Model Checking, MIT Press, 1999.
Konnov, I.V., Verification of parameterized models of distributed systems, Cand. Sci. (Phys.-Math.) Dissertation, Moscow: Moscow State Univ., 2008.
Beizer, B., Black-Box Testing: Techniques for Functional Testing of Software and Systems, Wiley, 1995.
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.
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.
McMillan, K.L., Symbolic model checking. An approach to the state explosion problem, PhD Dissertation, Carnegie Mellon University, 1992.
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.
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.
Godefroid, P. and Pirottin, D., Refining dependencies improves partial-order verification methods, Lect. Notes Comput. Sci., 1993, vol. 697, pp. 438–449.
Pong, F. and Dubois, M., Verification techniques for cache coherence protocols, ACM Computing Surv., 1997, vol. 29, no. 1, pp. 82–126.
Peng, H. and Tahar S., A Survey on compositional verification, Department of Electrical and Computer Engineering, Concordia Univ., 1998.
Clarke, E.M., Long, D.E., and McMillan, K.L., Compositional model checking, Annu. Symp. on Logic in Computer Science, 1989, pp. 353–362.
SMV tool. http://www.cs.cmu.edu/modelcheck/smv.html.
Holzmann, G.J., An analysis of bitstate hashing, Formal Methods System Design, 1998, vol. 13, no. 3, pp. 287–307.
Holzmann, G.J., State compression in SPIN: Recursive indexing and compression training runs, Int. SPIN Workshop, 1997, pp. 1–10.
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.
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.
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.
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.
Mutilin, V.S., Design patterns for test scenarios, Tr. Inst. Sist. Program. Ross. Akad. Nauk, 2006, vol. 9, pp. 97–128.
Wagner, I. and Bertacco, V., MCjammer: Adaptive verification for multi-core designs, Design, Automation and Test in Europe, 2008, pp. 670–675.
Holzmann, G.J., The SPIN Model Checker. Primer and Reference Manual, Addison-Wesley, 2003.
Pnueli, A., The temporal logic of programs, IEEE Annu. Symp. on Foundation of Computer Science, 1977, pp. 46–57.
Nechetkie mnozhestva v modelyakh upravleniya i iskusstvennogo intellekta (Fuzzy Sets in Control and Artificial Intelligence Models), Pospelov, D.A., Ed., Moscow: Nauka, 1986.
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.
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.
CTESK tool. http://forge.ispras.ru/projects/ctesk.
C++TESK tool. http://forge.ispras.ru/projects/cpptesk-toolkit.
Author information
Authors and Affiliations
Corresponding author
Additional information
Original Russian Text © A.S. Kamkin, 2015, published in Programmirovanie, 2015, Vol. 41, No. 6.
Rights and permissions
About this article
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
Received:
Published:
Issue Date:
DOI: https://doi.org/10.1134/S0361768815060043