Asking and Answering Questions about . . . (2008)
BibTeX
@MISC{Ko08askingand,
author = {Andrew J. Ko},
title = {Asking and Answering Questions about . . . },
year = {2008}
}
OpenURL
Abstract
Program understanding accounts for the bulk of software development work. Unfortunately, little is known about why it is so dif9icult. To investigate this problem, multiple developer populations were observed debugging. These studies revealed that developers start by asking questions about program behavior, but must answer by speculating about the code responsible. For example, a developer wondering, “Why didn’t this button do anything after I pressed it? ” must conceive of a potential explanation such as “Maybe because its event handler wasn’t called ” and then use breakpoint debuggers, print statements, and other low‐level tools that instrument and analyze code to verify their explanation. The studies showed that not only is this process poorly supported by current tools, but also that developers form valid explanations for only 10‐20 % of their attempts. A new kind of program understanding tool called a Whyline was developed, which allows a developer to ask “why did ” and “why didn’t” questions directly about a program’s output. In response, the tool determines which parts of the system and its







