ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, vol.13, no.2, pp.149-198, 2004 (SCI-Expanded)
Assembly instruction level reverse execution provides a programmer with the ability to return a program to a previous state in its execution history via execution of a "reverse program." The ability to execute a program in reverse is advantageous for shortening software development time. Conventional techniques for recovering a state rely on saving the state into a record before the state is destroyed. However, state-saving causes significant memory and time overheads during forward execution.