Generation of a Reversible Semantics for Erlang in Maude - Inria - Institut national de recherche en sciences et technologies du numérique
Communication Dans Un Congrès Année : 2022

Generation of a Reversible Semantics for Erlang in Maude

Résumé

In recent years, reversibility in concurrent settings has attracted interest thanks to its diverse applications in areas such as error recovery, debugging, and biological modeling. Also, it has been studied in many formalisms, including Petri nets, process algebras, and programming languages like Erlang. However, most attempts made so far suffer from the same limitation: they define the reversible semantics in an ad-hoc fashion. To address this limit, Lanese et al. have recently proposed a novel general method to derive a concurrent reversible semantics from a nonreversible one. However, in most interesting instances the method relies on infinite sets of reductions, making doubtful its practical applicability. We bridge the gap between theory and practice by implementing the above method in Maude. The key insight is that infinite sets of reductions can be captured by a small number of schemas in many relevant cases. This happens indeed for our application: the functional and concurrent fragment of Erlang. We extend the framework with a general rollback operator, allowing one to undo an action far in the past, including all and only its consequences. We can thus use our tool, e.g., as an oracle against which to test the reversible debugger CauDEr for Erlang, or as an executable specification for new reversible debuggers.
Fichier principal
Vignette du fichier
icfem.pdf (355.27 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03916227 , version 1 (30-12-2022)

Licence

Identifiants

Citer

Giovanni Fabbretti, Ivan Lanese, Jean-Bernard Stefani. Generation of a Reversible Semantics for Erlang in Maude. ICFEM 2022 - 23rd International Conference on Formal Engineering Methods, Oct 2022, Madrid, Spain. pp.106-122, ⟨10.1007/978-3-031-17244-1_7⟩. ⟨hal-03916227⟩
48 Consultations
56 Téléchargements

Altmetric

Partager

More