ACM Transactions on Programming Languages and Systems (TOPLAS)
Generating reversible programs
Software—Practice & Experience
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
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
Detecting equality of variables in programs
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
GTW: a time warp system for shared memory multiprocessors
WSC '94 Proceedings of the 26th conference on Winter simulation
On extending parallelism to serial simulators
PADS '95 Proceedings of the ninth workshop on Parallel and distributed simulation
ACM SIGPLAN Notices
Efficient optimistic parallel simulations using reverse computation
ACM Transactions on Modeling and Computer Simulation (TOMACS)
User Recovery and Reversal in Interactive Systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communications of the ACM
Parallel and Distribution Simulation Systems
Parallel and Distribution Simulation Systems
An Execution-Backtracking Approach to Debugging
IEEE Software
The Time Warp Mechanism for Database Concurrency Control
Proceedings of the Second International Conference on Data Engineering
TWLinuX: Operating System Support for Optimistic Parallel Discrete Event Simulation
HiPC '01 Proceedings of the 8th International Conference on High Performance Computing
Using Reversible Computing To Achieve Fail-Safety
ISSRE '97 Proceedings of the Eighth International Symposium on Software Reliability Engineering
Techniques for efficient parallel simulation and their application to large-scale telecommunication network models
A federated approach to distributed network simulation
ACM Transactions on Modeling and Computer Simulation (TOMACS)
Assembly instruction level reverse execution for debugging
ACM Transactions on Software Engineering and Methodology (TOSEM)
Proceedings of the 35th conference on Winter simulation: driving innovation
µsik " A Micro-Kernel for Parallel/Distributed Simulation Systems
Proceedings of the 19th Workshop on Principles of Advanced and Distributed Simulation
Transparent Optimistic Synchronization in HLA via a Time-Management Converter
Proceedings of the 20th Workshop on Principles of Advanced and Distributed Simulation
Proceedings of the 21st International Workshop on Principles of Advanced and Distributed Simulation
Proceedings of the 21st International Workshop on Principles of Advanced and Distributed Simulation
Hi-index | 0.00 |
We introduce Backstroke, a new open source framework for the automatic generation of reverse code for functions written in C++. Backstroke enables reverse computation for optimistic parallel discrete event simulations. It is built using the ROSE open-source compiler infrastructure, and handles complex C++ features including pointers and pointer types, arrays, function and method calls, class types, inheritance, polymorphism, virtual functions, abstract classes, templated classes and containers. Backstroke also introduces new program inversion techniques based on advanced compiler analysis tools built into ROSE. We explore and illustrate some of the complex language and semantic issues that arise in generating correct reverse code for C++ functions.