SPIN 2008: Model Checking Software pp 196-213 | Cite as

Improved On-the-Fly Equivalence Checking Using Boolean Equation Systems

  • Radu Mateescu
  • Emilie Oudot
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5156)

Abstract

Equivalence checking is a classical verification method for ensuring the compatibility of a finite-state concurrent system (protocol) with its desired external behaviour (service) by comparing their underlying labeled transition systems (Ltss) modulo an appropriate equivalence relation. The local (or on-the-fly) approach for equivalence checking combats state explosion by exploring the synchronous product of the Ltss incrementally, thus allowing an efficient detection of errors in complex systems. However, when the two Ltss being compared are equivalent, the on-the-fly approach is outperformed by the global one, which completely builds the Ltss and computes the equivalence classes between states using partition refinement. In this paper, we consider the approach based on translating the on-the-fly equivalence checking problem in terms of the local resolution of a boolean equation system (Bes). We propose two enhancements of the approach in the case of equivalent Ltss: a new, faster encoding of equivalence relations in terms of Bess, and a new local Bes resolution algorithm with a better average complexity. These enhancements were incorporated into the Bisimulator 2.0 equivalence checker of the Cadp toolbox, and they led to significant performance improvements w.r.t. existing on-the-fly equivalence checking algorithms.

Keywords

