Advertisement

State Space Reduction of Rewrite Theories Using Invisible Transitions

  • Azadeh Farzan
  • José Meseguer
Part of the Lecture Notes in Computer Science book series (LNCS, 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.

Keywords

Model Check Proof Obligation Concurrent System Kripke Structure Rewrite Theory 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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)CrossRefGoogle Scholar
  3. 3.
    Browne, M.C., Clarke, E.M., Grumberg, O.: Characterizing finite kripke structures in propositional temporal logic. Theoretical Computer Science 59, 115–131 (1988)MATHCrossRefMathSciNetGoogle Scholar
  4. 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)CrossRefGoogle Scholar
  5. 5.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (2001)Google Scholar
  6. 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)MATHCrossRefMathSciNetGoogle Scholar
  7. 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. 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. 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)CrossRefGoogle Scholar
  10. 10.
    Contejean, E., Marché, C.: CiME: Completion modulo E. In: Ganzinger, H. (ed.) RTA 1996. LNCS, vol. 1103, Springer, Heidelberg (1996)Google Scholar
  11. 11.
    Dams, D., Gerth, R., Grumberg, O.: Abstract interpretation of reactive systems. ACM Transactions on Programming Languages and Systems 19, 253–291 (1997)CrossRefGoogle Scholar
  12. 12.
    Durán, F.: Coherence checker and completion tools for Maude specifications (manuscript, 2000), http://maude.cs.uiuc.edu/papers
  13. 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. 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)CrossRefGoogle Scholar
  15. 15.
    Farzan, A., Meseguer, J.: Partial order reduction for rewriting semantics of programming languages. In: WRLA 2006, pp. 56–75 (2006)Google Scholar
  16. 16.
    Flanagan, C., Godefroid, P.: Dynamic partial order reduction for model checking software. In: Proceedings of POPL (2005)Google Scholar
  17. 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)CrossRefGoogle Scholar
  18. 18.
    Godefroid, P.: Model checking for programming languages using VeriSoft. In: POPL, pp. 174–186 (1997)Google Scholar
  19. 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. 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)CrossRefGoogle Scholar
  21. 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)CrossRefGoogle Scholar
  22. 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)CrossRefGoogle Scholar
  23. 23.
    Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann, San Francisco (1996)MATHGoogle Scholar
  24. 24.
    Manolios, P.: Mechanical Verification of Reactive Systems. PhD thesis, University of Texas at Austin (August 2001)Google Scholar
  25. 25.
    Martí-Oliet, N., Meseguer, J.: Rewriting logic: roadmap and bibliography. Theoretical Computer Science 285, 121–154 (2002)MATHCrossRefMathSciNetGoogle Scholar
  26. 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)CrossRefGoogle Scholar
  27. 27.
    Meseguer, J.: Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science 96(1), 73–155 (1992)MATHCrossRefMathSciNetGoogle Scholar
  28. 28.
    Meseguer, J.: Research directions in rewriting logic. In: Computational Logic, NATO Advanced Study Institute, Marktoberdorf (1999)Google Scholar
  29. 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)CrossRefGoogle Scholar
  30. 30.
    De Nicola, R., Vaandrager, F.: Three logics for branching bisimulation. Journal of ACM 42(2) (1995)Google Scholar
  31. 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)CrossRefGoogle Scholar
  32. 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. 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)CrossRefGoogle Scholar
  34. 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)CrossRefGoogle Scholar
  35. 35.
    Viry, P.: Equational rules for rewriting logic. Theoretical Computer Science 285, 487–517 (2002)MATHCrossRefMathSciNetGoogle Scholar
  36. 36.
    Ying, M.: Weak confluence and τ-inertness. Theoretical Computer Science 238, 465–475 (2000)MATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Azadeh Farzan
    • 1
  • José Meseguer
    • 1
  1. 1.Department of Computer ScienceUniversity of Illinois at Urbana-Champaign 

Personalised recommendations