Skip to main content

State Space Reduction of Rewrite Theories Using Invisible Transitions

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4019))

Abstract

State space explosion is the hardest challenge to the effective application of model checking methods. We present a new technique for achieving drastic state space reductions that can be applied to a very wide range of concurrent systems, namely any system specified as a rewrite theory. Given a rewrite theory \(\mathcal{R}=(\Sigma,E,R)\) whose equational part (Σ,E) specifies some state predicates P, we identify a subset S ⊆ R of rewrite rules that are P-invisible, so that rewriting with S does not change the truth value of the predicates P. We then use S to construct a reduced rewrite theory \(\mathcal{R}/S\) in which all states reachable by S-transitions become identified. We show that if \(\mathcal{R}/S\) satisfies reasonable executability assumptions, then it is in fact stuttering bisimilar to \(\mathcal{R}\) and therefore both satisfy the same \({\it CTL}^{\rm \ast}_{\rm -{\it X}}\) formulas. We can then use the typically much smaller \(\mathcal{R}/S\) to verify such formulas. We show through several case studies that the reductions achievable this way can be huge in practice. Furthermore, we also present a generalization of our construction that instead uses a stuttering simulation and can be applied to an even broader class of systems.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alur, R., Brayton, R.K., Henzinger, T.A., Qadeer, S., Rajamani, S.K.: Partial-order reduction in symbolic state exploration. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 340–351. Springer, Heidelberg (1997)

    Google Scholar 

  2. Blom, S., van de Pol, J.: State space reduction by proving confluence. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 596–609. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  3. Browne, M.C., Clarke, E.M., Grumberg, O.: Characterizing finite kripke structures in propositional temporal logic. Theoretical Computer Science 59, 115–131 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  4. Clarke, E.M., Grumberg, O., Long, D.E.: Model checking and abstraction. ACM Transactions on Programming Languages and Systems 16(5), 1512–1542 (1994)

    Article  Google Scholar 

  5. Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (2001)

    Google Scholar 

  6. Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Quesada, J.: Maude: specification and programming in rewriting logic. Theoretical Computer Science 285, 187–243 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  7. Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: Maude Manual (Version 2.2) (December 2005), http://maude.cs.uiuc.edu

  8. Clavel, M., Durán, F., Eker, S., Meseguer, J.: Building equational proving tools by reflection in rewriting logic. In: Proc. of the CafeOBJ Symposium (April 1998)

    Google Scholar 

  9. Colón, M.A., Uribe, T.E.: Generating finite-state abstractions of reactive systems using decision procedures. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, pp. 293–304. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  10. Contejean, E., Marché, C.: CiME: Completion modulo E. In: Ganzinger, H. (ed.) RTA 1996. LNCS, vol. 1103, Springer, Heidelberg (1996)

    Google Scholar 

  11. Dams, D., Gerth, R., Grumberg, O.: Abstract interpretation of reactive systems. ACM Transactions on Programming Languages and Systems 19, 253–291 (1997)

    Article  Google Scholar 

  12. Durán, F.: Coherence checker and completion tools for Maude specifications (manuscript, 2000), http://maude.cs.uiuc.edu/papers

  13. Durán, F., Lucas, S., Meseguer, J., Marché, C., Urbain, X.: Proving termination of membership equational programs. In: PEPM 2004, pp. 147–158 (2004)

    Google Scholar 

  14. Eker, S., Meseguer, J., Sridharanarayanan, A.: The Maude LTL model checker and its implementation. In: Ball, T., Rajamani, S.K. (eds.) SPIN 2003. LNCS, vol. 2648, pp. 230–234. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  15. Farzan, A., Meseguer, J.: Partial order reduction for rewriting semantics of programming languages. In: WRLA 2006, pp. 56–75 (2006)

    Google Scholar 

  16. Flanagan, C., Godefroid, P.: Dynamic partial order reduction for model checking software. In: Proceedings of POPL (2005)

    Google Scholar 

  17. Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: Automated termination proofs with AProVE. In: van Oostrom, V. (ed.) RTA 2004. LNCS, vol. 3091, pp. 210–220. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  18. Godefroid, P.: Model checking for programming languages using VeriSoft. In: POPL, pp. 174–186 (1997)

    Google Scholar 

  19. Godefroid, P., Wolper, P.: A partial approach to model checking. In: Proceedings of Logic in Computer Science, pp. 406–415 (1991)

    Google Scholar 

  20. Kesten, Y., Pnueli, A.: Control and data abstraction: The cornerstones of practical formal verification. International Journal on Software Tools for Technology Transfer 4(2), 328–342 (2000)

    Article  Google Scholar 

  21. Kurshan, R., Levin, V., Minea, M., Peled, D., Yenigun, H.: Static partial order reduction. In: Steffen, B. (ed.) ETAPS 1998 and TACAS 1998. LNCS, vol. 1384, pp. 345–357. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  22. Loiseaux, C., Graf, S., Sifakis, J., Bouajjani, A., Bensalem, S.: Property preserving abstractions for the verification of concurrent systems. Formal Methods in System Design 6, 1–36 (1995)

    Article  Google Scholar 

  23. Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann, San Francisco (1996)

    MATH  Google Scholar 

  24. Manolios, P.: Mechanical Verification of Reactive Systems. PhD thesis, University of Texas at Austin (August 2001)

    Google Scholar 

  25. Martí-Oliet, N., Meseguer, J.: Rewriting logic: roadmap and bibliography. Theoretical Computer Science 285, 121–154 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  26. Martí-Oliet, N., Meseguer, J., Palomino, M.: Theoroidal maps as algebraic simulations. In: Fiadeiro, J.L., Mosses, P.D., Orejas, F. (eds.) WADT 2004. LNCS, vol. 3423, pp. 126–143. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  27. Meseguer, J.: Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science 96(1), 73–155 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  28. Meseguer, J.: Research directions in rewriting logic. In: Computational Logic, NATO Advanced Study Institute, Marktoberdorf (1999)

    Google Scholar 

  29. Meseguer, J., Palomino, M., Martí-Oliet, N.: Equational abstractions. In: Baader, F. (ed.) CADE 2003. LNCS (LNAI), vol. 2741, pp. 2–16. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  30. De Nicola, R., Vaandrager, F.: Three logics for branching bisimulation. Journal of ACM 42(2) (1995)

    Google Scholar 

  31. Palomino, M., Meseguer, J., Martí-Oliet, N.: A categorical approach to simulations. In: Fiadeiro, J.L., Harman, N.A., Roggenbach, M., Rutten, J. (eds.) CALCO 2005. LNCS, vol. 3629, pp. 313–330. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  32. Peled, D.: Combining partial order reduction with on-the-fly model checking. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818, pp. 377–390. Springer, Heidelberg (1994)

    Google Scholar 

  33. Saïdi, H., Shankar, N.: Abstract and model check while you prove. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 443–454. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  34. Valmari, A.: A stubborn attack on state explosion. In: Clarke, E., Kurshan, R.P. (eds.) CAV 1990. LNCS, vol. 531, pp. 156–163. Springer, Heidelberg (1991)

    Chapter  Google Scholar 

  35. Viry, P.: Equational rules for rewriting logic. Theoretical Computer Science 285, 487–517 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  36. Ying, M.: Weak confluence and τ-inertness. Theoretical Computer Science 238, 465–475 (2000)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Farzan, A., Meseguer, J. (2006). State Space Reduction of Rewrite Theories Using Invisible Transitions. In: Johnson, M., Vene, V. (eds) Algebraic Methodology and Software Technology. AMAST 2006. Lecture Notes in Computer Science, vol 4019. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11784180_13

Download citation

  • DOI: https://doi.org/10.1007/11784180_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-35633-2

  • Online ISBN: 978-3-540-35636-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics