Abstract
Verifying whether an ω-regular property is satisfied by a finite-state system is a core problem in model checking. Standard techniques build an automaton with the complementary language, compute its product with the system, and then check for emptiness. Generalized symbolic trajectory evaluation (GSTE) has been recently proposed as an alternative approach, extending the computationally efficient symbolic trajectory evaluation (STE) to general ω-regular properties. In this paper, we show that the GSTE algorithms are essentially a partitioned version of standard symbolic model-checking (SMC) algorithms, where the partitioning is driven by the property under verification. We export this technique of property-driven partitioning to SMC and show that it typically does speed up SMC algorithms.
Similar content being viewed by others
Abbreviations
- MC:
-
Model Checking
- SMC:
-
Symbolic MC
- STE:
-
Symbolic Trajectory Evaluation
- GSTE:
-
Generalized STE
- FG:
-
Fair Graph
- BA:
-
Büchi Automaton
- AG:
-
Assertion Graph
References
Biere A, Clarke EM, Zhu Y (1999) Multiple state and single state tableaux for combining local and global model checking. In: Correct system design. Lecture notes in computer science, vol 1710. Springer, Berlin, pp 163–179
Bloem R, Gabow H, Somenzim F (2000) An algorithm for strongly connected component analysis in nlog n symbolic steps. In: Proceedings of the 3rd international conference on formal methods in computer-aided design. Lecture notes in computer science, vol 1954. Springer, Berlin, pp 37–54
Burch J, Clarke E, Long D (1991) Symbolic model checking with partitioned transition relations. In: Proceedings of the international conference on very large scale integration. IFIP Transactions, vol A-1. North-Holland, Amsterdam, pp 49– 58
Burch J, Clarke E, McMillan K, Dill D, Hwang L (1992) Symbolic model checking: 1020 states and beyond. Inf. Comput. 98(2):142–170
Cabodi G, Camurati P, Lavagno L, Quer S (1997) Disjunctive partitioning and partial iterative squaring: an effective approach for symbolic traversal of large circuits. In: Proceedings of the 34th design automation conference. ACM, New York, pp 728–733
Cabodi G, Camurati P, Quer S (1996) Improved reachability analysis of large finite state machines. In: Proceedings of the international conference on computer-aided design. IEEE Computer Society, Los Alamitos, pp 354–360
Chou C-T (1999) The mathematical foundation of symbolic trajectory evaluation. In: Proceedings of the 11th international conference on computer-aided verification. Lecture notes in computer science, vol 1633. Springer, Berlin, pp 196–207
Cimatti A, Clarke E, Giunchiglia F, Roveri M (1999) NuSMV: a new symbolic model verifier. In: Proceedings of the 11th international conference on computer-aided verification. Lecture notes in computer science, vol 1633. Springer, Berlin, pp 495–499
Cimatti A, Roveri M, Bertoli P (2001) Searching powerset automata by combining explicit-state and symbolic model checking. In: Proceedings of the 7th international conference on tools and algorithms for the construction and analysis of systems. Lecture notes in computer science, vol 2031. Springer, Berlin, pp 313–327
Clarke E, Grumberg O, Hamaguchi K (1997) Another look at LTL model checking. Formal Methods Syst Des 10(1):47–71
Clarke E, Grumberg O, Jha S, Lu Y, Veith H (2000) Counterexample-guided abstraction refinement. In: Proceedings of the 12th international conference on computer-aided verification. Lecture notes in computer science, vol 1855. Springer, Berlin, pp 154–169
Clarke E, Grumberg O, Peled DA (1999) Model checking. MIT Press, Cambridge
Courcoubetis C, Vardi M, Wolper P, Yannakakis M (1992) Memory-efficient algorithms for the verification of temporal properties. Formal Methods Syst Des 1(2/3):275–288
Daniele N, Giunchiglia F, Vardi M (1999) Improved automata generation for linear temporal logic. In: Proceedings of the 11th international conference on computer-aided verification. Lecture notes in computer science, vol 1633. Springer, Berlin, pp 249–260
Dijkstra E (1972) Hierarchical ordering of sequential processes, operating systems techniques. Academic, New York
Emerson E, Lei C (1986) Efficient model checking in fragments of the propositional μ-calculus. In: Proceedings of the symposium on logic in computer science. IEEE Computer Society, Los Alamitos, pp 267–278
Emerson E, Lei C-L (1985) Temporal model checking under generalized fairness constraints. In: Proceedings of the 18th international conference on system sciences. Western Periodicals Company, pp 277–288
Fisler K, Fraer R, Kamhi G, Vardi M, Yang Z (2001) Is there a best symbolic cycle-detection algorithm? In: Proceeding of the 7th international conference on tools and algorithms for the construction and analysis of systems. Lecture notes in computer science, vol 2031. Springer, Berlin, pp 420–434
Fraer R, Kamhi G, Ziv B, Vardi M, Fix L (2000) Prioritized traversal: efficient reachability analysis for verification and falsification. In: Proceeding of the 12th international conference on computer-aided verification. Lecture notes in computer science, vol 1855. Springer, Berlin, pp 389–402
Fritz C (2003) Constructing Büchi Automata from linear temporal logic using simulation relations for alternating Büchi automata. In: Proceedings of the 8th international conference on implementation and application of automata. Lecture notes in computer science, vol 2759. Springer, Berlin, pp 35–48
Gerth R, Peled D, Vardi M, Wolper P (1995) Simple on-the-fly automatic verification of linear temporal logic. In: Proceedings of the 15th international symposium on protocol specification, testing and verification, Warsaw, Poland. IFIP, vol. 38. Chapman & Hall, London, pp 3–18
Goel A, Bryant RE (2003) Set manipulation with Boolean functional vectors for symbolic reachability analysis. In: Proceedings of the 6th conference on design, automation and test in Europe, Munich, Germany. IEEE Computer Society, Los Alamitos, pp 10816–10821
Govindaraju S, Dill D (2000) Counterexample-guided choice of projections in approximate symbolic model checking. In: Proceedings of the international conference on computer-aided design. IEEE, New York, pp 115–119
Grumberg O, Heyman T, Schuster A (2003) A work-efficient distributed algorithm for reachability analysis. In: Proceedings of the 15th international conference on computer-aided verification. Lecture notes in computer science, vol 2725. Springer, Berlin, pp 54–66
Hardin R, Har’el Z, Kurshan R (1996) COSPAN. In: Proceedings 8th international conference on computer-aided verification. Lecture notes in computer science, vol 1102. Springer, Berlin, pp 423–427
Henzinger T, Kupferman O, Qadeer S (2003) From pre-historic to post-modern symbolic model checking. Formal Methods Syst Des 23(3)
Heyman T, Geist D, Grumberg O, Schuster A (2002) A scalable parallel algorithm for reachability analysis of very large circuits. Formal Methods Syst Des 21(3):317–338
Holzmann G (2003) The SPIN model checker: primer and reference manual. Addison-Wesley, Reading
Hu A, Casas J, Yang J (2003) Reasoning about GSTE assertion graphs. In: Proceedings of the conference on correct hardware design and verification methods. Lecture notes in computer science, vol 2860. Springer, Berlin, pp 170–184
Iyer S, Sahoo D, Stangier C, Narayan A, Jain J (2003) Improved Symbolic verification using partitioning techniques. In: Proceedings of the conference on correct hardware design and verification methods. Lecture notes in computer science, vol 2860. Springer, Berlin, pp 410–424
Kupferman O, Vardi M (2001) Model checking of safety properties.. Formal Methods Syst Des 19(3): 291–314
Kupferman O, Vardi M (2001) On bounded specifications. In: Proceedings of the 9th international conference on logic for programming, artificial intelligence and reasoning. Lecture notes in computer science, vol 2250. Springer, Berlin, pp 24–38
Kupferman O, Vardi M, Wolper P (2000) Model checking of safety properties. J. ACM 47(2):312–360
Kurshan R (1994) Computer aided verification of coordinating processes. Princeton University Press, Princeton
Manna Z, Pnueli A (1987) Specification and verification of concurrent programs by ∀-automata. In: Proceedings of the 14th symposium on principles of programming. ACM, New York, pp 1–2
McMillan KL (1996) A conjunctively decomposed boolean representation for symbolic model checking. In: Proceedings of the 8th international conference on computer aided verification. New Brunswick, NJ, USA, pp 13–25
Narayan A, Isles A, Jain J, Brayton R, Sangiovanni-Vincentelli A (1997) Reachability analysis using partitioned-ROBDDs. In: Proceedings of the international conference on computer-aided design. IEEE Computer Society, Los Alamitos, pp 388–393
Narayan A, Jain J, Fujita M, Sangiovanni-Vincentelli A (1996) Partitioned ROBDDs-a compact, canonical and efficiently manipulable representation for Boolean functions. In: Proceedings of the international conference on computer-aided design. IEEE Computer Society, Los Alamitos, pp 547–554
Ravi K, Bloem R, Somenzi F (2000) A comparative study of symbolic algorithms for the computation of fair cycles. In: Proceedings of the 3rd international conference on formal methods in computer-aided design. Lecture notes in computer science, vol 1954. Springer, Berlin, pp 143–160
Sebastiani R, Singerman E, Tonetta S, Vardi MY (2004) GSTE is partitioned model checking. In: Proceedings of the 15th international conference on computer-aided verification. Lecture notes in computer science, vol 3114. Springer, Berlin, pp 229–241
Sebastiani R, Tonetta S (2003) “More Deterministic” vs. “smaller” Büchi automata for efficient ltl model checking. In: Proceedings of the conference on correct hardware design and verification methods. Lecture notes in computer science, vol 2860. Springer, Berlin, pp 126–140
Seger C-J, Bryant R (1995) Formal verification by symbolic evaluation of partially-ordered trajectories. Formal Methods Syst Des 6(2):147–189
Somenzi F, Bloem R (2000) Efficient Büchi automata from LTL formulae. In: Proceedings of the 12th international conference on computer-aided verification. Lecture notes in computer science, vol 1855. Springer, Berlin, pp 247–263
Vardi M, Wolper P (1986) An automata-theoretic approach to automatic program verification. In: Proceedings of the 1st symposium on logic in computer science. IEEE Computer Society, Los Alamitos, pp 332–344
Vardi M, Wolper P (1994) Reasoning about infinite computations. Inf Comput 115(1):1–37
Wang C, Bloem R, Hachtel G, Ravi K, Somenzi F (2001) Divide and compose: SCC refinement for language emptiness. In: Proceedings of 12th international conference on concurrency theory. Lecture notes in computer science, vol 2154. Springer, Berlin, pp 456–471
Wang C, Hachtel G (2002) Sharp disjunctive decomposition for language emptiness checking. In: Proceedings of the 4th international conference on formal methods in computer-aided design. Lecture notes in computer science, vol 2517. Springer, Berlin, pp 106–122
Yang J, Goel A (2002) GSTE through a case study. In: Proceedings of the international conference on computer-aided design. ACM, Los Alamitos, pp 534–541
Yang J, Seger C-J (2000) Generalized symbolic trajectory evaluation. Technical report, Intel SCL
Yang J, Seger C-J (2002) Generalized symbolic trajectory evaluation—abstraction in action. In: Proceedings of the 4th international conference on formal methods in computer-aided design. Lecture notes in computer science, vol 2517. Springer, Berlin, pp 70–87
Yang J, Seger C-JH (2003) Introduction to generalized symbolic trajectory evaluation. IEEE Trans Very Large Scale Integration Syst 11(3)
Author information
Authors and Affiliations
Corresponding author
Additional information
A shorter version of this paper has been presented at CAV’04 (R. Sebastiani et al., Lecture Notes in Comput. Sci., vol. 3114, pp. 143–160, 2004).
R. Sebastiani supported in part by the CALCULEMUS! IHP-RTN EC project, code HPRN-CT-2000-00102, by a MIUR COFIN02 project, code 2002097822_003, and by a grant from the Intel Corporation.
M.Y. Vardi supported in part by NSF grants CCR-9988322, CCR-0124077, CCR-0311326, IIS-9908435, IIS-9978135, EIA-0086264, and ANI-0216467 by BSF grant 9800096, and by a grant from the Intel Corporation.
Rights and permissions
About this article
Cite this article
Sebastiani, R., Singerman, E., Tonetta, S. et al. GSTE is partitioned model checking. Form Methods Syst Des 31, 177–196 (2007). https://doi.org/10.1007/s10703-007-0036-3
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10703-007-0036-3