Advertisement

Formal Methods in System Design

, Volume 31, Issue 2, pp 177–196 | Cite as

GSTE is partitioned model checking

  • Roberto Sebastiani
  • Eli Singerman
  • Stefano Tonetta
  • Moshe Y. Vardi
Article

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.

Keywords

Symbolic model checking GSTE Property-driven partitioning 

Abbreviations

MC

Model Checking

SMC

Symbolic MC

STE

Symbolic Trajectory Evaluation

GSTE

Generalized STE

FG

Fair Graph

BA

Büchi Automaton

AG

Assertion Graph

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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 CrossRefGoogle Scholar
  2. 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. 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. 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 MATHCrossRefGoogle Scholar
  5. 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 CrossRefGoogle Scholar
  6. 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 CrossRefGoogle Scholar
  7. 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. 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. 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 CrossRefGoogle Scholar
  10. 10.
    Clarke E, Grumberg O, Hamaguchi K (1997) Another look at LTL model checking. Formal Methods Syst Des 10(1):47–71 CrossRefGoogle Scholar
  11. 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 CrossRefGoogle Scholar
  12. 12.
    Clarke E, Grumberg O, Peled DA (1999) Model checking. MIT Press, Cambridge Google Scholar
  13. 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 CrossRefGoogle Scholar
  14. 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. 15.
    Dijkstra E (1972) Hierarchical ordering of sequential processes, operating systems techniques. Academic, New York Google Scholar
  16. 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. 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 Google Scholar
  18. 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 CrossRefGoogle Scholar
  19. 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. 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. 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. 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. 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. 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. 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. 26.
    Henzinger T, Kupferman O, Qadeer S (2003) From pre-historic to post-modern symbolic model checking. Formal Methods Syst Des 23(3) Google Scholar
  27. 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 MATHCrossRefGoogle Scholar
  28. 28.
    Holzmann G (2003) The SPIN model checker: primer and reference manual. Addison-Wesley, Reading Google Scholar
  29. 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. 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. 31.
    Kupferman O, Vardi M (2001) Model checking of safety properties.. Formal Methods Syst Des 19(3): 291–314 MATHCrossRefGoogle Scholar
  32. 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 CrossRefGoogle Scholar
  33. 33.
    Kupferman O, Vardi M, Wolper P (2000) Model checking of safety properties. J. ACM 47(2):312–360 CrossRefGoogle Scholar
  34. 34.
    Kurshan R (1994) Computer aided verification of coordinating processes. Princeton University Press, Princeton Google Scholar
  35. 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. 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 Google Scholar
  37. 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 CrossRefGoogle Scholar
  38. 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 CrossRefGoogle Scholar
  39. 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. 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. 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. 42.
    Seger C-J, Bryant R (1995) Formal verification by symbolic evaluation of partially-ordered trajectories. Formal Methods Syst Des 6(2):147–189 CrossRefGoogle Scholar
  43. 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 CrossRefGoogle Scholar
  44. 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. 45.
    Vardi M, Wolper P (1994) Reasoning about infinite computations. Inf Comput 115(1):1–37 MATHCrossRefGoogle Scholar
  46. 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. 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. 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. 49.
    Yang J, Seger C-J (2000) Generalized symbolic trajectory evaluation. Technical report, Intel SCL Google Scholar
  50. 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. 51.
    Yang J, Seger C-JH (2003) Introduction to generalized symbolic trajectory evaluation. IEEE Trans Very Large Scale Integration Syst 11(3) Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2007

Authors and Affiliations

  • Roberto Sebastiani
    • 1
  • Eli Singerman
    • 2
  • Stefano Tonetta
    • 3
  • Moshe Y. Vardi
    • 4
  1. 1.Dipartimento di Informatica e TelecomunicazioniUniversità di TrentoTrentoItaly
  2. 2.Intel Israel Design CenterHaifaIsrael
  3. 3.Faculty of InformaticsUniversity of LuganoLuganoSwitzerland
  4. 4.Department of Computer ScienceRice UniversityHoustonUSA

Personalised recommendations