Show simple item record

dc.contributor.authorAkgul, Tankuten_US
dc.contributor.authorMooney, Vincent John, III
dc.date.accessioned2005-06-17T17:41:43Z
dc.date.available2005-06-17T17:41:43Z
dc.date.issued2002en_US
dc.identifier.urihttp://hdl.handle.net/1853/6552
dc.description.abstractReverse execution provides a programmer with the ability to return a program to a previous state in its execution history. The ability to execute a program in reverse is advantageous for shortening software development time. Conventional techniques for reverse execution rely on saving a state into a record before the state is destroyed. State saving introduces both memory and time overheads during forward execution. Our proposed method introduces a reverse execution methodology at the assembly instruction level with low memory and time overheads. The methodology generates from a program a reverse program by which a destroyed state is almost always regenerated rather than being restored from a record. This significantly reduces state saving. The methodology has been implemented on a PowerPC processor with a custom made debugger. As compared to previous work using state saving techniques, the experimental results show 2.5X to 400X memory overhead reduction for the tested benchmarks. Furthermore, the results with the same benchmarks show an average of 4.1X to 5.7X reduction in execution time overhead.en_US
dc.format.extent913397 bytes
dc.format.mimetypeapplication/pdf
dc.language.isoen_US
dc.publisherGeorgia Institute of Technologyen_US
dc.relation.ispartofseriesCC Technical Report; GIT-CC-02-49en_US
dc.subjectDebugging in computer science
dc.subjectReverse execution
dc.subjectSoftware development
dc.titleInstruction-level Reverse Execution for Debuggingen_US
dc.typeTechnical Reporteng_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record