Affiliation:
1. Brunel University London, UK
2. University of Sheffield, UK
Abstract
Linearisability is a key correctness criterion for concurrent data structures, ensuring that each history of the concurrent object under consideration is consistent with respect to a history of the corresponding abstract data structure. Linearisability allows concurrent (i.e., overlapping) operation calls to take effect in any order, but requires the real-time order of nonoverlapping to be preserved. The sophisticated nature of concurrent objects means that linearisability is difficult to judge, and hence, over the years, numerous techniques for verifying lineasizability have been developed using a variety of formal foundations such as data refinement, shape analysis, reduction, etc. However, because the underlying framework, nomenclature, and terminology for each method is different, it has become difficult for practitioners to evaluate the differences between each approach, and hence, evaluate the methodology most appropriate for verifying the data structure at hand. In this article, we compare the major of methods for verifying linearisability, describe the main contribution of each method, and compare their advantages and limitations.
Funder
Engineering and Physical Sciences Research Council
Publisher
Association for Computing Machinery (ACM)
Subject
General Computer Science,Theoretical Computer Science
Reference115 articles.
1. The existence of refinement mappings
2. Formal construction of a non-blocking concurrent queue algorithm;Abrial J.-R.;J. Univ. Comput. Sci.,2005
3. Shared memory consistency models: a tutorial
Cited by
24 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Asynchronous Wait-Free Runtime Verification and Enforcement of Linearizability;Proceedings of the 2023 ACM Symposium on Principles of Distributed Computing;2023-06-16
2. Proof Automation for Linearizability in Separation Logic;Proceedings of the ACM on Programming Languages;2023-04-06
3. Modularising Verification Of Durable Opacity;Logical Methods in Computer Science;2022-07-28
4. Mechanized verification of a fine-grained concurrent queue from meta’s folly library;Proceedings of the 11th ACM SIGPLAN International Conference on Certified Programs and Proofs;2022-01-11
5. Combining state- and event-based semantics to verify highly available applications;Science of Computer Programming;2021-10