Derrick, J., Doherty, S., Dongol, B. et al. (2 more authors) (2021) Verifying correctness of persistent concurrent data structures: a sound and complete method. Formal Aspects of Computing, 33 (4-5). pp. 547-573. ISSN 0934-5043
Abstract
Non-volatile memory (NVM), aka persistent memory, is a new memory paradigm that preserves its contents even after power loss. The expected ubiquity of NVM has stimulated interest in the design of persistent concurrent data structures, together with associated notions of correctness. In this paper, we present a formal proof technique for durable linearizability, which is a correctness criterion that extends linearizability to handle crashes and recovery in the context ofNVM.Our proofs are based on refinement of Input/Output automata (IOA) representations of concurrent data structures. To this end, we develop a generic procedure for transforming any standard sequential data structure into a durable specification and prove that this transformation is both sound and complete. Since the durable specification only exhibits durably linearizable behaviours, it serves as the abstract specification in our refinement proof. We exemplify our technique on a recently proposed persistentmemory queue that builds on Michael and Scott’s lock-free queue. To support the proofs, we describe an automated translation procedure from code to IOA and a thread-local proof technique for verifying correctness of invariants.
Metadata
Item Type: | Article |
---|---|
Authors/Creators: |
|
Copyright, Publisher and Additional Information: | © 2021 The Author(s). Open Access: This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/. |
Keywords: | Non-volatile memory; Concurrent data structures; Refinement; Linearizability |
Dates: |
|
Institution: | The University of Sheffield |
Academic Units: | The University of Sheffield > Faculty of Science (Sheffield) |
Funding Information: | Funder Grant number ENGINEERING AND PHYSICAL SCIENCE RESEARCH COUNCIL EP/R032351/1 ENGINEERING AND PHYSICAL SCIENCE RESEARCH COUNCIL EP/R032556/1 |
Depositing User: | Symplectic Sheffield |
Date Deposited: | 22 Jun 2021 15:22 |
Last Modified: | 01 Mar 2022 12:34 |
Status: | Published |
Publisher: | Springer Nature |
Refereed: | Yes |
Identification Number: | 10.1007/s00165-021-00541-8 |
Open Archives Initiative ID (OAI ID): | oai:eprints.whiterose.ac.uk:174908 |
Download
Filename: Derrick2021_Article_VerifyingCorrectnessOfPersiste.pdf
Licence: CC-BY 4.0