Skip to main content

An efficient algorithm for branching bisimulation and stuttering equivalence

  • Conference paper
  • First Online:
Automata, Languages and Programming (ICALP 1990)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 443))

Included in the following conference series:

Abstract

This paper presents an efficient algorithm for the Relational Coarsest Partition with Stuttering problem (RCPS). The RCPS problem is closely related to the problem of deciding stuttering equivalence on finite state Kripke structures (see Browne, Clarke & Grumberg [3]), and to the problem of deciding branching bisimulation equivalence on finite state labelled transition systems (see Van Glabbeek & Weijland [12]). If n is the number of states and m the number of transitions, then our algorithm has time complexity O(n·(n+m)) and space complexity O(n+m). The algorithm induces algorithms for branching bisimulation and stuttering equivalence which have the same complexity. Since for Kripke structures m⩽n 2, this confirms a conjecture of Browne, Clarke & Grumberg [3], that their O(n 5)-time algorithm for stuttering equivalence is not optimal.

Note: The research of the authors was supported by RACE project no. 1046, Specification and Programming Environment for Communication Software (SPECS). The research of the second author was also supported by ESPRIT project no. 3006 CONCUR.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A.V. Aho, J.E. Hopcroft & J.D. Ullman (1974): The design and analysis of computer algorithms, Addison-Wesley.

    Google Scholar 

  2. T. Bolognesi & S.A. Smolka (1987): Fundamental results for the verification of observational equivalence: a survey. In: Proceedings 7th IFIP WG6.1 International Symposium on Protocol Specification, Testing, and Verification, Zürich, Switserland, May 1987 (H. Rudin & C. West, eds.), North-Holland.

    Google Scholar 

  3. M.C. Browne, E.M. Clarke & O. Grumberg (1988): Characterizing finite Kripke structures in propositional temporal logic. Theoretical Computer Science 59(1,2), pp. 115–131.

    Google Scholar 

  4. E.M. Clarke & E.A. Emerson (1981): Synthesis of synchronization skeletons for branching time temporal logic. In: Proceedings of the Workshop on Logic of Programs, Springer-Verlag, pp. 52–71.

    Google Scholar 

  5. E.M. Clarke & O. Grumberg (1987): Research on automatic verification of finite state concurrent systems. Ann. Rev. Comput. Sci. 2, pp. 269–290.

    Google Scholar 

  6. E.M. Clarke, D.E. Long & K.L. McMillan (1989): Compositional model checking. In: Proceedings 4th Annual Symposium on Logic in Computer Science (LICS), Asilomar, California, IEEE Computer Society Press, Washington, pp. 353–362.

    Google Scholar 

  7. D. Coppersmith & S. Winograd (1987): Matrix multiplication via arithmetic progressions. In: Proceedings 19th ACM Symposium on Theory of Computing, New York City, NY, pp. 1–6.

    Google Scholar 

  8. R. De Nicola, U. Montanari & F.W. Vaandrager (1990): Back and forth bisimulations, submitted for publication.

    Google Scholar 

  9. R. De Nicola & F.W. Vaandrager (1990): Three logics for branching bisimulation, to appear as: CWI Report CS-R90... Extended abstract to appear in: Proceedings LICS 90.

    Google Scholar 

  10. E.A. Emerson & J.Y. Halpern (1986): 'sometimes’ and ‘Not Never’ revisited: on branching time versus linear time temporal logic. JACM 33(1), pp. 151–178.

    Google Scholar 

  11. J.C. Fernandez (1989): An implementation of an efficient algorithm for bisimulation equivalence.

    Google Scholar 

  12. R.J. van Glabbeek & W.P. Weijland (1989): Branching time and abstraction in bisimulation semantics (extended abstract). In: Information Processing 89 (G.X. Ritter, ed.), Elsevier Science Publishers B.V. (North Holland), pp. 613–618.

    Google Scholar 

  13. R.J. van Glabbeek & W.P. Weijland (1989): Refinement in branching time semantics. Report CS-R8922, Centrum voor Wiskunde en Informatica, Amsterdam, also appeared in: Proceedings AMAST Conference, May 1989, Iowa, USA, pp. 197–201.

    Google Scholar 

  14. P.C. Kanellakis & S.A. Smolka (1983): CCS expressions, finite state processes, and three problems of equivalence. In: 2nd ACM Symposium on Principles of Distributed Computing (PODC), Montreal, Quebec, Canada, August 1983, to appear in: Information & Computation.

    Google Scholar 

  15. L. Lamport (1983): What good is temporal logic?. In: Information Processing 83 (R.E. Mason, ed.), Elsevier Science Publishers B.V. (North Holland), pp. 657–668.

    Google Scholar 

  16. R. Milner (1980): A Calculus of Communicating Systems, LNCS 92, Springer-Verlag.

    Google Scholar 

  17. R. Paige & R. Tarjan (1987): Three partition refinement algorithms. SIAM Journal on Computing 16(6), pp. 973–989.

    Google Scholar 

  18. R. de Simone & D. Vergamini (1989): Aboard AUTO. Technical Report 11, INRIA, Centre Sophia-Antipolis, Valbonne Cedex.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Michael S. Paterson

Rights and permissions

Reprints and permissions

Copyright information

© 1990 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Groote, J.F., Vaandrager, F. (1990). An efficient algorithm for branching bisimulation and stuttering equivalence. In: Paterson, M.S. (eds) Automata, Languages and Programming. ICALP 1990. Lecture Notes in Computer Science, vol 443. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0032063

Download citation

  • DOI: https://doi.org/10.1007/BFb0032063

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-52826-5

  • Online ISBN: 978-3-540-47159-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics