arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 1709.00828cs.PL
收藏

反向命令并行程序

Reversing Imperative Parallel Programs

James Hoey, Irek Ulidowski, Shoji Yuen

摘要:

我们提出了一种方法和随后的扩展反转命令式程序。首先,我们生成原程序的增强版本和相应的反转版本。扩充将反转信息保存到辅助数据存储器中,保持该数据存储器与程序状态之间的隔离,同时从不以原始程序的方式之外的任何其他方式改变数据存储器。反转使用此信息将最终程序状态还原为执行前的状态。我们证明了增强和反演工作的预期,并说明我们的方法与几个例子。我们还建议修改我们的第一种方法,以支持非通信并行。执行交错引入了许多挑战,我们的扩展方法考虑了其中的每一个。我们定义了注释,并重新定义了反转,以使用一系列语句标识符,使交错顺序反向确定。

英文摘要:

We propose an approach and a subsequent extension for reversing imperative programs. Firstly, we produce both an augmented version and a corresponding inverted version of the original program. Augmentation saves reversal information into an auxiliary data store, maintaining segregation between this and the program state, while never altering the data store in any other way than that of the original program. Inversion uses this information to revert the final program state to the state as it was before execution. We prove that augmentation and inversion work as intended, and illustrate our approach with several examples. We also suggest a modification to our first approach to support non-communicating parallelism. Execution interleaving introduces a number of challenges, each of which our extended approach considers. We define annotation and redefine inversion to use a sequence of statement identifiers, making the interleaving order deterministic in reverse.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