2018
DOI: 10.1007/978-3-319-90686-7_16
|View full text |Cite
|
Sign up to set email alerts
|

CauDEr: A Causal-Consistent Reversible Debugger for Erlang

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 th… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
67
0

Year Published

2018
2018
2020
2020

Publication Types

Select...
6
1

Relationship

3
4

Authors

Journals

citations
Cited by 58 publications
(67 citation statements)
references
References 18 publications
(23 reference statements)
0
67
0
Order By: Relevance
“…CauDEr. CauDEr [19] is a reversible debugger for Erlang. It is able to undo actions and step backwards in the execution by relying on reversible execution semantics.…”
Section: Back-in-time Debuggingmentioning
confidence: 99%
“…CauDEr. CauDEr [19] is a reversible debugger for Erlang. It is able to undo actions and step backwards in the execution by relying on reversible execution semantics.…”
Section: Back-in-time Debuggingmentioning
confidence: 99%
“…We ended in the last section the description of the challenges faced to get causalconsistent reversible debuggers for real languages, and we describe now the current state of the topic. We present here CauDEr [30,29], which is currently the only existing causal-consistent reversible debugger for a real language, namely Erlang. We point out that CauDEr actually works on Core Erlang [9], but since Erlang is mapped into Core Erlang, it can actually deal with Erlang programs.…”
Section: Cauder a Causal-consistent Debugger For Erlangmentioning
confidence: 99%
“…This is a relevant drawback, since this information is at the heart of many bugs appearing in concurrent systems, notably the so called Heisenbugs, which also happen to be the most tricky to find [23], since they may appear or not in a computation depending on the speed of execution of the different processes 1 . Hence, the ultimate target of this paper is to explain the ideas underlying an approach to reversible debugging of concurrent systems called causal-consistent reversible debugging [18], and embodied in the CauDEr [30,29] debugger for a subset of the Erlang programming language. However, we will focus not only on the destination, but also on the journey, highlighting relevant questions, mostly theoretical, that had to be answered to put us in the place today to tackle the problem of reversible debugging of concurrent systems:…”
Section: Introductionmentioning
confidence: 99%
“…Reversible computing is attracting interest for its applications in many fields including hardware design and quantum computing [27], the modelling of biochemical reactions [23,11,24], parallel discrete event simulation [25] and program reversing for debugging [7,14,10].…”
Section: Introductionmentioning
confidence: 99%