A theory of reversibility for Erlang

[EN] 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 co...

Descripción completa

Detalles Bibliográficos
Autores: Lanese, Ivan, Nishida, Naoki, Palacios, Adrián, Vidal, Germán|||0000-0002-1857-6951
Tipo de recurso: artículo
Fecha de publicación:2018
País:España
Institución:Universitat Politècnica de València (UPV)
Repositorio:RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia
Idioma:inglés
OAI Identifier:oai:riunet.upv.es:10251/145737
Acceso en línea:https://riunet.upv.es/handle/10251/145737
Access Level:acceso abierto
Palabra clave:Reversible computation
Actor model
Concurrency
Rollback recovery
LENGUAJES Y SISTEMAS INFORMATICOS
id ES_fd454bb82fbd2d70f2fb5ae33ce51ebf
oai_identifier_str oai:riunet.upv.es:10251/145737
network_acronym_str ES
network_name_str España
repository_id_str
dc.title.none.fl_str_mv A theory of reversibility for Erlang
title A theory of reversibility for Erlang
spellingShingle A theory of reversibility for Erlang
Lanese, Ivan
Reversible computation
Actor model
Concurrency
Rollback recovery
LENGUAJES Y SISTEMAS INFORMATICOS
title_short A theory of reversibility for Erlang
title_full A theory of reversibility for Erlang
title_fullStr A theory of reversibility for Erlang
title_full_unstemmed A theory of reversibility for Erlang
title_sort A theory of reversibility for Erlang
dc.creator.none.fl_str_mv Lanese, Ivan
Nishida, Naoki
Palacios, Adrián
Vidal, Germán|||0000-0002-1857-6951
author Lanese, Ivan
author_facet Lanese, Ivan
Nishida, Naoki
Palacios, Adrián
Vidal, Germán|||0000-0002-1857-6951
author_role author
author2 Nishida, Naoki
Palacios, Adrián
Vidal, Germán|||0000-0002-1857-6951
author2_role author
author
author
dc.contributor.none.fl_str_mv Departamento de Sistemas Informáticos y Computación
Escuela Técnica Superior de Ingeniería Informática
Instituto Universitario Valenciano de Investigación en Inteligencia Artificial
European Commission
European Cooperation in Science and Technology
Generalitat Valenciana
Ministerio de Economía y Empresa
Ministerio de Economía y Competitividad
Japan Society for the Promotion of Science
Istituto Nazionale di Alta Matematica "F. Severi", Italia
Repositorio Institucional de la Universitat Politècnica de València Riunet
dc.subject.none.fl_str_mv Reversible computation
Actor model
Concurrency
Rollback recovery
LENGUAJES Y SISTEMAS INFORMATICOS
topic Reversible computation
Actor model
Concurrency
Rollback recovery
LENGUAJES Y SISTEMAS INFORMATICOS
description [EN] 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. (C) 2018 Elsevier Inc. All rights reserved.
publishDate 2018
dc.date.none.fl_str_mv 2018
2018-11-01
dc.type.none.fl_str_mv journal article
http://purl.org/coar/resource_type/c_6501
VoR
http://purl.org/coar/version/c_970fb48d4fbd8a85
dc.type.openaire.fl_str_mv info:eu-repo/semantics/article
format article
dc.identifier.none.fl_str_mv https://riunet.upv.es/handle/10251/145737
url https://riunet.upv.es/handle/10251/145737
dc.language.none.fl_str_mv Inglés
eng
language_invalid_str_mv Inglés
language eng
dc.relation.none.fl_str_mv European Cooperation in Science and Technology https://doi.org/10.13039/501100000921 IC1405 Reversible computation - extending horizons of computing
Ministerio de Economía y Competitividad http://dx.doi.org/10.13039/501100003329 TIN2016-76843-C4-1-R Métodos rigurosos para el Internet del futuro
Japan Society for the Promotion of Science https://doi.org/10.13039/501100001691 JP17H01722
Ministerio de Economía y Competitividad http://dx.doi.org/10.13039/501100003329 EEBB-I-16-11469 EEBB-I-16-11469
Ministerio de Economía y Competitividad http://dx.doi.org/10.13039/501100003329 TIN2013-44742-C4-1-R VALIDACION ASISTIDA DE PROGRAMAS MEDIANTE METODOS PRECISOS Y RIGUROSOS PARA UNA INGENIERIA DEL SOFTWARE ROBUSTA
Ministerio de Economía y Competitividad http://dx.doi.org/10.13039/501100003329 BES-2014-069749 BES-2014-069749
Generalitat Valenciana https://doi.org/10.13039/501100003359 PROMETEOII%2F2015%2F013 SmartLogic: Logic Technologies for Software Security and Performance
Ministerio de Economía y Competitividad http://dx.doi.org/10.13039/501100003329 TIN2016-76843-C4-1-R METODOS RIGUROSOS PARA EL INTERNET DEL FUTURO
dc.rights.none.fl_str_mv open access
http://purl.org/coar/access_right/c_abf2
Reconocimiento - No comercial - Sin obra derivada (by-nc-nd)
http://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.openaire.fl_str_mv info:eu-repo/semantics/openAccess
rights_invalid_str_mv open access
http://purl.org/coar/access_right/c_abf2
Reconocimiento - No comercial - Sin obra derivada (by-nc-nd)
http://creativecommons.org/licenses/by-nc-nd/4.0/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
application/pdf
dc.publisher.none.fl_str_mv Elsevier
publisher.none.fl_str_mv Elsevier
dc.source.none.fl_str_mv reponame:RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia
instname:Universitat Politècnica de València (UPV)
instname_str Universitat Politècnica de València (UPV)
reponame_str RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia
collection RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia
repository.name.fl_str_mv
repository.mail.fl_str_mv
_version_ 1869425524569276416
spelling A theory of reversibility for ErlangLanese, IvanNishida, NaokiPalacios, AdriánVidal, Germán|||0000-0002-1857-6951Reversible computationActor modelConcurrencyRollback recoveryLENGUAJES Y SISTEMAS INFORMATICOS[EN] 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. (C) 2018 Elsevier Inc. All rights reserved.This work has been partially supported by MINECO/AEI/FEDER (EU) under grants TIN2013-44742-C4-1-R and TIN2016-76843-C4-1-R, by the Generalitat Valenciana under grant PROMETEO-II/2015/013 (SmartLogic), by the COST Action IC1405 on Reversible Computation-extending horizons of computing, and by JSPS KAKENHI Grant Number JP17H01722. Adrian Palacios was partially supported by the EU (FEDER) and the Spanish Ayudas para contratos predoctorales para la formacian de doctores and Ayudas a la movilidad predoctoral para la realtzacion de estancias breves en centros de I+D, MINECO (SEIDI), under FPI grants BES-2014-069749 and EEBB-I-16-11469. Ivan Lanese was partially supported by INdAM as a member of GNCS (Gruppo Nazionale per il Calcolo Scientifico). Part of this research was done while the third and fourth authors were visiting Nagoya and Bologna Universities; they gratefully acknowledge their hospitality. Finally, we thank Salvador Tamarit and the anonymous reviewers for their helpful suggestions and comments.ElsevierDepartamento de Sistemas Informáticos y ComputaciónEscuela Técnica Superior de Ingeniería InformáticaInstituto Universitario Valenciano de Investigación en Inteligencia ArtificialEuropean CommissionEuropean Cooperation in Science and TechnologyGeneralitat ValencianaMinisterio de Economía y EmpresaMinisterio de Economía y CompetitividadJapan Society for the Promotion of ScienceIstituto Nazionale di Alta Matematica "F. Severi", ItaliaRepositorio Institucional de la Universitat Politècnica de València Riunet20182018-11-01journal articlehttp://purl.org/coar/resource_type/c_6501VoRhttp://purl.org/coar/version/c_970fb48d4fbd8a85info:eu-repo/semantics/articleapplication/pdfapplication/pdfhttps://riunet.upv.es/handle/10251/145737reponame:RiuNet. Repositorio Institucional de la Universitat Politécnica de Valénciainstname:Universitat Politècnica de València (UPV)InglésengEuropean Cooperation in Science and Technology https://doi.org/10.13039/501100000921 IC1405 Reversible computation - extending horizons of computingMinisterio de Economía y Competitividad http://dx.doi.org/10.13039/501100003329 TIN2016-76843-C4-1-R Métodos rigurosos para el Internet del futuroJapan Society for the Promotion of Science https://doi.org/10.13039/501100001691 JP17H01722Ministerio de Economía y Competitividad http://dx.doi.org/10.13039/501100003329 EEBB-I-16-11469 EEBB-I-16-11469Ministerio de Economía y Competitividad http://dx.doi.org/10.13039/501100003329 TIN2013-44742-C4-1-R VALIDACION ASISTIDA DE PROGRAMAS MEDIANTE METODOS PRECISOS Y RIGUROSOS PARA UNA INGENIERIA DEL SOFTWARE ROBUSTAMinisterio de Economía y Competitividad http://dx.doi.org/10.13039/501100003329 BES-2014-069749 BES-2014-069749Generalitat Valenciana https://doi.org/10.13039/501100003359 PROMETEOII%2F2015%2F013 SmartLogic: Logic Technologies for Software Security and PerformanceMinisterio de Economía y Competitividad http://dx.doi.org/10.13039/501100003329 TIN2016-76843-C4-1-R METODOS RIGUROSOS PARA EL INTERNET DEL FUTUROopen accesshttp://purl.org/coar/access_right/c_abf2Reconocimiento - No comercial - Sin obra derivada (by-nc-nd) http://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccessoai:riunet.upv.es:10251/1457372026-06-13T07:49:27Z
score 15,301629