SPIN 2008: Model Checking Software pp 196-213 | Cite as
Improved On-the-Fly Equivalence Checking Using Boolean Equation Systems
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 ResolutionPreview
Unable to display preview. Download preview PDF.
References
- 1.Andersen, H.R.: Model checking and boolean graphs. TCS 126, 3–30 (1994)MATHCrossRefMathSciNetGoogle 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)MATHCrossRefMathSciNetGoogle Scholar
- 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.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)MATHGoogle 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)MATHCrossRefMathSciNetGoogle Scholar
- 10.Cleaveland, R., Hennessy, M.: Testing equivalence as a bisimulation equivalence. Formal Aspects of Computing 5, 1–20 (1993)MATHCrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)MATHGoogle Scholar
- 15.Dovier, A., Piazza, C., Policriti, A.: An efficient algorithm for computing bisimulation equivalence. TCS 311, 221–256 (2004)MATHCrossRefMathSciNetGoogle 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)MATHGoogle 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)MATHGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)MATHCrossRefMathSciNetGoogle 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)MATHGoogle 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)CrossRefGoogle Scholar
- 30.Martin, A.J.: Compiling communicating processes into delay-insensitive VLSI circuits. Distributed Computing 1, 226–234 (1986)MATHCrossRefGoogle 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)CrossRefGoogle 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)CrossRefMathSciNetGoogle Scholar
- 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.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)CrossRefGoogle 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)CrossRefGoogle Scholar
- 37.Milner, R.: Communication and Concurrency. Prentice-Hall, Englewood Cliffs (1989)MATHGoogle 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)CrossRefGoogle 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)MATHCrossRefMathSciNetGoogle Scholar
- 42.Valmari, A., Tienari, M.: Compositional failure-based semantics models for basic lotos. Formal Aspects of Computing 7, 440–468 (1995)MATHCrossRefGoogle Scholar
- 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.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