An Implementation of an Efficient Algorithm for Bisimulation Equivalence

Abstract We present an efficient algorithm for bisimulation equivalence. Generally, bisimulation equivalence can be tested in O(mn) for a labeled transition system with m transitions and n states. In order to come up with a more efficient algorithm, we establish a relationship between bisimulation equivalence and the relational coarsest partition problem, solved by Paige and Tarjan in O(m log n) time. Given an initial partition and a binary relation, the problem is to find the coarsest partition compatible with them. Computing bisimulation equivalence can be viewed both as an instance and as a generalization of this problem: an instance, because only the universal partition is considered as an initial partition and a generalization since we want to find a partition compatible with a family of binary relations instead of one single binary relation. We describe how we have adapted the Paige-Tarjan algorithm of complexity O(m log n) to minimize labeled transition systems modulo bisimulation equivalence. This algorithm has been implemented in C and is used in Aldebaran, a tool for the verification of concurrent systems.

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

[2]  Joseph Sifakis,et al.  A Unified Approach for Studying the Properties of Transition Systems , 1982, Theor. Comput. Sci..

[3]  Robert E. Tarjan,et al.  Three Partition Refinement Algorithms , 1987, SIAM J. Comput..

[4]  Matthew Hennessy,et al.  Acceptance trees , 1985, JACM.

[5]  Krzysztof R. Apt,et al.  Logics and Models of Concurrent Systems , 1989, NATO ASI Series.

[6]  E.-R. Olderog,et al.  Specification-Oriented Programming in TCSP , 1989, Logics and Models of Concurrent Systems.

[7]  Scott A. Smolka,et al.  Fundamental Results for the Verification of Observational Equivalence: A Survey , 1987, PSTV.

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

[9]  K. Larsen Context-dependent bisimulation between processes , 1986 .

[10]  Hubert Garavel,et al.  Compilation et vérification de programmes LOTOS , 1989 .

[11]  Susanne Graf,et al.  A Complete Inference System for an Algebra or Regular Acceptance Models , 1986, MFCS.

[12]  Jean-Claude Fernandez ALDEBARAN : un système de vérification par réduction de processus communicants. (Aldebaran : a system of verification of communicating processes by using reduction) , 1988 .

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

[14]  Carl A. Sunshine,et al.  Protocol Specification, Testing and Verification - Guest Editorial , 1982, Comput. Networks.

[15]  Michael Thomas Sanderson,et al.  Proof techniques for CCS , 1983 .

[16]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .