Linearizability with ownership transfer
From MaRDI portal
Abstract: Linearizability is a commonly accepted notion of correctness for libraries of concurrent algorithms. Unfortunately, it assumes a complete isolation between a library and its client, with interactions limited to passing values of a given data type. This is inappropriate for common programming languages, where libraries and their clients can communicate via the heap, transferring the ownership of data structures, and can even run in a shared address space without any memory protection. In this paper, we present the first definition of linearizability that lifts this limitation and establish an Abstraction Theorem: while proving a property of a client of a concurrent library, we can soundly replace the library by its abstract implementation related to the original one by our generalisation of linearizability. This allows abstracting from the details of the library implementation while reasoning about the client. We also prove that linearizability with ownership transfer can be derived from the classical one if the library does not access some of data structures transferred to it by the client.
Recommendations
Cited in
(8)- A perspective on specifying and verifying concurrent modules
- A generic logic for proving linearizability
- Higher-order linearisability
- Proving linearizability using partial orders
- Higher-order linearisability
- Parameterised linearisability
- Linearizability with ownership transfer
- Steps in modular specifications for concurrent modules (invited tutorial paper)
This page was built for publication: Linearizability with ownership transfer
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q5891776)