Reversible object-oriented interpreters
European conference on object-oriented programming on ECOOP '87
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
SIGMOD '94 Proceedings of the 1994 ACM SIGMOD international conference on Management of data
Coca: an automated debugger for C
Proceedings of the 21st international conference on Software engineering
Saving traces for Ada debugging
SIGAda '85 Proceedings of the 1985 annual ACM SIGAda international conference on Ada
Efficient algorithms for bidirectional debugging
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
The Information Mural: A Technique for Displaying and Navigating Large Information Spaces
IEEE Transactions on Visualization and Computer Graphics
A real-time microprocessor debugging technique
SIGSOFT '83 Proceedings of the ACM SIGSOFT/SIGPLAN software engineering symposium on High-level debugging
Monitoring in a software development environment: A relational approach
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Compression Techniques to Simplify the Analysis of Large Execution Traces
IWPC '02 Proceedings of the 10th International Workshop on Program Comprehension
Partial behavioral reflection: spatial and temporal selection of reification
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
CSMR '04 Proceedings of the Eighth Euromicro Working Conference on Software Maintenance and Reengineering (CSMR'04)
Designing the whyline: a debugging interface for asking questions about program behavior
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Divide-and-query and subterm dependency tracking in the mercury declarative debugger
Proceedings of the sixth international symposium on Automated analysis-driven debugging
Jockey: a user-space library for record-replay debugging
Proceedings of the sixth international symposium on Automated analysis-driven debugging
Finding application errors and security flaws using PQL: a program query language
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Eclipse: a platform for integrating development tools
IBM Systems Journal
Extending omniscient debugging to support aspect-oriented programming
Proceedings of the 2008 ACM symposium on Applied computing
Practical Object-Oriented Back-in-Time Debugging
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Change-Enabled Software Systems
Software-Intensive Systems and New Computing Paradigms
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Semantics-aware trace analysis
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
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
Beyond static and dynamic scope
DLS '09 Proceedings of the 5th symposium on Dynamic languages
A visual interactive debugger based on symbolic execution
Proceedings of the IEEE/ACM international conference on Automated software engineering
Empirical studies on programming language stimuli
Software Quality Control
Tracking data structures for postmortem analysis (NIER track)
Proceedings of the 33rd International Conference on Software Engineering
Custom-made instrumentation based on static analysis
Proceedings of the Ninth International Workshop on Dynamic Analysis
Retroactive aspects: programming in the past
Proceedings of the Ninth International Workshop on Dynamic Analysis
Querypoint: moving backwards on wrong values in the buggy execution
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Summarized trace indexing and querying for scalable back-in-time debugging
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
Proceedings of the 3rd ACM SIGPLAN workshop on Evaluation and usability of programming languages and tools
VEE '12 Proceedings of the 8th ACM SIGPLAN/SIGOPS conference on Virtual Execution Environments
A debug interface for debugging multiple domain specific aspect languages
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
International Journal of Human-Computer Studies
Proceedings of the 34th International Conference on Software Engineering
DejaVu: integrated support for developing interactive camera-based programs
Proceedings of the 25th annual ACM symposium on User interface software and technology
Reusing debugging knowledge via trace-based bug search
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Ji.Fi: visual test and debug queries for hard real-time
Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems
Instance pointcuts for program comprehension
Proceedings of the 1st workshop on Comprehension of complex systems
The potential of omniscient debugging for aspect-oriented programming languages
Proceedings of the 1st workshop on Comprehension of complex systems
Expositor: scriptable time-travel debugging with first-class traces
Proceedings of the 2013 International Conference on Software Engineering
Interactive record/replay for web application debugging
Proceedings of the 26th annual ACM symposium on User interface software and technology
Proceedings of the 2013 ACM international symposium on New ideas, new paradigms, and reflections on programming & software
An Empirical Investigation into Programming Language Syntax
ACM Transactions on Computing Education (TOCE)
Distributed debugging for mobile networks
Journal of Systems and Software
Hi-index | 0.00 |
Omniscient debuggers make it possible to navigate backwards in time within a program execution trace, drastically improving the task of debugging complex applications. Still, they are mostly ignored in practice due to the challenges raised by the potentially huge size of the execution traces. This paper shows that omniscient debugging can be realistically realized through the use of different techniques addressing efficiency, scalability and usability. We present TOD, a portable Trace-Oriented Debugger for Java, which combines an efficient instrumentation for event generation, a specialized distributed database for scalable storage and efficient querying, support for partial traces in order to reduce the trace volume to relevant events, and innovative interface components for interactive trace navigation and analysis in the development environment. Provided a reasonable infrastructure, the performance of TOD allows a responsive debugging experience in the face of large programs.