Skip to Main content Skip to Navigation
Journal articles

Causal-Consistent Replay Reversible Semantics for Message Passing Concurrent Programs

Ivan Lanese 1 Adrián Palacios 2 Germán Vidal 2 
1 FOCUS - Foundations of Component-based Ubiquitous Systems
CRISAM - Inria Sophia Antipolis - Méditerranée , DISI - Dipartimento di Informatica - Scienza e Ingegneria [Bologna]
Abstract : Causal-consistent reversible debugging is an innovative technique for debugging concurrent systems. It allows one to go back in the execution focusing on the actions that most likely caused a visible misbehavior. When such an action is selected, the debugger undoes it, including all and only its consequences. This operation is called a causal-consistent rollback. In this way, the user can avoid being distracted by the actions of other, unrelated processes. In this work, we introduce its dual notion: causal-consistent replay. We allow the user to record an execution of a running program and, in contrast to traditional replay debuggers, to reproduce a visible misbehavior inside the debugger including all and only its causes. Furthermore, we present a unified framework that combines both causal-consistent replay and causal-consistent rollback. Although most of the ideas that we present are rather general, we focus on a popular functional and concurrent programming language based on message passing: Erlang.
Complete list of metadata
Contributor : Ivan Lanese Connect in order to contact the contributor
Submitted on : Thursday, September 9, 2021 - 12:39:04 AM
Last modification on : Friday, July 8, 2022 - 10:10:33 AM
Long-term archiving on: : Friday, December 10, 2021 - 6:10:36 PM


Files produced by the author(s)




Ivan Lanese, Adrián Palacios, Germán Vidal. Causal-Consistent Replay Reversible Semantics for Message Passing Concurrent Programs. Fundamenta Informaticae, Polskie Towarzystwo Matematyczne, 2021, ⟨10.3233/FI-2021-2005⟩. ⟨hal-03338674⟩



Record views


Files downloads