Efficiently updating materialized views
SIGMOD '86 Proceedings of the 1986 ACM SIGMOD international conference on Management of data
Exploring Algorithms Using Balsa-II
Computer
Fast breakpoints: design and implementation
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Visualizing and querying software structures
ICSE '92 Proceedings of the 14th international conference on Software engineering
Practical data breakpoints: design and implementation
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Visualizing the behavior of object-oriented systems
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Architecture-oriented visualization
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Communications of the ACM
Advanced Java: idioms, pitfalls, styles and programming tips
Advanced Java: idioms, pitfalls, styles and programming tips
Modeling dynamic collections of interdependent objects using path-based rules
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Query-based debugging of object-oriented programs
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Dynamic class loading in the Java virtual machine
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Extending the ODMG object model with composite objects
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Visualizing dynamic software system information through high-level models
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Efficiently monitoring relational databases
ACM Transactions on Database Systems (TODS)
The Java Language Specification
The Java Language Specification
Interactive Visual Exploration of Distributed Computations
IPPS '97 Proceedings of the 11th International Symposium on Parallel Processing
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
VIZIR: An Integrated Environment for Distributed Program Visualization
MASCOTS '95 Proceedings of the 3rd International Workshop on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems
ICSE '81 Proceedings of the 5th international conference on Software engineering
Films as Graphical Comments in the Source Code of Programs
TOOLS '97 Proceedings of the Tools-23: Technology of Object-Oriented Languages and Systems
Strata-various: multi-layer visualization of dynamics in software system behavior
VIS '94 Proceedings of the conference on Visualization '94
Supporting truly object-oriented debugging of C++ programs
CTEC'94 Proceedings of the 6th conference on USENIX Sixth C++ Technical Conference - Volume 6
HotWire: a visual debugger for C++
CTEC'94 Proceedings of the 6th conference on USENIX Sixth C++ Technical Conference - Volume 6
Execution patterns in object-oriented visualization
COOTS'98 Proceedings of the 4th conference on USENIX Conference on Object-Oriented Technologies and Systems - Volume 4
Visualizing the Execution of Java Programs
Revised Lectures on Software Visualization, International Seminar
Tracing Execution of Software for Design Coverage
Proceedings of the 16th IEEE international conference on Automated software engineering
Practical Object-Oriented Back-in-Time Debugging
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Efficient object querying for java
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Synthesizing iterators from abstraction functions
Proceedings of the 11th International Conference on Generative Programming and Component Engineering
Hi-index | 0.00 |
Program errors are hard to find because of the cause-effect gap between the time when an error occurs and the time when the error becomes apparent to the programmer. Although debugging techniques such as conditional and data breakpoints help to find error causes in simple cases, they fail to effectively bridge the cause-effect gap in many situations. Dynamic query-based debuggers offer programmers an effective tool that provides instant error alert by continuously checking inter-object relationships while the debugged program is running. To speed up dynamic query evaluation, our debugger (implemented in portable Java) uses a combination of program instrumentation, load-time code generation, query optimization, and incremental reevaluation. Experiments and a query cost model show that selection queries are efficient in most cases, while more costly join queries are practical when query evaluations are infrequent or query domains are small.