Abstract Specifications for Concurrent Maps

被引:2
|
作者
Xiong, Shale [1 ]
Pinto, Pedro da Rocha [1 ]
Ntzik, Gian [1 ]
Gardner, Philippa [1 ]
机构
[1] Imperial Coll London, London, England
基金
英国工程与自然科学研究理事会;
关键词
LINEARIZABILITY; LOGIC;
D O I
10.1007/978-3-662-54434-1_36
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Despite recent advances in reasoning about concurrent data structure libraries, the largest implementations in java.util.concurrent have yet to be verified. The key issue lies in the development of modular specifications, which provide clear logical boundaries between clients and implementations. A solution is to use recent advances in fine-grained concurrency reasoning, in particular the introduction of abstract atomicity to concurrent separation logic reasoning. We present two specifications of concurrent maps, both providing the clear boundaries we seek. We show that these specifications are equivalent, in that they can be built from each other. We show how we can verify client programs, such as a concurrent set and a producer-consumer client. We also give a substantial first proof that the main operations of ConcurrentSkipListMap in java.util.concurrent satisfy the map specification. This work demonstrates that we now have the technology to verify the largest implementations in java.util.concurrent.
引用
收藏
页码:964 / 990
页数:27
相关论文
共 50 条
  • [1] Enabling Modular Verification with Abstract Interference Specifications for a Concurrent Queue
    Weide, Alan
    Sivilotti, Paolo A. G.
    Sitaraman, Murali
    Verified Software: Theories, Tools, and Experiments, VSTTE 2016, 2016, 9971 : 119 - 128
  • [2] Parameterisation for abstract structured specifications
    Tutu, Lonut
    THEORETICAL COMPUTER SCIENCE, 2014, 517 : 102 - 142
  • [3] Testing abstract behavioral specifications
    Wong, Peter Y. H.
    Bubel, Richard
    de Boer, Frank S.
    Gomez-Zamalloa, Miguel
    de Gouw, Stijn
    Hahnle, Reiner
    Meinke, Karl
    Sindhu, Muddassar Azam
    INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2015, 17 (01) : 107 - 119
  • [4] Testing abstract behavioral specifications
    Peter Y. H. Wong
    Richard Bubel
    Frank S. de Boer
    Miguel Gómez-Zamalloa
    Stijn de Gouw
    Reiner Hähnle
    Karl Meinke
    Muddassar Azam Sindhu
    International Journal on Software Tools for Technology Transfer, 2015, 17 : 107 - 119
  • [5] Abstract Monitors for Quantitative Specifications
    Henzinger, Thomas A.
    Mazzocchi, Nicolas
    Sarac, N. Ege
    RUNTIME VERIFICATION (RV 2022), 2022, 13498 : 200 - 220
  • [6] TRANSFORMATIONS OF SEQUENTIAL SPECIFICATIONS INTO CONCURRENT SPECIFICATIONS BY SYNCHRONIZATION GUARDS
    JANICKI, R
    MULDNER, T
    THEORETICAL COMPUTER SCIENCE, 1990, 77 (1-2) : 97 - 129
  • [7] DECOMPOSING SPECIFICATIONS OF CONCURRENT SYSTEMS
    ABADI, M
    LAMPORT, L
    PROGRAMMING CONCEPTS, METHODS AND CALCULI, 1994, 56 : 327 - 340
  • [8] CONCURRENT ABSTRACT MACHINES
    BERRY, G
    LECTURE NOTES IN COMPUTER SCIENCE, 1991, 494 : 49 - 49
  • [9] A Linearizabilitybased Hierarchy for Concurrent Specifications
    Castaneda, Armando
    Rajsbaum, Sergio
    Raynal, Michel
    COMMUNICATIONS OF THE ACM, 2023, 66 (01) : 86 - 97
  • [10] Concurrent Abstract Predicates
    Dinsdale-Young, Thomas
    Dodds, Mike
    Gardner, Philippa
    Parkinson, Matthew J.
    Vafeiadis, Viktor
    ECOOP 2010: OBJECT-ORIENTED PROGRAMMING, 2010, 6183 : 504 - +