Towards linking correctness conditions for concurrent objects and contextual trace refinement
Brijesh Dongol (Brunel University London), Lindsay Groves (Victoria, University of Wellington)

TL;DR
This paper explores how correctness conditions for concurrent objects relate to the correctness of client programs that use them, linking these conditions with trace refinement to ensure overall correctness.
Contribution
It introduces a framework connecting correctness conditions of concurrent objects with client program correctness through trace refinement.
Findings
Links correctness conditions to trace refinement
Addresses correctness in client contexts
Provides insights into ensuring overall program correctness
Abstract
Correctness conditions for concurrent objects describe how atomicity of an abstract sequential object may be decomposed. Many different concurrent objects and proof methods for them have been developed. However, arguments about correctness are conducted with respect to an object in isolation. This is in contrast to real-world practice, where concurrent objects are often implemented as part of a programming language library (e.g., java.util.concurrent) and are instantiated within a client program. A natural question to ask, then is: How does a correctness condition for a concurrent object ensure correctness of a client program that uses the concurrent object? This paper presents the main issues that surround this question and provides some answers by linking different correctness conditions with a form of trace refinement.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
