Skip to main content
Log in

An automatic method for the dynamic construction of abstractions of states of a formal model

  • Published:
Cybernetics and Systems Analysis Aims and scope

Abstract

A method for constructing abstractions to improve the efficiency of checking formal models is described. The state equivalence relation is weakened by ignoring insignificant attribute values. Some examples of experimental results illustrate the decrease in the verification complexity from exponential to polynomial.

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. P. Godefroid, Partial-Order Methods for the Verification of Concurrent Systems - An Approach to the State-Explosion Problem, Springer, Berlin (1996).

  2. P. Godefroid, “Software model checking: The VeriSoft approach,” in: Formal Methods in System Design, 26, Springer, Netherlands (2005), pp. 77–101.

  3. D. Peled, “Combining partial order reductions with on the fly model checking,” J. of Formal Methods in System Design, 8, No. 1, 39–64 (1996).

    Article  Google Scholar 

  4. J. Burch, E. Clarke, K. McMillan, D. Dill, and L. Hwang, “Symbolic model checking: 10^20 states and beyond,” Inform. and Comput., 98, No. 2, 142–170 (1992).

    Article  MATH  MathSciNet  Google Scholar 

  5. A. Cimatti, E. M. Clarke, E. Giunchiglia, et al., “NuSMV 2: An OpenSource tool for symbolic model checking,” in: Proc. Int. Conf. on Computer-Aided Verification, Copenhagen, Denmark (2002), pp. 359–364.

  6. E. Clarke, O. Grumberg, S. Jha, Y. Lu, and H. Veith, “Counterexample-guided abstraction refinement for symbolic model checking,” J. of the ACM, 50, No. 5, 752–794 (2003).

    Article  MathSciNet  Google Scholar 

  7. K. McMillan, Symbolic Model Checking, Kluwer, New York (1993).

    MATH  Google Scholar 

  8. A. A. Letichevsky, Yu. V. Kapitonova, V. A. Volkov, et al., “Systems Specification by Basic Protocols,” Cybernetics and Systems Analysis, No. 4, 3–21 (2005).

  9. S. Chaki, “A counterexample guided abstraction refinement framework for verifying concurrent C programs,” PhD thesis, Carnegie Mellon University, USA (2005).

  10. A. Gupta, C. Wang, and H. Kim, “Hybrid CEGAR: Combining variable hiding and predicate abstraction,” in: Proc. 2007 IEEE/ACM Int. Conf. on Computer-Aided Design, (2007), pp. P. 310–317.

  11. T. Henzinger, R. Jhala, R. Majumdar, and G. Sutre, “Lazy abstraction,” in: Proc. 29th ACM SIGPLAN-SIGACT Symp. on Principles of Program. Languages, 37 (2002), pp. 58–70.

  12. H. Jain, D. Kroening, N. Sharygina, and E. Clarke, “VCEGAR: Verilog counterexample guided abstraction refinement,” in: TACAS (2007), pp. 583–586

  13. C. Pasareanu, R. Pelanek, and W. Visser, “Predicate abstraction with under–approximation refinement,” Logical Methods in Comput. Sci., 3, 1–22 (2007).

    MathSciNet  Google Scholar 

  14. Lu. Yuan, “Automatic abstraction in model checking,” PhD thesis, Carnegie Mellon Univ. (2000).

  15. C. Ip and D. Dill, “Better verification through symmetry,” Formal Methods in System Design, 9, 41–75 (1996).

    Article  Google Scholar 

  16. A. Miller, A. Donaldson, and M. Calder, “Symmetry in temporal logic model checking,” in: ACM Comput. Surv. 38 (2006), pp. 1–36.

  17. M. Nilsson, “Structural symmetry and model checking,” PhD thesis, Uppsala Un-ty (2005).

  18. T. Ball and S. Horwitz, “Slicing programs with arbitrary control flow,” in: Proc. 1st Int. Workshop on Automat. and Algorithmic Debugging (1993), pp. 206–222.

  19. S. Graf and H. Saidi, “Construction of abstract state graphs with PVS,” in: Proc. 9th Intern. Conf. on Comput. Aided Verificat., LNCS 1254 (1997), pp. 72–83.

  20. J. Hatcliff, M. Dwyer, and H. Zheng, “Slicing software for model construction,” Higher-Order and Symbolic Comput., 13(4), 315–353 (2000).

    Article  MATH  Google Scholar 

  21. Y. Kesten and A. Pnueli, “Control and data abstraction: The cornerstones of practical formal verification,” Int. J. on Software Tools for Technology Transfer, 2, No. 4, 328–342 (2000).

    Article  MATH  Google Scholar 

  22. R. Kurshan, Computer-Aided Verification of Coordinating Processes, Princeton Univ. (1994).

  23. J. Lind-Nielsen, H. Andersen, G. Behrmann, et al., “Verification of large state/event systems using compositionality and dependency analysis,” J. of Formal Methods in System Design, 18, No. 1, 5–23 (2001).

    Article  MATH  Google Scholar 

  24. L. Millet and T. Tietelbaum, “Slicing Promela and its applications to model checking, simulation, and protocol understanding,” in: Proc. 4th Intern. SPIN Workshop (1998), pp. 75–83.

  25. J. Wilander, “Modeling and visualizing security properties of code using dependence graphs,” in: Proc. 5th Conf. on Software Engineering Research and Practice in Sweden (2007), pp. 65–74.

  26. M. Ben-Ari, Principles of Spin, Springer, N.Y. (2008).

    MATH  Google Scholar 

  27. G. Holzmann, “An analysis of bitstate hashing,” Formal Methods in Systems Design, 13, No. 3, 301–314 (1998).

    MathSciNet  Google Scholar 

  28. B. Kernighan and D. Ritchie, The C Programming Language [Russian translation], Williams, Moscow (2007).

    Google Scholar 

  29. E. Dijkstra, “Guarded commands, nondeterminacy, and formal derivation of programs,” Comm. ACM, 18, No. 8, 453–457 (1975).

    Article  MATH  MathSciNet  Google Scholar 

  30. D. Park, “Concurrency and automata on infinite sequences,” in: Proc. 5th GI-Conf. on Theoret. Comput. Sci., Springer, London, UK (1981), pp. 167–183.

  31. A. Aho, J. Hopcroft, and J. Ulman, Construction and Analysis of Computational Algorithms [Russian translation], Mir, Moscow (1979).

    Google Scholar 

  32. A. Letichevsky, J. Kapitonova, and S. Konozenko, “Computations in APS,” Theoret. Comput. Sci., 119, 145–171 (1993).

    Article  MATH  MathSciNet  Google Scholar 

  33. R. Tarjan, “Depth first search and linear graph algorithms,” SIAM J. on Comput., 1, No. 2, 146–160 (1972).

    Article  MATH  MathSciNet  Google Scholar 

  34. R. Bloem, H. Gabow, and F. Somenzi, “An algorithm for strongly connected component analysis inn n log symbolic steps,” Formal Methods in System Design, 28, 37–56 (2006).

    Article  MATH  Google Scholar 

  35. R. Gerth, D. Peled, M. Vardi, and P. Wolper, “Simple on the fly automatic verification of linear temporal logic,” in: Protocol Specificat. Testing and Verificat. (1995), pp. 3–18.

  36. A. Sistla, M. Vardi, and P. Wolper, “The complementation problem for Buchi automata with application to temporal logic,” Theoretical Comput. Sci., No. 49, 217–237 (1987).

    Google Scholar 

  37. T. Wolfgang, “Automata on infinite objects,” Theoretical Comput. Sci., No. 49, 133–191 (1990).

  38. E. Clarke, D. Kroening, and F. Lerda, “A tool for checking ANSI-C programs,” Tools and Algorithms for the Construction and Analysis of Systems, LNCS 2988, 168–176 (2004).

    Article  Google Scholar 

  39. http://www.cs.cmu.edu/~modelcheck/cbmc.

  40. http://nusmv.irst.itc.it.

  41. http://www.kenmcmil.com/smv/linux.

  42. http://www.cs.cmu.edu/~modelcheck/vcegar.

  43. D. Beyer, T. Henzinger, R. Jhala, and R. Majumdar, “The software model checker BLAST,” Int. J. Softw. Tools Technol. Transfer., No. 9, 505–525 (2007).

  44. http://mtc.epfl.ch/software–tools/blast.

  45. http://spinroot.com/spin/whatispin.html.

  46. R. Bloem, K. Ravi, and F. Somezi, “Symbolic guided search for CTL model checking,” in: Design Automat. Conf. (2004), pp. 29–34.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to A. V. Kolchin.

Additional information

Translated from Kibernetika i Sistemnyi Analiz, No. 4, pp. 70–90, July–August 2010.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kolchin, A.V. An automatic method for the dynamic construction of abstractions of states of a formal model. Cybern Syst Anal 46, 583–601 (2010). https://doi.org/10.1007/s10559-010-9235-9

Download citation

  • Received:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10559-010-9235-9

Keywords

Navigation