arXiv · 2212.03687
revTPL: The Reversible Temporal Process Language
Abstract
Reversible debuggers help programmers to find the causes of misbehaviours in concurrent programs more quickly, by executing a program backwards from the point where a misbehaviour was observed, and looking for the bug(s) that caused it. Reversible debuggers can be founded on the well-studied theory of causal-consistent reversibility, which only allows one to undo an action provided that its consequences, if any, are undone beforehand. Causal-consistent reversibility yields more efficient debugging by reducing the number of states to be explored when looking backwards. Till now, causal-consistent reversibility has never considered time, which is a key aspect in real-world applications. Here, we study the interplay between reversibility and time in concurrent systems via a process algebra. The Temporal Process Language (TPL) by Hennessy and Regan is a well-understood extension of CCS with discrete-time and a timeout operator. We define revTPL, a reversible extension of TPL, and we show that it satisfies the properties expected from a causal-consistent reversible calculus. We show that, alternatively, revTPL can be interpreted as an extension of reversible CCS with time.
Explore related subjects
Keep this discovery
Laura Bocchi, Ivan Lanese, Claudio Antares Mezzina, Shoji Yuen. 2022-12-07. revTPL: The Reversible Temporal Process Language. https://doi.org/10.46298/lmcs-20(1:11)2024
Cite the original work for its findings. Save a collection to share your selection of sources.