Debugging Parallel Programs with Instant Replay
IEEE Transactions on Computers
Deterministic replay of Java multithreaded applications
SPDT '98 Proceedings of the SIGMETRICS symposium on Parallel and distributed tools
RecPlay: a fully integrated practical record/replay system
ACM Transactions on Computer Systems (TOCS)
jRapture: A Capture/Replay tool for observation-based testing
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
A Perturbation-Free Replay Platform for Cross-Optimized Multithreaded Applications
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
Deterministic Replay of Distributed Java Applications
IPDPS '00 Proceedings of the 14th International Symposium on Parallel and Distributed Processing
A "flight data recorder" for enabling full-system multiprocessor deterministic replay
Proceedings of the 30th annual international symposium on Computer architecture
JaRec: a portable record/replay environment for multi-threaded Java applications
Software—Practice & Experience
BugNet: Continuously Recording Program Execution for Deterministic Replay Debugging
Proceedings of the 32nd annual international symposium on Computer Architecture
AspectJ Cookbook
Flashback: a lightweight extension for rollback and deterministic replay for software debugging
ATEC '04 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
ReCrash: Making Software Failures Reproducible by Preserving Object States
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
ODR: output-deterministic replay for multicore debugging
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
Enabling on-line dependability assessment of Android smart phones
DSNW '11 Proceedings of the 2011 IEEE/IFIP 41st International Conference on Dependable Systems and Networks Workshops
Hi-index | 0.00 |
With the advancement of programming technique like multithreading added with highly efficient memory model design, it is becoming very difficult to understand and analyze the execution behavior of a program. Due to non-determinism in execution behavior introduced by concurrency-related events the program may behave differently than expected which may cause the program to crash. To pinpoint the cause of crash, the execution which caused the crash must be reproduced. Our technique solves this problem by recording the concurrency-related events during program execution and reproducing those events during replay. For this purpose, our technique records thread id and value of the shared variables accessed during program execution while during replay it searches thread space to generate the same value of shared variable which it observed while recording.