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.
Similar content being viewed by others
References
P. Godefroid, Partial-Order Methods for the Verification of Concurrent Systems - An Approach to the State-Explosion Problem, Springer, Berlin (1996).
P. Godefroid, “Software model checking: The VeriSoft approach,” in: Formal Methods in System Design, 26, Springer, Netherlands (2005), pp. 77–101.
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).
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).
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.
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).
K. McMillan, Symbolic Model Checking, Kluwer, New York (1993).
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).
S. Chaki, “A counterexample guided abstraction refinement framework for verifying concurrent C programs,” PhD thesis, Carnegie Mellon University, USA (2005).
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.
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.
H. Jain, D. Kroening, N. Sharygina, and E. Clarke, “VCEGAR: Verilog counterexample guided abstraction refinement,” in: TACAS (2007), pp. 583–586
C. Pasareanu, R. Pelanek, and W. Visser, “Predicate abstraction with under–approximation refinement,” Logical Methods in Comput. Sci., 3, 1–22 (2007).
Lu. Yuan, “Automatic abstraction in model checking,” PhD thesis, Carnegie Mellon Univ. (2000).
C. Ip and D. Dill, “Better verification through symmetry,” Formal Methods in System Design, 9, 41–75 (1996).
A. Miller, A. Donaldson, and M. Calder, “Symmetry in temporal logic model checking,” in: ACM Comput. Surv. 38 (2006), pp. 1–36.
M. Nilsson, “Structural symmetry and model checking,” PhD thesis, Uppsala Un-ty (2005).
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.
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.
J. Hatcliff, M. Dwyer, and H. Zheng, “Slicing software for model construction,” Higher-Order and Symbolic Comput., 13(4), 315–353 (2000).
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).
R. Kurshan, Computer-Aided Verification of Coordinating Processes, Princeton Univ. (1994).
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).
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.
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.
M. Ben-Ari, Principles of Spin, Springer, N.Y. (2008).
G. Holzmann, “An analysis of bitstate hashing,” Formal Methods in Systems Design, 13, No. 3, 301–314 (1998).
B. Kernighan and D. Ritchie, The C Programming Language [Russian translation], Williams, Moscow (2007).
E. Dijkstra, “Guarded commands, nondeterminacy, and formal derivation of programs,” Comm. ACM, 18, No. 8, 453–457 (1975).
D. Park, “Concurrency and automata on infinite sequences,” in: Proc. 5th GI-Conf. on Theoret. Comput. Sci., Springer, London, UK (1981), pp. 167–183.
A. Aho, J. Hopcroft, and J. Ulman, Construction and Analysis of Computational Algorithms [Russian translation], Mir, Moscow (1979).
A. Letichevsky, J. Kapitonova, and S. Konozenko, “Computations in APS,” Theoret. Comput. Sci., 119, 145–171 (1993).
R. Tarjan, “Depth first search and linear graph algorithms,” SIAM J. on Comput., 1, No. 2, 146–160 (1972).
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).
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.
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).
T. Wolfgang, “Automata on infinite objects,” Theoretical Comput. Sci., No. 49, 133–191 (1990).
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).
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).
R. Bloem, K. Ravi, and F. Somezi, “Symbolic guided search for CTL model checking,” in: Design Automat. Conf. (2004), pp. 29–34.
Author information
Authors and Affiliations
Corresponding author
Additional information
Translated from Kibernetika i Sistemnyi Analiz, No. 4, pp. 70–90, July–August 2010.
Rights 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
Received:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10559-010-9235-9