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.
翻译:用于查找错误源的可逆调试越来越受欢迎。 这个技术提出了一种更自然的调试方法, 可以探索从可见的错误行为向后到错误源的计算方法。 在这项工作中, 我们为逻辑程序提出了一个可逆调试计划。 为此, 我们定义了一种适当的仪器语义学( 所谓的Landauer 嵌入), 使 SLD 分辨率可逆。 已经开发并向公众开放了一种可逆调试的Prolog( rever) 的调试器 。