Cited by 296Software Testing and Debugging TechniquesSoftware Engineering ResearchSoftware Engineering Techniques and Practices

Debugging reinvented: asking and answering why and why not questions about program behavior

Ko, Amy J., Myers, Brad A.·2008·Proceedings of the 30th international conference on Software engineering

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.

Integrity signals

Registry

Crossref · 10.1145/1368088.1368130

Cites

Statistics

Recomputing p-values needs the paper’s full text.

Claims the paper makes

This paper’s full text isn’t openly available, so its claims and self-check weren’t run. The registry and citation checks still apply.

Claims other papers make about this one

Each is checked against this paper’s own text: does it say what the citing paper says it does?

  • Whyline builds a path just-in-time to bridge the gap between two topologies: from GUI output to its relevant source code, and SketchLink links sketches to code.

    “Whyline [20] builds a path just-in-time to bridge the gap between two topologies: from GUI output to its relevant source code, and SketchLink [3] links sketches to code.”
  • Whyline does not scale to a program of jEdit's size, approaches like Chen/Grundy's do not support navigations per se, and few of the approaches located handle more than two disjoint topologies.

    “However, Whyline does not scale to a program of jEdit's size, approaches like Chen/Grundy's do not support navigations per se, and few of the approaches we have located handle more than two disjoint topologies.”

The citation lists haven’t been fetched yet

References 20 · Cited by 296

Authors
Ko, A. J., & Myers, B. A.
Affiliations
  • Carnegie Mellon University, Pittsburgh, PA, USA
  • Carnegie Mellon University (US)
Venue
Proceedings of the 30th international conference on Software engineering
Publisher
ACM
Published
2008-05-10
Pages
301-310
ISSN
0270-5257 (ISSN-L)
OpenAlex
W2164372721
Cited by
296
References
20
Citations by year
2026: 6 · 2025: 6 · 2024: 15 · 2023: 15 · 2022: 15 · 2021: 12 · 2020: 12 · 2019: 16 · 2018: 16 · 2017: 15 · 2016: 10 · 2015: 11 · 2014: 27 · 2013: 25 · 2012: 16
FWCI
15.73
Type
conference paper
Language
en
Open access
closed
Locations
ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) (publishedVersion)
Funders
  • National Science Foundation
  • National Defense Science and Engineering Graduate
Topics
  • Physical Sciences › Computer Science › Software › Software Testing and Debugging Techniques
  • Physical Sciences › Computer Science › Information Systems › Software Engineering Research
  • Physical Sciences › Computer Science › Information Systems › Software Engineering Techniques and Practices
Keywords
debugging tools, program explanation, static slicing, dynamic slicing, call graph, novice programmers, program comprehension

About these checks

Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.

Statistics and arithmetic are recomputed, not judged.

Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.

What counts as a claim ›How we measure confidence ›How we check this ›

Are you an author, or do you see a problem with this page? Request a review