Capturing High-level Nondeterminism in Concurrent Programs for Practical Concurrency Model Agnostic Record & Replay
Dominik Aumayr, Stefan Marr, Sophie Kaleba, Elisa Gonzalez Boix,, Hanspeter M\"ossenb\"ock

TL;DR
This paper introduces a practical, model-agnostic record & replay system for multi-paradigm concurrent programs, enabling effective debugging across diverse concurrency models with minimal overhead.
Contribution
It proposes a uniform trace format and infrastructure that support concurrency-model-agnostic record & replay, facilitating debugging of applications combining multiple concurrency paradigms.
Findings
Supports a wide range of concurrency models including threads, actors, and transactional memory.
Achieves competitive recording performance, with an average overhead of 10% on actor benchmarks.
Enables debugging of multi-model concurrent applications with minimal performance impact.
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 nondeterministic events by using a uniform model-agnostic trace format and infrastructure. This enables orderingbased record & replay support for a wide range of concurrency models, and thereby enables…
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.
