Computing Reviews

Debugging reinvented:asking and answering why and why not questions about program behavior
Ko A., Myers B.  ICSE 2008 (Proceedings of the 30th International Conference on Software Engineering, Leipzig, Germany, May 10-18, 2008)301-310,2008.Type:Proceedings
Date Reviewed: 06/26/09

Are we witnessing the birth of a new interaction paradigm that is not only for software debugging, but also for working with software in general?

Whyline is a debugging tool for Java that allows the user to view and get answers to “Why did...” and “Why didn’t...” questions about program output. During program execution, Whyline captures a trace that is then used to construct a user interface for navigating output history. Users move a slider back and forward in time and select screen elements of interest to expose “Why did...” and “Why didn’t...” questions. In the provided proof-of-concept painting application, the user can view questions, such as “Why did thickness = 5?” and “Why didn’t thickness change?” Whyline is nontrivial and makes use of static and dynamic slicing techniques, called graphs, and various other algorithms. Performance measurements indicate that Whyline is practical for program executions of no more than a few minutes.

In a pilot evaluation study, when asked to locate a bug, Whyline subjects were twice as fast as a group of Java experts using Eclipse 2.1. Ko and Myers concede, however, that this study has limited generality, since it involves only one task and relatively few subjects.

Importantly, Ko and Myers draw attention to the difficulties of adapting the Whyline approach to applications written in several languages and those that cross machine boundaries. A new generation of languages and architectures is required in order to fully realize the potential of the “Why did...” and “Why didn’t...” capabilities.

I strongly recommend this paper to all computer scientists.

Reviewer:  Andy Brooks Review #: CR137014 (1011-1148)

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy