Quickly detecting relevant program invariants
Proceedings of the 22nd international conference on Software engineering
Programmers use slices when debugging
Communications of the ACM
Isolating cause-effect chains from computer programs
Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering
An end-user tool for e-commerce debugging
Proceedings of the 8th international conference on Intelligent user interfaces
WhyNot: debugging failed queries in large knowledge bases
Eighteenth national conference on Artificial intelligence
Designing the whyline: a debugging interface for asking questions about program behavior
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
How Effective Developers Investigate Source Code: An Exploratory Study
IEEE Transactions on Software Engineering
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
Goal-Directed Debugging of Spreadsheets
VLHCC '05 Proceedings of the 2005 IEEE Symposium on Visual Languages and Human-Centric Computing
Answering why and why not questions in user interfaces
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
A Linguistic Analysis of How People Describe Software Problems
VLHCC '06 Proceedings of the Visual Languages and Human-Centric Computing
Questions programmers ask during software evolution tasks
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
IEEE Transactions on Software Engineering
Information Needs in Collocated Software Development Teams
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Program comprehension as fact finding
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Capturing and answering questions posed to a knowledge-based system
Proceedings of the 4th international conference on Knowledge capture
Debugging reinvented: asking and answering why and why not questions about program behavior
Proceedings of the 30th international conference on Software engineering
Assessing demand for intelligibility in context-aware applications
Proceedings of the 11th international conference on Ubiquitous computing
GUI testing using computer vision
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
End user software engineering: CHI 2010 special interest group meeting
CHI '10 Extended Abstracts on Human Factors in Computing Systems
Proceedings of 2010 ICSE Workshop on Search-driven Development: Users, Infrastructure, Tools and Evaluation
Extracting and answering why and why not questions about Java program output
ACM Transactions on Software Engineering and Methodology (TOSEM)
Non-programmers identifying functionality in unfamiliar code: strategies and barriers
Journal of Visual Languages and Computing
Toolkit to support intelligibility in context-aware applications
Proceedings of the 12th ACM international conference on Ubiquitous computing
Improving trust in context-aware applications with intelligibility
Proceedings of the 12th ACM international conference adjunct papers on Ubiquitous computing - Adjunct
TurKit: human computation algorithms on mechanical turk
UIST '10 Proceedings of the 23nd annual ACM symposium on User interface software and technology
Toward transforming freely available source code into usable learning materials for end-users
Evaluation and Usability of Programming Languages and Tools
Information foraging as a foundation for code navigation (NIER track)
Proceedings of the 33rd International Conference on Software Engineering
Are automated debugging techniques actually helping programmers?
Proceedings of the 2011 International Symposium on Software Testing and Analysis
Understanding failures through facts
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Proceedings of the 3rd ACM SIGPLAN workshop on Evaluation and usability of programming languages and tools
Designing useful tools for developers
Proceedings of the 3rd ACM SIGPLAN workshop on Evaluation and usability of programming languages and tools
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
WebCrystal: understanding and reusing examples in web authoring
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
CHI '12 Extended Abstracts on Human Factors in Computing Systems
International Journal of Human-Computer Studies
Isolating failure causes through test case generation
Proceedings of the 2012 International Symposium on Software Testing and Analysis
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
Improving software developers' fluency by recommending development environment commands
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Conversational programming: exploring interactive program analysis
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)
Hi-index | 0.01 |
Debugging and diagnostic tools are some of the most important software development tools, but most expect developers choose the right code to inspect. Unfortunately, this rarely occurs. A new tool called the Whyline is described which avoids such speculation by allowing developers to select questions about a program's output. The tool then helps developers work backwards from output to its causes. The prototype, which supports Java programs, was evaluated in an experiment in which participants investigated two real bug reports from an open source project using either the Whyline or a breakpoint debugger. Whyline users were successful about three times as often and about twice as fast compared to the control group, and were extremely positive about the tool's ability to simplify diagnostic tasks in software development work.