CauDEr: A Causal-Consistent Reversible Debugger for Erlang

Ivan Lanese 1 Naoki Nishida 2 Adrian Palacios 3 Germán Vidal 3
1 FOCUS - Foundations of Component-based Ubiquitous Systems
CRISAM - Inria Sophia Antipolis - Méditerranée , DISI - Dipartimento di Informatica - Scienza e Ingegneria [Bologna]
Abstract : Programming languages based on the actor model, such as Erlang, avoid some concurrency bugs by design. However, other concurrency bugs, such as message order violations and livelocks, can still show up in programs. These hard-to-find bugs can be more easily detected by using causal-consistent reversible debugging, a debugging technique that allows one to traverse a computation both forward and backward. Most notably, causal consistency implies that, when going backward, an action can only be undone provided that its consequences, if any, have been undone beforehand. To the best of our knowledge, we present the first causal-consistent reversible debugger for Erlang, which may help programmers to detect and fix various kinds of bugs, including message order violations and livelocks.
Complete list of metadatas

Cited literature [21 references]  Display  Hide  Download

https://hal.inria.fr/hal-01912894
Contributor : Ivan Lanese <>
Submitted on : Monday, November 5, 2018 - 5:32:22 PM
Last modification on : Wednesday, November 7, 2018 - 1:17:27 AM
Long-term archiving on : Wednesday, February 6, 2019 - 3:39:44 PM

File

paper.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-01912894, version 1

Collections

Citation

Ivan Lanese, Naoki Nishida, Adrian Palacios, Germán Vidal. CauDEr: A Causal-Consistent Reversible Debugger for Erlang. Functional and Logic Programming, May 2018, Nagoya, Japan. ⟨hal-01912894⟩

Share

Metrics

Record views

44

Files downloads

99