Assembly instruction level reverse execution for debugging


Creative Commons License

Akgul T., Mooney V.

ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, vol.13, no.2, pp.149-198, 2004 (SCI-Expanded) identifier identifier

  • Publication Type: Article / Article
  • Volume: 13 Issue: 2
  • Publication Date: 2004
  • Doi Number: 10.1145/1018210.1018211
  • Journal Name: ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY
  • Journal Indexes: Science Citation Index Expanded (SCI-EXPANDED), Scopus
  • Page Numbers: pp.149-198
  • Keywords: algorithms, debugging, reverse code generation, reverse execution
  • Istanbul Technical University Affiliated: Yes

Abstract

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.