Skip to main content
Log in

GSTE is partitioned model checking

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

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.

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

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

  1. 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

    Chapter  Google Scholar 

  2. 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

    Google Scholar 

  3. 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

    Google Scholar 

  4. Burch J, Clarke E, McMillan K, Dill D, Hwang L (1992) Symbolic model checking: 1020 states and beyond. Inf. Comput. 98(2):142–170

    Article  MATH  Google Scholar 

  5. 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

    Chapter  Google Scholar 

  6. 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

    Chapter  Google Scholar 

  7. 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

    Google Scholar 

  8. 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

    Google Scholar 

  9. 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

    Chapter  Google Scholar 

  10. Clarke E, Grumberg O, Hamaguchi K (1997) Another look at LTL model checking. Formal Methods Syst Des 10(1):47–71

    Article  Google Scholar 

  11. 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

    Chapter  Google Scholar 

  12. Clarke E, Grumberg O, Peled DA (1999) Model checking. MIT Press, Cambridge

    Google Scholar 

  13. 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

    Article  Google Scholar 

  14. 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

    Google Scholar 

  15. Dijkstra E (1972) Hierarchical ordering of sequential processes, operating systems techniques. Academic, New York

    Google Scholar 

  16. 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

    Google Scholar 

  17. 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

  18. 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

    Chapter  Google Scholar 

  19. 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

    Google Scholar 

  20. 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

    Google Scholar 

  21. 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

    Google Scholar 

  22. 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

    Google Scholar 

  23. 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

    Google Scholar 

  24. 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

    Google Scholar 

  25. 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

    Google Scholar 

  26. Henzinger T, Kupferman O, Qadeer S (2003) From pre-historic to post-modern symbolic model checking. Formal Methods Syst Des 23(3)

  27. 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

    Article  MATH  Google Scholar 

  28. Holzmann G (2003) The SPIN model checker: primer and reference manual. Addison-Wesley, Reading

    Google Scholar 

  29. 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

    Google Scholar 

  30. 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

    Google Scholar 

  31. Kupferman O, Vardi M (2001) Model checking of safety properties.. Formal Methods Syst Des 19(3): 291–314

    Article  MATH  Google Scholar 

  32. 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

    Chapter  Google Scholar 

  33. Kupferman O, Vardi M, Wolper P (2000) Model checking of safety properties. J. ACM 47(2):312–360

    Article  Google Scholar 

  34. Kurshan R (1994) Computer aided verification of coordinating processes. Princeton University Press, Princeton

    Google Scholar 

  35. 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

    Google Scholar 

  36. 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

  37. 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

    Chapter  Google Scholar 

  38. 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

    Chapter  Google Scholar 

  39. 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

    Google Scholar 

  40. 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

    Google Scholar 

  41. 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

    Google Scholar 

  42. Seger C-J, Bryant R (1995) Formal verification by symbolic evaluation of partially-ordered trajectories. Formal Methods Syst Des 6(2):147–189

    Article  Google Scholar 

  43. 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

    Chapter  Google Scholar 

  44. 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

    Google Scholar 

  45. Vardi M, Wolper P (1994) Reasoning about infinite computations. Inf Comput 115(1):1–37

    Article  MATH  Google Scholar 

  46. 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

    Google Scholar 

  47. 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

    Google Scholar 

  48. 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

    Google Scholar 

  49. Yang J, Seger C-J (2000) Generalized symbolic trajectory evaluation. Technical report, Intel SCL

  50. 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

    Google Scholar 

  51. Yang J, Seger C-JH (2003) Introduction to generalized symbolic trajectory evaluation. IEEE Trans Very Large Scale Integration Syst 11(3)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Stefano Tonetta.

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

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10703-007-0036-3

Keywords

Navigation