A theory of reversibility 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 : In a reversible language, any forward computation can be undone by a finite sequence of backward steps. Reversible computing has been studied in the context of different programming languages and formalisms, where it has been used for testing and verification, among others. In this paper, we consider a subset of Erlang, a functional and concurrent programming language based on the actor model. We present a formal semantics for reversible computation in this language and prove its main properties, including its causal consistency. We also build on top of it a rollback operator that can be used to undo the actions of a process up to a given checkpoint.
Complete list of metadatas

Cited literature [34 references]  Display  Hide  Download

https://hal.inria.fr/hal-01912856
Contributor : Ivan Lanese <>
Submitted on : Tuesday, November 6, 2018 - 10:30:45 PM
Last modification on : Wednesday, November 7, 2018 - 9:00:16 AM
Long-term archiving on : Friday, February 8, 2019 - 1:01:21 AM

File

paper.pdf
Files produced by the author(s)

Identifiers

Collections

Citation

Ivan Lanese, Naoki Nishida, Adrian Palacios, Germán Vidal. A theory of reversibility for Erlang. Journal of Logical and Algebraic Methods in Programming, Elsevier, 2018, 100, pp.71 - 97. ⟨10.1016/j.jlamp.2018.06.004⟩. ⟨hal-01912856⟩

Share

Metrics

Record views

77

Files downloads

106