Abstract
Some bisimulation based abstract equivalence relations may equate divergent systems with non-divergent ones, examples including weak bisimulation equivalence and branching bisimulation equivalence. Thus extra efforts are needed to analyze divergence for the compared systems. In this paper we propose a new method for analyzing divergence in bisimulation semantics, which relies only on simple observations of individual transitions. We show that this method can verify several typical divergence preserving bisimulation equivalences including two well-known ones. As an application case study, we use the proposed method to verify the HSY collision stack to draw the conclusion that the stack implementation is correct in terms of linearizability with lock-free progress condition.
- M. Hennessy and G. Plotkin. A term model for CCS, Lecture notes in computer science, Vol.88, Springer-Verlag, 1980. Google Scholar
Digital Library
- David Park: Concurrency and automata on infinite sequences. Lecture Notes in Computer Science 104,1981. Proceedings of 5th GI Conference. Google Scholar
Digital Library
- J. van Benthem. Modal Logic and Classic Logic. Bibliopolis, 1983.Google Scholar
- R. Milner: A complete axiomatisation for observational congruence of finite-state behaviours. Inf. Comput. 81(1989)227-247. Google Scholar
Digital Library
- D.J. Walker. Bisimulation and divergence, Information and Computation, vol. 85, pp. 212-241, 1990. Google Scholar
Digital Library
- Rob J. van Glabbeek: The Linear Time - Branching Time Spectrum II. CONCUR 1993: 66-81. Google Scholar
Digital Library
- Rob J. van Glabbeek, Peter Weijland: Branching time and abstraction in bisimulation semantics. J. ACM 43(3):555-600.1996 Google Scholar
Digital Library
- D. Hendler, N. Shavit, and L. Yerushalmi: A scalable lock-free stack algorithm. In SPAA 2004: Proceedings of the sixteenth annual ACM symposium on Parallel Algorithms, June 27-30, 2004, Barcelona, Spain, pages 206-215, 2004 Google Scholar
Digital Library
- R. Colvin, L. Groves. A Scalable lock-free stack algorithm and its verification. fifth IEEE International conference on software engineering and formal methods. 2007 Google Scholar
Digital Library
- Rob J. van Glabbeek, Bas Luttik, Nikola Trcka: Branching Bisimilarity with Explicit Divergence. Fundam. Inform. 93(4): 371-392. 2009 Google Scholar
Digital Library
- Rob J. van Glabbeek, Bas Luttik, Nikola Trcka: Computation tree logic with deadlock detection. Logical Methods in Computer Science. Vol.5(4:5) 2009, pages 1-24.Google Scholar
- K. S. Namjoshi. A simple characterization of stuttering bisimulation. In 17th Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS), volume 1346 of Lecture Notes in Computer Science, pages 284-296. Google Scholar
Digital Library
- M. Herlihy, J. Wing, H. Hermanns: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463-492(1990) Google Scholar
Digital Library
- M. Lohrey, P. R. D’Argenio, H. Hermanns: Axiomatising divergence. Inf. Comput. 203(2005)115-144. Google Scholar
Digital Library
- I. Filipovic, P. O’Hearn, N.Rinetzky, H. Yang: Abstraction for concurrent objects. Theor. Comput. Sci. (2010). Google Scholar
Digital Library
- Hongjin Liang, Jan Hoffmann, Xinyu Feng, Zhong Shao: Characterizing Progress Properties of Concurrent Objects via Contextual Refinements. CONCUR 2013: 227-241. Google Scholar
Digital Library
- Hongjin Liang, Xinyu Feng, Zhong Shao: Compositional verification of termination-preserving refinement of concurrent programs. CSLLICS 2014: 65:1-10. Google Scholar
Digital Library
- Alexey Gotsman, Hongseok Yang: Liveness-Preserving Atomicity Abstraction. ICALP (2) 2011: 453-465. Google Scholar
Digital Library
- X. Yang, J. Katoen, H. Lin, H. Wu: Proving linearizability via branching bisimulation. CoRR abs/1609.07546(2016)Google Scholar
Index Terms
Analyzing divergence in bisimulation semantics
Recommendations
Analyzing divergence in bisimulation semantics
POPL '17: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming LanguagesSome bisimulation based abstract equivalence relations may equate divergent systems with non-divergent ones, examples including weak bisimulation equivalence and branching bisimulation equivalence. Thus extra efforts are needed to analyze divergence ...
Branching time and abstraction in bisimulation semantics
In comparative concurrency semantics, one usually distinguishes between linear time and branching time semantic equivalences. Milner's notion of observatin equivalence is often mentioned as the standard example of a branching time equivalence. In this ...
Bisimulation on speed: a unified approach
Two process-algebraic approaches have been developed for comparing two bisimulation-equivalent processes with respect to speed: the one of Moller/Tofts equips actions with lower time bounds, while the other by Lüttgen/Vogler considers upper time bounds ...







Comments