首页> 外文期刊>ACM transactions on software engineering and methodology >Assembly Instruction Level Reverse Execution for Debugging
【24h】

Assembly Instruction Level Reverse Execution for Debugging

机译:调试的汇编指令级反向执行

获取原文
获取原文并翻译 | 示例

摘要

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. The 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, all of which heavily use state-saving techniques, the experimental results show from 2X to 2206X reduction in run-time memory usage, from 1.5X to 403X reduction in forward execution time overhead and from 1.2X to 2.32X reduction in forward execution time for the tested benchmarks. Furthermore, due to the reduction in memory usage, our method can provide reverse execution in many cases where other methods run out of available memory. However, for cases where there is enough memory available, our method results in 1.16X to 1.89X slow down in reverse execution.
机译:汇编指令级的反向执行使程序员能够通过执行“反向程序”使程序返回其执行历史中的先前状态。反向执行程序的能力有利于缩短软件开发时间。用于恢复状态的常规技术依赖于在销毁状态之前将状态保存到记录中。但是,状态保存会导致正向执行期间的大量内存和时间开销。所提出的方法在汇编指令级别引入了一种具有低内存和时间开销的反向执行方法。该方法从程序生成一个反向程序,通过该程序几乎总是重新生成被破坏的状态,而不是从记录中恢复该状态。这大大减少了状态节省。该方法已在带有定制调试器的PowerPC处理器上实现。与所有以前都大量使用状态保存技术的工作相比,实验结果表明运行时内存使用量减少了2倍至2206倍,正向执行时间开销从1.5倍降低至403倍,从1.2倍降低至2.32倍减少了经过测试的基准的向前执行时间。此外,由于减少了内存使用量,因此在其他方法用尽可用内存的许多情况下,我们的方法可以提供反向执行。但是,如果有足够的可用内存,我们的方法会导致反向执行速度从1.16倍到1.89倍变慢。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号