Causal-Consistent Reversible Debugging: Improving CauDEr
Juan Jos\'e Gonz\'alez-Abril, Germ\'an Vidal

TL;DR
This paper extends a causal-consistent reversible debugging framework for Erlang, integrating source-level support and combining user-driven and replay debugging approaches into an improved tool with a new interface.
Contribution
It introduces source-level support for Erlang in the reversible debugger and unifies two debugging approaches into a comprehensive framework and tool.
Findings
Extended debugger to handle source Erlang programs.
Unified user-driven and replay debugging approaches.
Developed an improved debugging tool with a new interface.
Abstract
Causal-consistent reversible debugging allows one to explore concurrent computations back and forth in order to locate the source of an error. In this setting, backward steps can be chosen freely as long as they are "causal consistent", i.e., as long as all the actions that depend on the action we want to undo have been already undone. Here, we consider a framework for causal-consistent reversible debugging in the functional and concurrent language Erlang. This framework considered programs translated to an intermediate representation, called Core Erlang. Although using such an intermediate representation simplified both the formal definitions and their implementation in a debugging tool, the choice of Core Erlang also complicated the use of the debugger. In this paper, we extend the framework in order to deal with source Erlang programs, also including some features that were not…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
