Relating trace refinement and linearizability

被引:2
|
作者
Smith, Graeme [1 ]
Winter, Kirsten [1 ]
机构
[1] Univ Queensland, Sch Informat Technol & Elect Engn, Brisbane, Qld 4072, Australia
基金
澳大利亚研究理事会;
关键词
Trace refinement; Linearizability; Correctness; Concurrency;
D O I
10.1007/s00165-017-0418-2
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In the late 1980's, Back extended the notion of stepwise refinement of sequential systems to concurrent systems. By doing so he provided a definition of what it means for a concurrent system to be correct with respect to an abstract (potentially sequential) specification. This notion of refinement, referred to as trace refinement, was also independently proposed by Abadi and Lamport and has found widespread acceptance and application within the refinement community. Around the same time as Back's work, Herlihy and Wing proposed linearizability as the correctness notion for concurrent objects. Linearizability has also found widespread acceptance being regarded as the standard notion of correctness for concurrent objects in the concurrent-algorithms community. In this paper, we provide a formal link between trace refinement and linearizability. This allows us to compare the two correctness conditions. Our comparisons show that trace refinement implies linearizability, but that linearizability does not imply trace refinement in general. However, linearizability does imply trace refinement under certain conditions. These conditions relate to (i) the fact that trace refinement can be used to prove both safety and liveness properties, whereas linearizability can only be used to prove safety properties, and (ii) the fact that trace refinement depends on the identification of when operations in the implementation are observed to occur. We discuss the consequences of these differences in the context of verifying concurrent objects.
引用
收藏
页码:935 / 950
页数:16
相关论文
共 50 条
  • [1] Model Checking Linearizability via Refinement
    Liu, Yang
    Chen, Wei
    Liu, Yanhong A.
    Sun, Jun
    [J]. FM 2009: FORMAL METHODS, PROCEEDINGS, 2009, 5850 : 321 - +
  • [2] Verifying a quantitative relaxation of linearizability via refinement
    Adhikari, Kiran
    Street, James
    Wang, Chao
    Liu, Yang
    Zhang, Shaojie
    [J]. INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2016, 18 (04) : 393 - 407
  • [3] Verifying Linearizability via Optimized Refinement Checking
    Liu, Yang
    Chen, Wei
    Liu, Yanhong A.
    Sun, Jun
    Zhang, Shao Jie
    Dong, Jin Song
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2013, 39 (07) : 1018 - 1039
  • [4] Using refinement calculus techniques to prove linearizability
    Jonsson, Bengt
    [J]. FORMAL ASPECTS OF COMPUTING, 2012, 24 (4-6) : 537 - 554
  • [5] Verifying a quantitative relaxation of linearizability via refinement
    Kiran Adhikari
    James Street
    Chao Wang
    Yang Liu
    Shaojie Zhang
    [J]. International Journal on Software Tools for Technology Transfer, 2016, 18 : 393 - 407
  • [6] Proving linearizability via non-atomic refinement
    Derrick, John
    Schellhorn, Gerhard
    Wehrheim, Heike
    [J]. INTEGRATED FORMAL METHODS, PROCEEDINGS, 2007, 4591 : 195 - 214
  • [7] Refinement of Trace Abstraction
    Heizmann, Matthias
    Hoenicke, Jochen
    Podelski, Andreas
    [J]. STATIC ANALYSIS, 2009, 5673 : 69 - 85
  • [8] Relating Alternating Relations for Conformance and Refinement
    Janssen, Ramon
    Vaandrager, Frits
    Tretmans, Jan
    [J]. INTEGRATED FORMAL METHODS, IFM 2019, 2019, 11918 : 246 - 264
  • [9] Trace refinement of action systems
    Back, RJR
    vonWright, J
    [J]. CONCUR '94: CONCURRENCY THEORY, 1994, 836 : 367 - 384
  • [10] Specification and Inference of Trace Refinement Relations
    Antonopoulos, Timos
    Koskinen, Eric
    Ton Chanh Le
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (OOPSLA):