Model Check Equivalence Check Label Transition System Weak Equivalence Local Resolution 
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.
    Andersen, H.R.: Model checking and boolean graphs. TCS 126, 3–30 (1994)MATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Andersen, H.R., Vergauwen, B.: Efficient checking of behavioural relations and modal assertions using fixed-point inversion. In: Wolper, P. (ed.) CAV 1995. LNCS, vol. 939, pp. 142–154. Springer, Heidelberg (1995)Google Scholar
  3. 3.
    Arnold, A., Crubillé, P.: A linear algorithm to solve fixed-point equations on transition systems. Information Processing Letters 29, 57–66 (1988)MATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Ausiello, G., Italiano, G.F.: On-line algorithms for polynomially solvable satisfiability problems. Journal of Logic Programming 10, 69–90 (1991)MATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Bergamini, D., Descoubes, N., Joubert, C., Mateescu, R.: Bisimulator: A modular tool for on-the-fly equivalence checking. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 581–585. Springer, Heidelberg (2005)Google Scholar
  6. 6.
    Bergstra, J.A., Klop, J.W.: Process algebra for synchronous communication. Information and Computation 60 (1984)Google Scholar
  7. 7.
    Bergstra, J.A., Ponse, A., Smolka, S.A. (eds.): Handbook of Process Algebra. Elsevier, Amsterdam (2001)MATHGoogle Scholar
  8. 8.
    Bouajjani, A., Fernandez, J.C., Graf, S., Rodríguez, C., Sifakis, J.: Safety for branching time semantics. In: Leach Albert, J., Monien, B., Rodríguez-Artalejo, M. (eds.) ICALP 1991. LNCS, vol. 510, Springer, Heidelberg (1991)Google Scholar
  9. 9.
    Brookes, S.D., Hoare, C.A.R., Roscoe, A.W.: A theory of communicating sequential processes. Journal of the ACM 31, 560–599 (1984)MATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Cleaveland, R., Hennessy, M.: Testing equivalence as a bisimulation equivalence. Formal Aspects of Computing 5, 1–20 (1993)MATHCrossRefGoogle Scholar
  11. 11.
    Cleaveland, R., Parrow, J., Steffen, B.: The concurrency workbench: A semantics-based verification tool for finite state systems. ACM TOPLAS 15, 36–72 (1993)CrossRefGoogle Scholar
  12. 12.
    Cleaveland, R., Sokolsky, O.: Equivalence and preorder checking for finite-state systems. In: Handbook of Process Algebra, pp. 391–424. North-Holland, Amsterdam (2001)CrossRefGoogle Scholar
  13. 13.
    Cleaveland, R., Steffen, B.: Computing behavioural relations, logically. In: Leach Albert, J., Monien, B., Rodríguez-Artalejo, M. (eds.) ICALP 1991. LNCS, vol. 510, pp. 127–138. Springer, Heidelberg (1991)Google Scholar
  14. 14.
    Cleaveland, R., Steffen, B.: A linear-time model-checking algorithm for the alternation-free modal mu-calculus. FMSD 2, 121–147 (1993)MATHGoogle Scholar
  15. 15.
    Dovier, A., Piazza, C., Policriti, A.: An efficient algorithm for computing bisimulation equivalence. TCS 311, 221–256 (2004)MATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Dowling, W., Gallier, J.H.: Linear-time algorithms for testing the satisfiability of propositional horn formulae. Journal of Logic Programming 3 (1984)Google Scholar
  17. 17.
    Du, X., Smolka, S.A., Cleaveland, R.: Local model checking and protocol analysis. STTT 2, 219–241 (1999)MATHGoogle Scholar
  18. 18.
    Fernandez, J.C., Mounier, L.: Verifying bisimulations on the fly. In: Proc. of FORTE 1990 (1990)Google Scholar
  19. 19.
    Fernandez, J.C., Mounier, L.: A tool set for deciding behavioral equivalences. In: Groote, J.F., Baeten, J.C.M. (eds.) CONCUR 1991. LNCS, vol. 527, Springer, Heidelberg (1991)Google Scholar
  20. 20.
    Fisler, K., Vardi, M.Y.: Bisimulation minimization and symbolic model checking. FMSD 21, 39–78 (2002)MATHGoogle Scholar
  21. 21.
    Garavel, H.: Open/cæsar: An open software architecture for verification, simulation, and testing. In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, pp. 68–84. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  22. 22.
    Garavel, H., Lang, F., Mateescu, R., Serwe, W.: Cadp 2006: A toolbox for the construction and analysis of distributed processes. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 158–163. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  23. 23.
    Garavel, H., Mounier, L.: Specification and verification of various distributed leader election algorithms for unidirectional ring networks. SCP 29, 171–197 (1997)Google Scholar
  24. 24.
    Groote, J.F., Keinänen, M.: Solving disjunctive/conjunctive boolean equation systems with alternating fixed points. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 436–450. Springer, Heidelberg (2004)Google Scholar
  25. 25.
    Ingolfsdottir, A., Steffen, B.: Characteristic formulae for processes with divergence. Information and Computation 110, 149–163 (1994)MATHCrossRefMathSciNetGoogle Scholar
  26. 26.
    ISO/IEC: Lotos — a formal description technique based on the temporal ordering of observational behaviour. ISO Standard 8807, Genève (1989)Google Scholar
  27. 27.
    Kleene, S.C.: Introduction to Metamathematics. North-Holland, Amsterdam (1952)MATHGoogle Scholar
  28. 28.
    Larsen, K.: Efficient local correctness checking. In: Probst, D.K., von Bochmann, G. (eds.) CAV 1992. LNCS, vol. 663, pp. 30–43. Springer, Heidelberg (1993)Google Scholar
  29. 29.
    Liu, X., Smolka, S.A.: Simple linear-time algorithms for minimal fixed points. In: Larsen, K.G., Skyum, S., Winskel, G. (eds.) ICALP 1998. LNCS, vol. 1443, pp. 53–66. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  30. 30.
    Martin, A.J.: Compiling communicating processes into delay-insensitive VLSI circuits. Distributed Computing 1, 226–234 (1986)MATHCrossRefGoogle Scholar
  31. 31.
    Mateescu, R.: On-the-fly state space reductions for weak equivalences. In: Proc. of FMICS 2005, pp. 80–89. ACM Computer Society Press, New York (2005)CrossRefGoogle Scholar
  32. 32.
    Mateescu, R.: Caesar_solve: A generic library for on-the-fly resolution of alternation-free boolean equation systems. STTT 8, 37–56 (2006)CrossRefMathSciNetGoogle Scholar
  33. 33.
    Mateescu, R., Sighireanu, M.: Efficient on-the-fly model-checking for regular alternation-free mu-calculus. SCP 46, 255–281 (2003)MATHMathSciNetGoogle Scholar
  34. 34.
    Mader, A.: Verification of Modal Properties Using Boolean Equation Systems. In: VERSAL 8, Bertz Verlag, Berlin (1997)Google Scholar
  35. 35.
    Mateescu, R.: Efficient diagnostic generation for boolean equation systems. In: Schwartzbach, M.I., Graf, S. (eds.) TACAS 2000. LNCS, vol. 1785, pp. 251–265. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  36. 36.
    Mateescu, R.: Local model-checking of modal mu-calculus on acyclic labeled transition systems. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 281–295. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  37. 37.
    Milner, R.: Communication and Concurrency. Prentice-Hall, Englewood Cliffs (1989)MATHGoogle Scholar
  38. 38.
    Pace, G., Lang, F., Mateescu, R.: Calculating τ-confluence compositionally. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 446–459. Springer, Heidelberg (2003)Google Scholar
  39. 39.
    Park, D.: Concurrency and automata on infinite sequences. In Theoretical Computer Science. In: Deussen, P. (ed.) GI-TCS 1981. LNCS, vol. 104, pp. 167–183. Springer, Heidelberg (1981)CrossRefGoogle Scholar
  40. 40.
    Shukla, S.K., Hunt III, H.B., Rosenkrantz, D.J.: Hornsat, model checking, verification and games. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, pp. 99–110. Springer, Heidelberg (1996)Google Scholar
  41. 41.
    Tarjan, R.E.: Depth first search and linear graph algorithms. SIAM Journal of Computing 1, 146–160 (1972)MATHCrossRefMathSciNetGoogle Scholar
  42. 42.
    Valmari, A., Tienari, M.: Compositional failure-based semantics models for basic lotos. Formal Aspects of Computing 7, 440–468 (1995)MATHCrossRefGoogle Scholar
  43. 43.
    van Glabbeek, R.: The linear time — branching time spectrum I. In: Handbook of Process Algebra, pp. 3–100. Elsevier, Amsterdam (2001)CrossRefGoogle Scholar
  44. 44.
    van Glabbeek, R.J., Weijland, W.P.: Branching-time and abstraction in bisimulation semantics (extended abstract). In: Proc. of 11th IFIP World Computer Congress (1989)Google Scholar
  45. 45.
    Vergauwen, B., Lewi, J.: Efficient local correctness checking for single and alternating boolean equation systems. In: Shamir, E., Abiteboul, S. (eds.) ICALP 1994. LNCS, vol. 820, pp. 304–315. Springer, Heidelberg (1994)Google Scholar
  46. 46.

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Radu Mateescu
    • 1
  • Emilie Oudot
    • 1
  1. 1.Inria/Vasy project-team, Faculté des Sciences Mirande, bât. Le2iDijonFrance

Personalised recommendations