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

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 ( Lts s) 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 Lts s incrementally, thus allowing an efficient detection of errors in complex systems. However, when the two Lts s being compared are equivalent, the on-the-fly approach is outperformed by the global one, which completely builds the Lts s 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 Lts s: a new, faster encoding of equivalence relations in terms of Bes s, 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.

[1]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[2]  Bernhard Steffen,et al.  Characteristic Formulae for Processes with Divergence , 1994, Inf. Comput..

[3]  S. C. Kleene,et al.  Introduction to Metamathematics , 1952 .

[4]  Rob J. van Glabbeek,et al.  The Linear Time - Branching Time Spectrum I , 2001, Handbook of Process Algebra.

[5]  Joseph Sifakis,et al.  Safety for Branching Time Semantics , 1991, ICALP.

[6]  David Park,et al.  Concurrency and Automata on Infinite Sequences , 1981, Theoretical Computer Science.

[7]  Rance Cleaveland,et al.  A linear-time model-checking algorithm for the alternation-free modal mu-calculus , 1993, Formal Methods Syst. Des..

[8]  Iso. Lotos,et al.  A Formal Description Technique Based on the Temporal Ordering of Observational Behaviour , 1985 .

[9]  Rance Cleaveland,et al.  Computing Behavioural Relations, Logically , 1991, ICALP.

[10]  Radu Mateescu,et al.  Efficient Diagnostic Generation for Boolean Equation Systems , 2000, TACAS.

[11]  Rance Cleaveland,et al.  The concurrency workbench: a semantics-based tool for the verification of concurrent systems , 1993, TOPL.

[12]  Radu Mateescu,et al.  Local Model-Checking of Modal Mu-Calculus on Acyclic Labeled Transition Systems , 2002, TACAS.

[13]  Laurent Mounier,et al.  Verifying Bisimulations "On the Fly" , 1990, FORTE.

[14]  Rance Cleaveland,et al.  Local model checking and protocol analysis , 1999, International Journal on Software Tools for Technology Transfer.

[15]  Rob J. van Glabbeek,et al.  Branching time and abstraction in bisimulation semantics , 1996, JACM.

[16]  Johan Lewi,et al.  Efficient Local Correctness Checking for Single and Alternating Boolean Equation Systems , 1994, ICALP.

[17]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[18]  Angelika Mader,et al.  Verification of modal properties using Boolean equation systems , 1997 .

[19]  Kim G. Larsen,et al.  Efficient Local Correctness Checking , 1992, CAV.

[20]  Bart Vergauwen,et al.  Efficient Checking of Behavioural Relations and Modal Assertions using Fixed-Point Inversion , 1995, CAV.

[21]  Gordon J. Pace,et al.  Calculating-Confluence Compositionally , 2003, CAV.

[22]  Kathi Fisler,et al.  Bisimulation Minimization and Symbolic Model Checking , 2002, Formal Methods Syst. Des..

[23]  Hubert Garavel,et al.  OPEN/CÆSAR: An OPen Software Architecture for Verification, Simulation, and Testing , 1998, TACAS.

[24]  J. Bergstra,et al.  Handbook of Process Algebra , 2001 .

[25]  Jan Friso Groote,et al.  Solving Disjunctive/Conjunctive Boolean Equation Systems with Alternating Fixed Points , 2004, TACAS.

[26]  Rance Cleaveland,et al.  A Semantics Based Verification Tool for Finite State Systems , 1989, PSTV.

[27]  Alain J. Martin Compiling communicating processes into delay-insensitive VLSI circuits , 2005, Distributed Computing.

[28]  Rance Cleaveland,et al.  Equivalence and Preorder Checking for Finite-State Systems , 2001, Handbook of Process Algebra.

[29]  Radu Mateescu,et al.  CADP 2006: A Toolbox for the Construction and Analysis of Distributed Processes , 2007, CAV.

[30]  Jan A. Bergstra,et al.  Process Algebra for Synchronous Communication , 1984, Inf. Control..

[31]  Scott A. Smolka,et al.  Simple Linear-Time Algorithms for Minimal Fixed Points (Extended Abstract) , 1998, ICALP.

[32]  Rance Cleaveland,et al.  Testing equivalence as a bisimulation equivalence , 1989, Formal Aspects of Computing.

[33]  B. Liu,et al.  [Effect of BN52021 on platelet activating factor induced aggregation of psoriatic polymorphonuclear neutrophils]. , 1994, Zhonghua yi xue za zhi.

[34]  A. Tarski A LATTICE-THEORETICAL FIXPOINT THEOREM AND ITS APPLICATIONS , 1955 .

[35]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[36]  Radu Mateescu,et al.  CAESAR_SOLVE: A generic library for on-the-fly resolution of alternation-free Boolean equation systems , 2006, International Journal on Software Tools for Technology Transfer.

[37]  Henrik Reif Andersen Model Checking and Boolean Graphs , 1992, ESOP.

[38]  Jean H. Gallier,et al.  Linear-Time Algorithms for Testing the Satisfiability of Propositional Horn Formulae , 1984, J. Log. Program..

[39]  Laurent Mounier,et al.  A Tool Set for deciding Behavioral Equivalences , 1991, CONCUR.

[40]  Mihaela Sighireanu,et al.  Efficient on-the-fly model-checking for regular alternation-free mu-calculus , 2003, Sci. Comput. Program..

[41]  Radu Mateescu,et al.  On-the-fly state space reductions for weak equivalences , 2005, FMICS '05.

[42]  Paul Crubillé,et al.  A Linear Algorithm to Solve Fixed-Point Equations on Transition Systems , 1988, Inf. Process. Lett..

[43]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[44]  Rob J. van Glabbeek,et al.  Branching Time and Abstraction in Bisimulation Semantics (Extended Abstract) , 1989, IFIP Congress.

[45]  Radu Mateescu,et al.  BISIMULATOR: A Modular Tool for On-the-Fly Equivalence Checking , 2005, TACAS.

[46]  R. V. Glabbeek The Linear Time-Branching Time Spectrum I The Semantics of Concrete , Sequential ProcessesR , 2007 .

[47]  C. A. R. Hoare,et al.  A Theory of Communicating Sequential Processes , 1984, JACM.

[48]  Sandeep K. Shukla,et al.  HORNSAT, Model Checking, Verification and games (Extended Abstract) , 1996, CAV.

[49]  Giuseppe F. Italiano,et al.  On-Line Algorithms for Polynomially Solvable Satisfiability Problems , 1991, J. Log. Program..

[50]  Hubert Garavel,et al.  Specification and Verification of Various Distributed Leader Election Algorithms for Unidirectional Ring Networks , 1997, Sci. Comput. Program..

[51]  Agostino Dovier,et al.  An efficient algorithm for computing bisimulation equivalence , 2004, Theor. Comput. Sci..

[52]  Martti Tienari,et al.  Compositional failure-based semantic models for Basic LOTOS , 2005, Formal Aspects of Computing.

[53]  Rob J. van Glabbeek,et al.  The Linear Time - Branching Time Spectrum II , 1993, CONCUR.