PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Selecting the checkpoint interval in time warp simulation
PADS '93 Proceedings of the seventh workshop on Parallel and distributed simulation
DYNALAB: a dynamic computer science laboratory infrastructure featuring program animation (abstract)
SIGCSE '95 Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education
Automatic incremental state saving
PADS '96 Proceedings of the tenth workshop on Parallel and distributed simulation
Advanced compiler design and implementation
Advanced compiler design and implementation
Efficient optimistic parallel simulations using reverse computation
ACM Transactions on Modeling and Computer Simulation (TOMACS)
A Fast Assembly Level Reverse Execution Method via Dynamic Slicing
Proceedings of the 26th International Conference on Software Engineering
Assembly instruction level reverse execution for debugging
ACM Transactions on Software Engineering and Methodology (TOSEM)
An efficient and generic reversible debugger using the virtual machine based approach
Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments
Dynamic Reverse Code Generation for Backward Execution
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the 21st International Workshop on Principles of Advanced and Distributed Simulation
DynaTest and beyond: From dynamic testing to automated error-prevention and error-detection
Journal of Computational Methods in Sciences and Engineering - Selected papers from the International Conference on Computer Science,Software Engineering, Information Technology, e-Business, and Applications, 2003
Hi-index | 0.00 |
The ability to execute a program in reverse is advantageous for shortening debug time. This paper presents a reverse execution methodology at the assembly instruction-level with low memory and time overheads. The core idea of this approach is to generate a reverse program able to undo, in almost all cases, normal forward execution of an assembly instruction in the program being debugged. The methodology has been implemented on a PowerPC processor in a custom made debugger. Compared to previous work -- all of which use a variety of 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 time overhead reduction.