A formal approach to undo operations in programming languages
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Debugging Parallel Programs with Instant Replay
IEEE Transactions on Computers
Debugging
IGOR: a system for program debugging via reversible execution
PADD '88 Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging
TRAPEDS: producing traces for multicomputers via execution driven simulation
SIGMETRICS '89 Proceedings of the 1989 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Introduction to algorithms
Techniques for efficient inline tracing on a shared-memory multiprocessor
SIGMETRICS '90 Proceedings of the 1990 ACM SIGMETRICS conference on Measurement and modeling of computer systems
IMPACT: an architectural framework for multiple-instruction-issue processors
ISCA '91 Proceedings of the 18th annual international symposium on Computer architecture
Debugging optimized code without being misled
ACM Transactions on Programming Languages and Systems (TOPLAS)
Using assertions in declarative and operational models for automated debugging
Journal of Systems and Software
Rewriting executable files to measure program behavior
Software—Practice & Experience
Optimally profiling and tracing programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A further note on Hennessy's “Symbolic debugging of optimized code”
ACM Transactions on Programming Languages and Systems (TOPLAS)
A note on Hennessy's “symbolic debugging of optimized code”
ACM Transactions on Programming Languages and Systems (TOPLAS)
Bridging the gulf between code and behavior in programming
CHI '95 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Coca: an automated debugger for C
Proceedings of the 21st international conference on Software engineering
RecPlay: a fully integrated practical record/replay system
ACM Transactions on Computer Systems (TOCS)
Symbolic Debugging of Optimized Code
ACM Transactions on Programming Languages and Systems (TOPLAS)
User Recovery and Reversal in Interactive Systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communications of the ACM
An Execution-Backtracking Approach to Debugging
IEEE Software
Sequential Debugging at a High Level of Abstraction
IEEE Software
PROVIDE: A Process Visualization and Debugging Environment
IEEE Transactions on Software Engineering
Some requirements for architectural support of software debugging
ASPLOS I Proceedings of the first international symposium on Architectural support for programming languages and operating systems
US&R: A new framework for redoing (Extended Abstract)
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
A portable virtual machine for program debugging and directing
Proceedings of the 2004 ACM symposium on Applied computing
An efficient and generic reversible debugger using the virtual machine based approach
Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments
Debugging operating systems with time-traveling virtual machines
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
A Technique for Enabling and Supporting Debugging of Field Failures
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Capo: a software-hardware interface for practical deterministic multiprocessor replay
Proceedings of the 14th international conference on Architectural support for programming languages and operating systems
Software Profiling for Deterministic Replay Debugging of User Code
Proceedings of the 2006 conference on New Trends in Software Methodologies, Tools and Techniques: Proceedings of the fifth SoMeT_06
Spatial complexity of reversibly computable DAG
CASES '09 Proceedings of the 2009 international conference on Compilers, architecture, and synthesis for embedded systems
Proceedings of the 40th Annual International Symposium on Computer Architecture
Hi-index | 0.00 |
Reversible execution has not been fully exploited in symbolic debuggers. Debuggers that can undo instructions usually incur a significant performance penalty during a debugging session. In this paper, we describe an efficient reversible debugging mechanism based on program instrumentation. The approach enables repetitive debugging sessions with selectable reversible routines and recording modes. Experimental results indicate that the execution penalty can be significantly reduced with moderate code growth.