Reversible execution as a diagnostic tool
Reversible execution as a diagnostic tool
Hardware-assisted replay of multiprocessor programs
PADD '91 Proceedings of the 1991 ACM/ONR workshop on Parallel and distributed debugging
History cache: hardware support for reverse execution
ACM SIGARCH Computer Architecture News
Bridging the gulf between code and behavior in programming
CHI '95 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Efficient algorithms for bidirectional debugging
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Programmers use slices when debugging
Communications of the ACM
Reversible Debugging Using Program Instrumentation
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
ACM SIGPLAN Notices
A portable virtual machine for program debugging and directing
Proceedings of the 2004 ACM symposium on Applied computing
Multiple tense computer programming
ACM SIGPLAN Notices
Methodology and architecture of JIVE
SoftVis '05 Proceedings of the 2005 ACM symposium on Software visualization
Efficient reversal of the intraprocedural flow of control in adjoint computations
Journal of Systems and Software - Special issue: Selected papers from the 4th source code analysis and manipulation (SCAM 2004) workshop
Debugging operating systems with time-traveling virtual machines
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
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
On reversing actions: algorithms and complexity
IJCAI'07 Proceedings of the 20th international joint conference on Artifical intelligence
Efficient model checking of applications with input/output
EUROCAST'07 Proceedings of the 11th international conference on Computer aided systems theory
URDB: a universal reversible debugger based on decomposing debugging histories
PLOS '11 Proceedings of the 6th Workshop on Programming Languages and Operating Systems
Dispel: A run-time debugging language
Computer Languages
Proceedings of the Winter Simulation Conference
Proceedings of the 40th Annual International Symposium on Computer Architecture
Hi-index | 48.24 |
The ability to backtrack, or retrace, the execution of a computer program has gained wider acceptance recently as a desired feature within a programming language. This is particularly useful in two different applications: (1) In debugging systems where the trace output is saved and can be interrogated under programmer control [1, 3]; (2) In artificial intelligence applications where one is trying to prove a certain result. It is frequently necessary to backup the proof and try some alternative path [2].