An Operational Approach to Library Abstraction under Relaxed Memory Concurrency

9Citations
Citations of this article
8Readers
Mendeley users who have this article in their library.

Abstract

Concurrent data structures and synchronization mechanisms implemented by expert developers are indispensable for modular software development. In this paper, we address the fundamental problem of library abstraction under weak memory concurrency, and identify a general library correctness condition allowing clients of the library to reason about program behaviors using the specification code, which is often much simpler than the concrete implementation. We target (a fragment of) the RC11 memory model, and develop an equivalent operational presentation that exposes knowledge propagation between threads, and is sufficiently expressive to capture library behaviors as totally ordered operational execution traces. We further introduce novel access modes to the language that allow intricate specifications accounting for library internal synchronization that is not exposed to the client, as well as the library's demands on external synchronization by the client. We illustrate applications of our approach in several examples of different natures.

Cite

CITATION STYLE

APA

Singh, A. K., & Lahav, O. (2023). An Operational Approach to Library Abstraction under Relaxed Memory Concurrency. Proceedings of the ACM on Programming Languages, 7(POPL), 1542–1572. https://doi.org/10.1145/3571246

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free