Separating application code from toolkits: eliminating the spaghetti of call-backs
UIST '91 Proceedings of the 4th annual ACM symposium on User interface software and technology
Bridging the gulf between code and behavior in programming
CHI '95 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Designing the whyline: a debugging interface for asking questions about program behavior
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Asking and Answering Questions during a Programming Change Task
IEEE Transactions on Software Engineering
Developers ask reachability questions
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Hi-index | 0.00 |
The behavior of JavaScript is difficult to understand due to the language's asynchronous and dynamic nature. In particular, chains of event handlers pose difficulties because they cannot be stepped through with a debugger, and determining where a chain is broken requires instrumenting every link in the chain with a breakpoint or log statement. The aim of this work is to create a debugging interface that helps users understand complicated control flow in languages like JavaScript. Theseus uses program traces to provide real-time in-editor feedback so that programmers can answer questions quickly as they write new code and interact with their application. The call graph is augmented with semantic edges that allow users to make intuitive leaps through program traces, such as from the start of an AJAX request to its response.