Aumayr, Dominik, Marr, Stefan, Kaleba, Sophie, Gonzalez Boix, Elisa, Mössenböck, Hanspeter (2021) Capturing High-level Nondeterminism in Concurrent Programs for Practical Concurrency Model Agnostic Record and Replay. The Art, Science, and Engineering of Programming, 5 (3). Article Number 14. ISSN 2473-7321. (doi:10.22152/programming-journal.org/2021/5/14) (KAR id:86718)
|
PDF
Publisher pdf
Language: English
This work is licensed under a Creative Commons Attribution 4.0 International License.
|
|
|
Download this file (PDF/2MB) |
|
| Request a format suitable for use with assistive technology e.g. a screenreader | |
| Official URL: https://doi.org/10.22152/programming-journal.org/2... |
|
Abstract
With concurrency being integral to most software systems, developers combine high-level concurrency models in the same application to tackle each problem with appropriate abstractions. While languages and libraries offer a wide range of concurrency models, debugging support for applications that combine them has not yet gained much attention. Record & replay aids debugging by deterministically reproducing recorded bugs, but is typically designed for a single concurrency model only. This paper proposes a practical concurrency-model-agnostic record & replay approach for multi-paradigm concurrent programs, i.e. applications that combine concurrency models. Our approach traces high-level non- deterministic events by using a uniform model-agnostic trace format and infrastructure. This enables ordering- based record & replay support for a wide range of concurrency models, and thereby enables debugging of applications that combine them. In addition, it allows language implementors to add new concurrency mod- els and reuse the model-agnostic record & replay support. We argue that a concurrency-model-agnostic record & replay is practical and enables advanced debugging support for a wide range of concurrency models. The evaluation shows that our approach is expressive and flexible enough to support record & replay of applications using threads & locks, communicating event loops, communicating sequential processes, software transactional memory and combinations of those concurrency models. For the actor model, we reach recording performance competitive with an optimized special-purpose record & replay solution. The average recording overhead on the Savina actor benchmark suite is 10% (min. 0%, max. 23%). The performance for other concurrency models and combinations thereof is at a similar level. We believe our concurrency-model-agnostic approach helps developers of applications that mix and match concurrency models. We hope that this substrate inspires new tools and languages making building and maintaining of multi-paradigm concurrent applications simpler and safer.
| Item Type: | Article |
|---|---|
| DOI/Identification number: | 10.22152/programming-journal.org/2021/5/14 |
| Uncontrolled keywords: | Multi-Threading SOMns Concurrency Multi-Paradigm Actors STM Record&Replay CSP Nondeterministic |
| Subjects: | Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming, |
| Institutional Unit: | Schools > School of Computing |
| Former Institutional Unit: |
Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
|
| Depositing User: | Stefan Marr |
| Date Deposited: | 22 Feb 2021 14:53 UTC |
| Last Modified: | 22 Jul 2025 09:05 UTC |
| Resource URI: | https://kar.kent.ac.uk/id/eprint/86718 (The current URI for this page, for reference purposes) |
- Link to SensusAccess
- Export to:
- RefWorks
- EPrints3 XML
- BibTeX
- CSV
- Depositors only (login required):

https://orcid.org/0000-0001-9059-5180
Altmetric
Altmetric