Reversible Debugging in Logic Programming
arXiv:2007.16171
Abstract
Reversible debugging is becoming increasingly popular for locating the source of errors. This technique proposes a more natural approach to debugging, where one can explore a computation from the observable misbehaviour backwards to the source of the error. In this work, we propose a reversible debugging scheme for logic programs. For this purpose, we define an appropriate instrumented semantics (a so-called Landauer embedding) that makes SLD resolution reversible. An implementation of a reversible debugger for Prolog, rever, has been developed and is publicly available.
15 pages, to appear in "LNCS Honorary Volume for Manuel Hermenegildo" [AVERTIS 2019]