Skip to main content

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

  • Conference paper
Model Checking Software (SPIN 2008)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5156))

Included in the following conference series:

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.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Andersen, H.R.: Model checking and boolean graphs. TCS 126, 3–30 (1994)

    Article  MATH  MathSciNet  Google Scholar 

  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. Arnold, A., Crubillé, P.: A linear algorithm to solve fixed-point equations on transition systems. Information Processing Letters 29, 57–66 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  4. Ausiello, G., Italiano, G.F.: On-line algorithms for polynomially solvable satisfiability problems. Journal of Logic Programming 10, 69–90 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  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. Bergstra, J.A., Klop, J.W.: Process algebra for synchronous communication. Information and Computation 60 (1984)

    Google Scholar 

  7. Bergstra, J.A., Ponse, A., Smolka, S.A. (eds.): Handbook of Process Algebra. Elsevier, Amsterdam (2001)

    MATH  Google Scholar 

  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. Brookes, S.D., Hoare, C.A.R., Roscoe, A.W.: A theory of communicating sequential processes. Journal of the ACM 31, 560–599 (1984)

    Article  MATH  MathSciNet  Google Scholar 

  10. Cleaveland, R., Hennessy, M.: Testing equivalence as a bisimulation equivalence. Formal Aspects of Computing 5, 1–20 (1993)

    Article  MATH  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. Cleaveland, R., Steffen, B.: A linear-time model-checking algorithm for the alternation-free modal mu-calculus. FMSD 2, 121–147 (1993)

    MATH  Google Scholar 

  15. Dovier, A., Piazza, C., Policriti, A.: An efficient algorithm for computing bisimulation equivalence. TCS 311, 221–256 (2004)

    Article  MATH  MathSciNet  Google Scholar 

  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. Du, X., Smolka, S.A., Cleaveland, R.: Local model checking and protocol analysis. STTT 2, 219–241 (1999)

    MATH  Google Scholar 

  18. Fernandez, J.C., Mounier, L.: Verifying bisimulations on the fly. In: Proc. of FORTE 1990 (1990)

    Google Scholar 

  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. Fisler, K., Vardi, M.Y.: Bisimulation minimization and symbolic model checking. FMSD 21, 39–78 (2002)

    MATH  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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. Ingolfsdottir, A., Steffen, B.: Characteristic formulae for processes with divergence. Information and Computation 110, 149–163 (1994)

    Article  MATH  MathSciNet  Google Scholar 

  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. Kleene, S.C.: Introduction to Metamathematics. North-Holland, Amsterdam (1952)

    MATH  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  30. Martin, A.J.: Compiling communicating processes into delay-insensitive VLSI circuits. Distributed Computing 1, 226–234 (1986)

    Article  MATH  Google Scholar 

  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)

    Chapter  Google Scholar 

  32. Mateescu, R.: Caesar_solve: A generic library for on-the-fly resolution of alternation-free boolean equation systems. STTT 8, 37–56 (2006)

    Article  MathSciNet  Google Scholar 

  33. Mateescu, R., Sighireanu, M.: Efficient on-the-fly model-checking for regular alternation-free mu-calculus. SCP 46, 255–281 (2003)

    MATH  MathSciNet  Google Scholar 

  34. Mader, A.: Verification of Modal Properties Using Boolean Equation Systems. In: VERSAL 8, Bertz Verlag, Berlin (1997)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  37. Milner, R.: Communication and Concurrency. Prentice-Hall, Englewood Cliffs (1989)

    MATH  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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. Tarjan, R.E.: Depth first search and linear graph algorithms. SIAM Journal of Computing 1, 146–160 (1972)

    Article  MATH  MathSciNet  Google Scholar 

  42. Valmari, A., Tienari, M.: Compositional failure-based semantics models for basic lotos. Formal Aspects of Computing 7, 440–468 (1995)

    Article  MATH  Google Scholar 

  43. van Glabbeek, R.: The linear time — branching time spectrum I. In: Handbook of Process Algebra, pp. 3–100. Elsevier, Amsterdam (2001)

    Chapter  Google Scholar 

  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. 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. VASY. The VLTS benchmark suite, http://www.inrialpes.fr/vasy/cadp/resources/benchmark.html

Download references

Author information

Authors and Affiliations

Authors

Editor information

Klaus Havelund Rupak Majumdar Jens Palsberg

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Mateescu, R., Oudot, E. (2008). Improved On-the-Fly Equivalence Checking Using Boolean Equation Systems. In: Havelund, K., Majumdar, R., Palsberg, J. (eds) Model Checking Software. SPIN 2008. Lecture Notes in Computer Science, vol 5156. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-85114-1_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-85114-1_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-85113-4

  • Online ISBN: 978-3-540-85114-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics