Advertisement

Empirically Efficient Verification for a Class of Infinite-State Systems

  • Jesse Bingham
  • Alan J. Hu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3440)

Abstract

Well-structured transition systems (WSTS) are a broad and well-studied class of infinite-state systems, for which the problem of verifying the reachability of an upward-closed set of error states is decidable (subject to some technicalities). Recently, Bingham proposed a new algorithm for this problem, but applicable only to the special cases of broadcast protocols and petri nets. The algorithm exploits finite-state symbolic model checking and was shown to outperform the classical WSTS verification algorithm on a contrived example family of petri nets.

In this work, we generalize the earlier results to handle a larger class of WSTS, which we dub nicely sliceable, that includes broadcast protocols, petri nets, context-free grammars, and lossy channel systems. We also add an optimization to the algorithm that accelerates convergence. In addition, we introduce a new reduction that soundly converts the verification of parameterized systems with unbounded conjunctive guards into a verification problem on nicely sliceable WSTS. The reduction is complete if a certain decidable side condition holds. This allows us to access industrially relevant challenge problems from parameterized memory system verification. Our empirical results show that, although our new method performs worse than the classical approach on small petri net examples, it performs substantially better on the larger examples based on real, parameterized protocols (e.g., German’s cache coherence protocol, with data paths).

References

  1. 1.
    Abdulla, P., Jonsson, B.: Verifying programs with unreliable channels. In: Proceedings of the Eighth Annual IEEE Symposium on Logic in Computer Science, pp. 160–170 (1993)Google Scholar
  2. 2.
    Abdulla, P.A., Cerans, K., Jonsson, B., Yih-Kuen, T.: General decidability theorems for infinite-state systems. In: 10th Annual IEEE Symp. on Logic in Computer Science (LICS 1996), pp. 313–321 (1996)Google Scholar
  3. 3.
    Annichini, A., Bouajjani, A., Sighireanu, M.: TReX: A tool for reachability analysis of complex systems. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, p. 368. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  4. 4.
    Bingham, J.: A new approach to upward closed set backward reachability analysis. In: 6th International Workshop on Verification of Infinite-State Systems, INFINITY (2004)Google Scholar
  5. 5.
    Bingham, J., Hu, A.J.: Empirically efficient verification for a class of infinite-state systems. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 77–92. Springer, Heidelberg (2005), http://www.springerlink.com/ Google Scholar
  6. 6.
    Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers C-35(8), 677–691 (1986)Google Scholar
  7. 7.
    Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.J.: Symbolic model checking: 1020 states and beyond. Information and Computation 98(2) (1992)Google Scholar
  8. 8.
    Chou, C.T., Mannava, P.K., Park, S.: A simple method for parameterized verification of cache coherence protocols. Formal Methods in Computer-Aided Design (2004)Google Scholar
  9. 9.
    Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching time temporal logic. In: Kozen, D. (ed.) Logic of Programs 1981. LNCS, vol. 131, pp. 52–71. Springer, Heidelberg (1982)CrossRefGoogle Scholar
  10. 10.
    Culler, D.E., Singh, J.P., Gupta, A.: Parallel Computer Architecture: A Hardware/Software Approach. Morgan Kaufmann, San Francisco (1998)Google Scholar
  11. 11.
    Delzanno, G.: Automatic verification of parameterized cache coherence protocols. In: Proceedings of the 12th International Conference on Computer Aided Verification (July 2000)Google Scholar
  12. 12.
    Delzanno, G., Raskin, J.F.: Symbolic representation of upward-closed sets. In: Schwartzbach, M.I., Graf, S. (eds.) TACAS 2000. LNCS, vol. 1785, pp. 426–440. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  13. 13.
    Delzanno, G., Raskin, J.F., Van Begin, L.: Attacking symbolic state explosion. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 298–310. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  14. 14.
    Emerson, E.A., Kahlon, V.: Exact and efficient verification of parameterized cache coherence protocols. In: Geist, D., Tronci, E. (eds.) CHARME 2003. LNCS, vol. 2860, pp. 247–262. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  15. 15.
    Emerson, E.A., Kahlon, V.: Model checking guarded protocols. In: Eighteenth Annual IEEE Symposium on Logic in Computer Science (LICS), pp. 361–370 (June 2003)Google Scholar
  16. 16.
    Emerson, E.A., Kahlon, V.: Rapid parameterized model checking of snoopy cache protocols. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 144–159. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  17. 17.
    Emerson, E.A., Namjoshi, K.S.: On model checking for non-deterministic infinite-state systems. In: Proceedings of LICS 1998, pp. 70–80 (1998)Google Scholar
  18. 18.
    Esparza, J., Finkel, A., Mayr, R.: On the verification of broadcast protocols. In: Proceedings of LICS 1999, pp. 352–359 (1999)Google Scholar
  19. 19.
    Finkel, A.: Reduction and covering of infinite reachability trees. Information and Computation 89(2), 144–179 (1990)zbMATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    Finkel, A., Schnoebelen, P.: Well structured transition systems everywhere! Theoretical Computer Science 256(1-2), 63–92 (2001)zbMATHCrossRefMathSciNetGoogle Scholar
  21. 21.
    Ganty, P., Van Begin, L.: Non deterministic automata for the efficient verification of infinite-state. In: Presented at: CP+CV Workshop at European Joint Conferences on Theory and Practice of Software, ETAPS (2004)Google Scholar
  22. 22.
    Geeraerts, G., Raskin, J.-F., Van Begin, L.: Expand, Enlarge and Check: new algorithms for the coverability problem of WSTS. In: Lodaya, K., Mahajan, M. (eds.) FSTTCS 2004. LNCS, vol. 3328, pp. 287–298. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  23. 23.
    German, S.: Personal correspondence (2003)Google Scholar
  24. 24.
    Henzinger, T.A., Ho, P.-H., Wong-Toi, H.: Hytech: A model checker for hybrid systems. Software Tools for Technology Transfer 1, 110–122 (1997)zbMATHCrossRefGoogle Scholar
  25. 25.
    Higman, G.: Ordering by divisibility in abstract algebras. Proceedings of the London Mathematical Society (3) 2(7), 326–336 (1952)zbMATHCrossRefMathSciNetGoogle Scholar
  26. 26.
    Lahiri, S.K., Bryant, R.E.: Constructing quantified invariants via predicate abstraction. In: Steffen, B., Levi, G. (eds.) VMCAI 2004. LNCS, vol. 2937, pp. 267–281. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  27. 27.
    Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addision-Wesley, London (2002)Google Scholar
  28. 28.
    Pnueli, A., Ruah, S., Zuck, L.: Automatic deductive verification with invisible invariants. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 82–97. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  29. 29.
    Queille, J.-P., Sifakis, J.: Specification and verification of concurrent systems in Cesar. In: Programming 1982. LNCS, vol. 137, pp. 337–351. Springer, Heidelberg (1981)Google Scholar
  30. 30.
    Somenzi, F.: Colorado university decision diagram package (CUDD) webpage, http://vlsi.colorado.edu/~fabio/CUDD/cuddIntro.html

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Jesse Bingham
    • 1
  • Alan J. Hu
    • 1
  1. 1.Department of Computer ScienceUniversity of British Columbia 

Personalised recommendations