Debugging reinvented

Andrew J. Ko, Brad A. Myers
2008 Proceedings of the 13th international conference on Software engineering - ICSE '08  
When software developers want to understand the reason for a program's behavior, they must translate their questions about the behavior into a series of questions about code, speculating about the causes in the process. The Whyline is a new kind of debugging tool that avoids such speculation by instead enabling developers to select a question about program output from a set of why did and why didn't questions derived from the program's code and execution. The tool then finds one or more
more » ... explanations for the output in question, using a combination of static and dynamic slicing, precise call graphs, and new algorithms for determining potential sources of values and explanations for why a line of code was not reached. Evaluations of the tool on one task showed that novice programmers with the Whyline were twice as fast as expert programmers without it. The tool has the potential to simplify debugging in many software development contexts.
doi:10.1145/1368088.1368130 dblp:conf/icse/KoM08 fatcat:z4wtb63r2bcvbayzzbbcrs5rda