论文标题
扭转势在必行的编程语言
Reversing an Imperative Concurrent Programming Language
论文作者
论文摘要
我们介绍了一种扭转执行势在必行程序的方法。给定一个不可逆转的程序,我们描述了生产两个版本的过程。第一个执行前瞻性执行并保存逆转所需的信息。第二个使用此保存的信息来模拟逆转。我们建议使用标识符克服逆转并发程序的挑战。我们证明这种可逆性是正确的,表明初始程序状态已恢复,并且使用了所有保存的信息(无垃圾)。
We introduce a method of reversing the execution of imperative concurrent programs. Given an irreversible program, we describe the process of producing two versions. The first performs forward execution and saves information necessary for reversal. The second uses this saved information to simulate reversal. We propose using identifiers to overcome challenges of reversing concurrent programs. We prove this reversibility to be correct, showing that the initial program state is restored and that all saved information is used (garbage-free).