Electronic Communications of the EASST Volume 66 ( 2013 ) Proceedings of the Automated Verification of Critical Systems ( AVoCS 2013 ) Simplifying proofs of linearisability using layers of abstraction
Electronic Communications of the EASST Volume 66 ( 2013 ) Proceedings of the Automated Verification of Critical Systems ( AVoCS 2013 ) Simplifying proofs of linearisability using layers of abstraction
复制标题
EASST 电子通信第 66 卷 (2013) 关键系统自动验证论文集 (AVoCS 2013) 使用抽象层简化线性化证明
DOI:
--
复制
发表时间:
2014
期刊:
影响因子:
--
通讯作者:
J. Derrick
中科院分区:
文献类型:
--
作者:
Brijesh Dongol;J. Derrick
Linearisability has become the standard correctness criterion for concurrent data structures, ensuring that every history of invocations and responses of concurrent operations has a matching sequential history. Existing proofs of linearisability require one to identify so-called linearisation points within the operations under consideration, which are atomic statements whose execution causes the effect of an operation to be felt. However, identification of linearisation points is a nontrivial task, requiring a high degree of expertise. For sophisticated algorithms such as Heller et al’s lazy set, it even is possible for an operation to be linearised by the concurrent execution of a statement outside the operation being verified. This paper proposes a method for verifying linearisability that does not require identification of linearisation points. Instead, using an interval-based logic, we show that every behaviour of each concrete operation over any interval is a possible behaviour of a corresponding abstraction that executes with coarse-grained atomicity. This approach is applied to Heller et al’s lazy set to show that verification of linearisability is possible without having to consider linearisation points within the program code.