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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Andersen, H.R.: Model checking and boolean graphs. TCS 126, 3–30 (1994)
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)
Arnold, A., Crubillé, P.: A linear algorithm to solve fixed-point equations on transition systems. Information Processing Letters 29, 57–66 (1988)
Ausiello, G., Italiano, G.F.: On-line algorithms for polynomially solvable satisfiability problems. Journal of Logic Programming 10, 69–90 (1991)
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)
Bergstra, J.A., Klop, J.W.: Process algebra for synchronous communication. Information and Computation 60 (1984)
Bergstra, J.A., Ponse, A., Smolka, S.A. (eds.): Handbook of Process Algebra. Elsevier, Amsterdam (2001)
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)
Brookes, S.D., Hoare, C.A.R., Roscoe, A.W.: A theory of communicating sequential processes. Journal of the ACM 31, 560–599 (1984)
Cleaveland, R., Hennessy, M.: Testing equivalence as a bisimulation equivalence. Formal Aspects of Computing 5, 1–20 (1993)
Cleaveland, R., Parrow, J., Steffen, B.: The concurrency workbench: A semantics-based verification tool for finite state systems. ACM TOPLAS 15, 36–72 (1993)
Cleaveland, R., Sokolsky, O.: Equivalence and preorder checking for finite-state systems. In: Handbook of Process Algebra, pp. 391–424. North-Holland, Amsterdam (2001)
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)
Cleaveland, R., Steffen, B.: A linear-time model-checking algorithm for the alternation-free modal mu-calculus. FMSD 2, 121–147 (1993)
Dovier, A., Piazza, C., Policriti, A.: An efficient algorithm for computing bisimulation equivalence. TCS 311, 221–256 (2004)
Dowling, W., Gallier, J.H.: Linear-time algorithms for testing the satisfiability of propositional horn formulae. Journal of Logic Programming 3 (1984)
Du, X., Smolka, S.A., Cleaveland, R.: Local model checking and protocol analysis. STTT 2, 219–241 (1999)
Fernandez, J.C., Mounier, L.: Verifying bisimulations on the fly. In: Proc. of FORTE 1990 (1990)
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)
Fisler, K., Vardi, M.Y.: Bisimulation minimization and symbolic model checking. FMSD 21, 39–78 (2002)
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)
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)
Garavel, H., Mounier, L.: Specification and verification of various distributed leader election algorithms for unidirectional ring networks. SCP 29, 171–197 (1997)
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)
Ingolfsdottir, A., Steffen, B.: Characteristic formulae for processes with divergence. Information and Computation 110, 149–163 (1994)
ISO/IEC: Lotos — a formal description technique based on the temporal ordering of observational behaviour. ISO Standard 8807, Genève (1989)
Kleene, S.C.: Introduction to Metamathematics. North-Holland, Amsterdam (1952)
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)
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)
Martin, A.J.: Compiling communicating processes into delay-insensitive VLSI circuits. Distributed Computing 1, 226–234 (1986)
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)
Mateescu, R.: Caesar_solve: A generic library for on-the-fly resolution of alternation-free boolean equation systems. STTT 8, 37–56 (2006)
Mateescu, R., Sighireanu, M.: Efficient on-the-fly model-checking for regular alternation-free mu-calculus. SCP 46, 255–281 (2003)
Mader, A.: Verification of Modal Properties Using Boolean Equation Systems. In: VERSAL 8, Bertz Verlag, Berlin (1997)
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)
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)
Milner, R.: Communication and Concurrency. Prentice-Hall, Englewood Cliffs (1989)
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)
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)
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)
Tarjan, R.E.: Depth first search and linear graph algorithms. SIAM Journal of Computing 1, 146–160 (1972)
Valmari, A., Tienari, M.: Compositional failure-based semantics models for basic lotos. Formal Aspects of Computing 7, 440–468 (1995)
van Glabbeek, R.: The linear time — branching time spectrum I. In: Handbook of Process Algebra, pp. 3–100. Elsevier, Amsterdam (2001)
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)
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)
VASY. The VLTS benchmark suite, http://www.inrialpes.fr/vasy/cadp/resources/benchmark.html
Author information
Authors and Affiliations
Editor information
Rights 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)