| Debugging reinvented: asking and answering why and why not questions about program behavior |
| Full text |
Pdf
(900 KB)
|
Source
|
International Conference on Software Engineering
archive
Proceedings of the 30th international conference on Software engineering
table of contents
Leipzig, Germany
SESSION: Program comprehension
table of contents
Pages 301-310
Year of Publication: 2008
ISBN:978-1-60558-079-1
|
|
Authors
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 22, Downloads (12 Months): 255, Citation Count: 5
|
|
|
ABSTRACT
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 possible 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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
 |
2
|
|
| |
3
|
|
 |
4
|
|
| |
5
|
Cooper K.D., Harvey T.J. & Kennedy K. (2001). A simple, fast dominance algorithm. Available at http://www.hipersoft.rice.edu/grads/publications/dom14.pdf.
|
| |
6
|
|
| |
7
|
|
 |
8
|
|
| |
9
|
|
| |
10
|
Andrew J. Ko , Brad A. Myers , Michael J. Coblenz , Htet Htet Aung, An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks, IEEE Transactions on Software Engineering, v.32 n.12, p.971-987, December 2006
[doi> 10.1109/TSE.2006.116]
|
| |
11
|
|
| |
12
|
Lewis B. (2003). Debugging backwards in time, International Workshop on Automated Debugging, 225--235.
|
 |
13
|
Ben Liblit , Mayur Naik , Alice X. Zheng , Alex Aiken , Michael I. Jordan, Scalable statistical bug isolation, Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, June 12-15, 2005, Chicago, IL, USA
|
 |
14
|
Brad A. Myers , David A. Weitzman , Andrew J. Ko , Duen H. Chau, Answering why and why not questions in user interfaces, Proceedings of the SIGCHI conference on Human Factors in computing systems, April 22-27, 2006, Montréal, Québec, Canada
[doi> 10.1145/1124772.1124832]
|
| |
15
|
|
 |
16
|
|
| |
17
|
Tassey, G. (2002). The economic impacts of inadequate infrastructure for software testing. National Institute of Standards and Technology, RTI Project Number 7007.011, 2002.
|
 |
18
|
|
| |
19
|
|
 |
20
|
|
CITED BY 5
|
|
|
|
|
Brad A. Myers , Margaret M. Burnett , Mary Beth Rosson , Andrew J. Ko , Alan Blackwell, End user software engineering: chi'2008 special interest group meeting, CHI '08 extended abstracts on Human factors in computing systems, April 05-10, 2008, Florence, Italy
|
|
|
Brad A. Myers , Andrew J. Ko , Sun Young Park , Jeffrey Stylos , Thomas D. LaToza , Jack Beaton, More natural end-user software engineering, Proceedings of the 4th international workshop on End-user software engineering, p.30-34, May 12-12, 2008, Leipzig, Germany
|
|
|
Brad A. Myers , Margaret M. Burnett , Susan Wiedenbeck , Andrew J. Ko , Mary Beth Rosson, End user software engineering: CHI: 2009 special interest group meeting, Proceedings of the 27th international conference extended abstracts on Human factors in computing systems, April 04-09, 2009, Boston, MA, USA
|
|
|
|
|