On-the-Fly Branching Bisimulation Minimization for Compositional Analysis

Branching bisimulation minimization is often used to obtain a smaller but equivalent model for a complicated one. It is particularly useful in compositional analysis to replace a subsystem’s behaviors with the minimal one so that the growth of states can be controlled in a hierarchical, divide-and-conquer manner. Nonetheless, branching bisimulation minimization is typically invoked after the whole state space is enumerated entirely. In practice, when the parallel composition engine drains too many memory resources during exploring reachable states, it causes operating systems to swap excessively (i.e., thrashing) due to the page replacement of virtual memory. When such a scenario occurs, the system degrades dramatically in performance and becomes unusable, albeit minimization is possible to abstract the whole state space into very small one. In this paper, we present a pragmatic approach to make branching bisimulation minimization on-the-fly. It minimizes the state space during composition and releases memory resources that are no longer used. Our approach allows larger systems to be verified by taking account of operating systems memory management.

[1]  Michal Young,et al.  Compositional reachability analysis using process algebra , 1991, TAV4.

[2]  Michal Young,et al.  Towards scalable compositional analysis by refactoring design models , 2003, ESEC/FSE-11.

[3]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[4]  Radu Mateescu,et al.  An overview of CADP 2001 , 2001 .

[5]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[6]  Jan Friso Groote,et al.  State Space Reduction Using Partial tau-Confluence , 2000, MFCS.

[7]  Jaco van de Pol,et al.  State Space Reduction by Proving Confluence , 2002, CAV.

[8]  Jan Friso Groote,et al.  An Efficient Algorithm for Branching Bisimulation and Stuttering Equivalence , 1990, ICALP.

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

[10]  Gerard J. Holzmann,et al.  Design and validation of computer protocols , 1991 .

[11]  J. F. Groote,et al.  Specification and implementation of components of a μCRL toolbox , 1995 .

[12]  Shing-Chi Cheung,et al.  Context constraints for compositional reachability analysis , 1996, TSEM.

[13]  Yung-Pin Cheng,et al.  Refactoring design models for inductive verification , 2002, ISSTA '02.

[14]  Kenneth L. McMillan,et al.  Symbolic model checking , 1992 .

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

[16]  David Lee,et al.  Online minimization of transition systems (extended abstract) , 1992, STOC '92.

[17]  Scott A. Smolka,et al.  CCS expressions, finite state processes, and three problems of equivalence , 1983, PODC '83.

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

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

[20]  Bernhard Steffen,et al.  Compositional Minimization of Finite State Systems , 1990, CAV.

[21]  Amar Bouali,et al.  Weak and branching bisimulation in Fctool , 1992 .

[22]  Nicolas Halbwachs,et al.  Minimal Model Generation , 1990, CAV.