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.

Cauder: A causal-consistent reversible debugger for erlang / Lanese, Ivan; Nishida, Naoki; Palacios, Adrián; Vidal, Germán*. - STAMPA. - 10818:(2018), pp. 247-263. (Intervento presentato al convegno 14th International Symposium on Functional and Logic Programming, FLOPS 2018 tenutosi a Nagoya, Japan nel 2018) [10.1007/978-3-319-90686-7_16].

Cauder: A causal-consistent reversible debugger for erlang

Lanese, Ivan;
2018

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.
2018
Functional and Logic Programming - 14th International Symposium, FLOPS 2018, Nagoya, Japan, May 9-11, 2018, Proceedings
247
263
Cauder: A causal-consistent reversible debugger for erlang / Lanese, Ivan; Nishida, Naoki; Palacios, Adrián; Vidal, Germán*. - STAMPA. - 10818:(2018), pp. 247-263. (Intervento presentato al convegno 14th International Symposium on Functional and Logic Programming, FLOPS 2018 tenutosi a Nagoya, Japan nel 2018) [10.1007/978-3-319-90686-7_16].
Lanese, Ivan; Nishida, Naoki; Palacios, Adrián; Vidal, Germán*
File in questo prodotto:
Eventuali allegati, non sono esposti

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11585/653071
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 47
  • ???jsp.display-item.citation.isi??? 36
social impact