A Program Instrumentation for Prefix-Based Tracing in Message-Passing Concurrency
Juan Jos\'e Gonz\'alez-Abril, Germ\'an Vidal

TL;DR
This paper introduces a novel program instrumentation technique for prefix-based tracing in message-passing concurrent programs, combining tracing and replay to improve reproducibility of nondeterministic executions.
Contribution
It presents a new instrumentation method that enables partial tracing and replay, unifying traditional tracing and replay approaches in concurrent program analysis.
Findings
Supports partial trace-based execution control
Unifies tracing and replay into a single framework
Enhances reproducibility of concurrent program runs
Abstract
The execution of concurrent programs generally involves some degree of nondeterminism, mostly due to the relative speeds of the concurrent processes. As a consequence, reproducibility is often challenging. This problem has been traditionally tackled by a combination of tracing and replay. In this paper, we introduce a program instrumentation for "prefix-based tracing" that combines both tracing and replay. In the general case, the program is instrumented with a partial trace, so that the execution first follows the partial trace (replay) and, then, proceeds nondeterministically, eventually producing a trace of the complete execution as a side effect. Observe that traditional tracing and replay are particular cases of our approach when an empty trace is provided (pure tracing) and when a full trace is provided (pure replay), respectively.
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.
Taxonomy
TopicsDistributed systems and fault tolerance · Parallel Computing and Optimization Techniques · Real-Time Systems Scheduling
