English

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

Programming Languages 2021-08-27 v1 Logic in Computer Science

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.

Keywords

Cite

@article{arxiv.2108.11679,
  title  = {A Program Instrumentation for Prefix-Based Tracing in Message-Passing Concurrency},
  author = {Juan José González-Abril and Germán Vidal},
  journal= {arXiv preprint arXiv:2108.11679},
  year   = {2021}
}

Comments

Pre-proceedings paper presented at the 31st International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2021), Tallinn, Estonia, and Virtual, September 7-8, 2021 (arXiv:2107.10160)

R2 v1 2026-06-24T05:26:10.918Z