Pi: a case study in object-oriented programming
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Supporting reverse execution for parallel programs
PADD '88 Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging
Demonic memory for process histories
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Proceedings of the 1989 ACM/IEEE conference on Supercomputing
Real-time, concurrent checkpoint for parallel programs
PPOPP '90 Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming
A Noninterference Monitoring and Replay Mechanism for Real-Time Software Testing and Debugging
IEEE Transactions on Software Engineering
Virtual memory primitives for user programs
ASPLOS IV Proceedings of the fourth international conference on Architectural support for programming languages and operating systems
A bibliography of parallel debuggers, 1990 edition
ACM SIGPLAN Notices
Design and Evaluation of the Rollback Chip: Special Purpose Hardware for Time Warp
IEEE Transactions on Computers
Optimal tracing and incremental reexecution for debugging long-running programs
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
History cache: hardware support for reverse execution
ACM SIGARCH Computer Architecture News
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
IEEE Transactions on Parallel and Distributed Systems
A persistent runtime system using persistent data structures
SAC '96 Proceedings of the 1996 ACM symposium on Applied Computing
Efficient algorithms for bidirectional debugging
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Reversible Debugging Using Program Instrumentation
IEEE Transactions on Software Engineering
Wanted: an application aware checkpointing service
EW 6 Proceedings of the 6th workshop on ACM SIGOPS European workshop: Matching operating systems to application needs
CLIP: a checkpointing tool for message-passing parallel programs
SC '97 Proceedings of the 1997 ACM/IEEE conference on Supercomputing
A survey of rollback-recovery protocols in message-passing systems
ACM Computing Surveys (CSUR)
ickp: A Consistent Checkpointer for Multicomputers
IEEE Parallel & Distributed Technology: Systems & Technology
Low-Latency, Concurrent Checkpointing for Parallel Programs
IEEE Transactions on Parallel and Distributed Systems
Debugging Large-Scale, Long-Running Parallel Programs
ICCS '02 Proceedings of the International Conference on Computational Science-Part II
A Perturbation-Free Replay Platform for Cross-Optimized Multithreaded Applications
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
SRDS '96 Proceedings of the 15th Symposium on Reliable Distributed Systems
Error detection in large-scale parallel programs with long runtimes
Future Generation Computer Systems - Tools for program development and analysis
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)
Debugging with control-flow breakpoints
Proceedings of the 6th international conference on Aspect-oriented software development
Debugging operating systems with time-traveling virtual machines
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
Libckpt: transparent checkpointing under Unix
TCON'95 Proceedings of the USENIX 1995 Technical Conference Proceedings
DejaView: a personal virtual computer recorder
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Practical Object-Oriented Back-in-Time Debugging
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
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
Proceedings of the 2009 workshop on Resiliency in high performance
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
Executing code in the past: efficient in-memory object graph versioning
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Respec: efficient online multiprocessor replayvia speculation and external determinism
Proceedings of the fifteenth edition of ASPLOS on Architectural support for programming languages and operating systems
VECPAR'02 Proceedings of the 5th international conference on High performance computing for computational science
TurKit: human computation algorithms on mechanical turk
UIST '10 Proceedings of the 23nd annual ACM symposium on User interface software and technology
Design, Modeling, and Evaluation of a Scalable Multi-level Checkpointing System
Proceedings of the 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis
Checkpoint/restart-enabled parallel debugging
EuroMPI'10 Proceedings of the 17th European MPI users' group meeting conference on Recent advances in the message passing interface
DoublePlay: parallelizing sequential logging and replay
Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems
Worlds: controlling the scope of side effects
Proceedings of the 25th European conference on Object-oriented programming
URDB: a universal reversible debugger based on decomposing debugging histories
PLOS '11 Proceedings of the 6th Workshop on Programming Languages and Operating Systems
libhashckpt: hash-based incremental checkpointing using GPU's
EuroMPI'11 Proceedings of the 18th European MPI Users' Group conference on Recent advances in the message passing interface
DoublePlay: Parallelizing Sequential Logging and Replay
ACM Transactions on Computer Systems (TOCS) - Special Issue APLOS 2011
Source-Level debugging for multiple languages with modest programming effort
CC'05 Proceedings of the 14th international conference on Compiler Construction
A secure checkpointing protocol for survivable server design
ICDCIT'04 Proceedings of the First international conference on Distributed Computing and Internet Technology
Compiler support for fine-grain software-only checkpointing
CC'12 Proceedings of the 21st international conference on Compiler Construction
International Journal of Human-Computer Studies
Proceedings of the 34th International Conference on Software Engineering
McrEngine: a scalable checkpointing system using data-aware aggregation and compression
SC '12 Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis
Proceedings of the Winter Simulation Conference
Semi-automated debugging via binary search through a process lifetime
Proceedings of the Seventh Workshop on Programming Languages and Operating Systems
McrEngine: A scalable checkpointing system using data-aware aggregation and compression
Scientific Programming - Selected Papers from Super Computing 2012
Hi-index | 0.00 |
Typical debugging tools are insufficiently powerful to find the most difficult types of program misbehaviors. We have implemented a prototype of a new debugging system, IGOR, which provides a great deal more useful information and offers new abilities that are quite promising. The system runs fast enough to be quite useful while providing many features that are usually available only in an interpreted environment. We describe here some improved facilities (reverse execution, selective searching of execution history, substitution of data and executable parts of the programs) that are needed for serious debugging and are not found in traditional single-thread debugging tools. With a little help from the operating system, we provide these capabilities at reasonable cost without modifying the executable code and running fairly close to full speed. The prototype runs under the DUNE distributed operating system.The current system only supports debugging of single-thread programs. The paper describes planned extensions to make use of extra processors to speed the system and for applying the technique to multi-thread and time dependent executions.