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

  • Authors:
  • Radu Mateescu;Emilie Oudot

  • Affiliations:
  • Inria/Vasy project-team, Faculté des Sciences Mirande, bât. Le2i, Dijon, France F-21000;Inria/Vasy project-team, Faculté des Sciences Mirande, bât. Le2i, Dijon, France F-21000

  • Venue:
  • SPIN '08 Proceedings of the 15th international workshop on Model Checking Software
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

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 Besresolution algorithm with a better average complexity. These enhancements were incorporated into the Bisimulator2.0 equivalence checker of the Cadptoolbox, and they led to significant performance improvements w.r.t. existing on-the-fly equivalence checking algorithms.