|
Myers, Brad A.
|
ICPC '13-KEYNOTES: "Improving Program Comprehension ..."
Improving Program Comprehension by Answering Questions (Keynote)
Brad A. Myers
(CMU, USA)
My Natural Programming Project is working on making software development easier to learn, more effective, and less error prone. An important focus over the last few years has been to discover what are the hard-to-answer questions that developers ask while they are trying to comprehend their programs, and then to develop tools to help answer those questions. For example, when studying programmers working on everyday bugs, we found that they continuously ask “Why” and “Why Not” questions as they try to comprehend what happened. We developed the “Whyline” debugging tool, which allows programmers to directly ask these questions of their programs and get a visualization of the answers. In a small lab study, Whyline increased productivity by a factor of about two. We studied professional programmers trying to understand unfamiliar code and identified over 100 questions they identified as hard-to-answer. In particular, we saw that programmers frequently had specific questions about the feasible execution paths, so we developed a new visualization tool to directly present this information. When trying to use unfamiliar APIs, such as the Java SDK and the SAP eSOA APIs, we discovered some common patterns that make programmers up to 10 times slower in finding and understanding how to use the appropriate methods, so we developed new tools to assist them. This talk will provide an overview of our studies and resulting tools that address program comprehension issues.
@InProceedings{ICPC13p1,
author = {Brad A. Myers},
title = {Improving Program Comprehension by Answering Questions (Keynote)},
booktitle = {Proc.\ ICPC},
publisher = {IEEE},
pages = {1--2},
doi = {},
year = {2013},
}
|