A Program Instrumentation for Prefix-Based Tracing in Message-Passing Concurrency

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/10/2018

Two-Phase Dynamic Analysis of Message-Passing Go Programs based on Vector Clocks

Understanding the run-time behavior of concurrent programs is a challeng...
research
01/15/2021

The Role of Working Memory in Program Tracing

Program tracing, or mentally simulating a program on concrete inputs, is...
research
05/24/2021

Automated Dynamic Concurrency Analysis for Go

The concurrency features of the Go language have proven versatile in the...
research
05/16/2018

Efficient and Deterministic Record & Replay for Actor Languages

With the ubiquity of parallel commodity hardware, developers turn to hig...
research
05/26/2019

Data Race Prediction for Inaccurate Traces

Happens-before based data race prediction methods infer from a trace of ...
research
09/04/2019

Predicting Software Tests Traces

Modern software projects include automated tests written to check the pr...
research
09/06/2019

Lightweight Record-and-Replay for Intermittent Tests Failures

In this paper we present lightweight record-and-replay (RR). In contrast...

Please sign up or login with your details

Forgot password? Click here to reset