Book Chapter10.1007/978-3-030-21500-2_7
Reversible imperative parallel programs and debugging
James Hoey,Irek Ulidowski +1 more
- 24 Jun 2019
- pp 108-127
17
TL;DR: A state-saving approach to reversible execution of imperative programs containing parallel composition and an inverted version of the program, capable of using this saved information to reverse the effects of each step of the forwards execution is presented.
read more
Abstract: We present a state-saving approach to reversible execution of imperative programs containing parallel composition. Given an original program, we produce an annotated version of the program that both performs forwards execution and all necessary state-saving of required reversal information. We further produce an inverted version of our program, capable of using this saved information to reverse the effects of each step of the forwards execution. We show that this process implements correct and garbage-free inversion. We give examples of how our implementation of reversible execution can be used for debugging, and demonstrate how a simulation tool we have developed for our approach can be used to examine the program state. Finally, we evaluate the performance and overheads associated with state-saving and inversion.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
•Book
Reversible Computation: Extending Horizons of Computing
Irek Ulidowski,Ivan Lanese,Ulrik Pagh Schultz,Carla Ferreira +3 more
- 09 Oct 2020
TL;DR: Many threads of research in the area of foundations of reversible computing are reported on, giving particular emphasis to the results obtained in the framework of the European COST Action IC1405, entitled “Reversible Computation Extending Horizons of Computing”, which took place in the years 2015–2019.
21
Reversing Place Transition Nets
TL;DR: Colours in the encoding resemble the causal memories that are typical in reversible process calculi and it is shown that such reversible behaviour can be expressed as a finite net whose tokens are coloured by causal histories.
Reversibility in Erlang: Imperative Constructs
P. Lami,Ivan Lanese,Jean-Bernard Stefani,Claudio Sacerdoti Coen,G. Fabbretti +4 more
- 01 Jan 2022
TL;DR: CauDEr as mentioned in this paper is a causal-consistent reversible debugger for the Erlang programming language, which supports the functional, concurrent and distributed fragment of Erlang and also includes imperative features to manage a map associating process identifiers to names.
Causal reversibility in individual token interpretation of petri nets
TL;DR: An approach for controlling causal-reversibility within IPNs is proposed and the coherence of N is assured, i.e., the set of all reachable states in the reversible version and that of the original one are identical.
A Reversible Runtime Environment for Parallel Programs
Takashi Ikeda,Shoji Yuen +1 more
- 09 Jul 2020
TL;DR: This work presents a reversible runtime environment for simple parallel programs and its experimental implementation of the backtrack reversibility by the state-saving mechanism using stacks that is more portable than the source-to-source translation of a high-level programming language.
References
Irreversibility and heat generation in the computing process
TL;DR: Two simple, but representative, models of bistable devices are subjected to a more detailed analysis of switching kinetics to yield the relationship between speed and energy dissipation, and to estimate the effects of errors induced by thermal fluctuations.
Parallel discrete event simulation
TL;DR: This article deals with the execution of a simulation program on a parallel computer by decomposing the simulation application into a set of concurrently executing processes and introduces interesting synchronization problems that are at the heart of the PDES problem.
•Book
Why Programs Fail: A Guide to Systematic Debugging
Andreas Zeller
- 01 Oct 2005
TL;DR: The new edition of this award-winning productivity-booster is for any developer who has ever been frustrated by elusive bugs, andBrand new chapters demonstrate cutting-edge debugging techniques and tools, enabling readers to put the latest time-saving developments to work for them.
A review of reverse debugging
Jakob Engblom
- 25 Oct 2012
TL;DR: The history and techniques of reverse debugging, as researched, implemented, and used from the 1970s until today, are reviewed.
66
•Journal Article
Causal-Consistent Reversibility
TL;DR: This paper presents an overview of the main approaches, results, and applications of causal-consistent reversibility.
Related Papers (5)
James Hoey
- 15 Jul 2020
Xiangyu Zhang,Neelam Gupta,Rajiv Gupta +2 more
- 28 May 2006
Jens Knoop
- 26 Aug 1996