共 50 条
A New Method for Program Inversion
被引:0
|作者:
Hou, Cong
[1
]
Vulov, George
[1
]
Quinlan, Daniel
[2
]
Jefferson, David
[2
]
Fujimoto, Richard
[1
]
Vuduc, Richard
[1
]
机构:
[1] Georgia Inst Technol, Atlanta, GA 30332 USA
[2] Lawrence Livermore Natl Lab, Livermore, CA 94551 USA
来源:
关键词:
Program inversion;
SSA;
SSA graph;
reverse computation;
state saving;
ROSE;
REVERSE EXECUTION;
DEPENDENCE GRAPH;
INVERTER;
D O I:
暂无
中图分类号:
TP31 [计算机软件];
学科分类号:
081202 ;
0835 ;
摘要:
Program inversion has been successfully applied to several areas such as optimistic parallel discrete event simulation (OPDES) and reverse debugging. This paper introduces a new program inversion algorithm for imperative languages, and focuses on handling arbitrary control flows and basic operations. By building a value search graph that represents recoverability relationships between variable values, we turn the problem of recovering previous values into a graph search one. Forward and reverse code is generated according to the search results. We have implemented our algorithm as part of a compiler framework named Backstroke, a C++ source-to-source translator based on ROSE compiler. Backstroke targets optimistic simulation codes and automatically generates a reverse function to recover values modified by a target function. Experimental results show that our method is effective and produces better performance than previously proposed methods.
引用
收藏
页码:81 / 100
页数:20
相关论文