Hard-to-answer questions about code

  • Authors:
  • Thomas D. LaToza;Brad A. Myers

  • Affiliations:
  • Carnegie Mellon University;Carnegie Mellon University

  • Venue:
  • Evaluation and Usability of Programming Languages and Tools
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

To build new tools and programming languages that make it easier for professional software developers to create, debug, and understand code, it is helpful to better understand the questions that developers ask during coding activities. We surveyed professional software developers and asked them to list hard-to-answer questions that they had recently asked about code. 179 respondents reported 371 questions. We then clustered these questions into 21 categories and 94 distinct questions. The most frequently reported categories dealt with intent and rationale -- what does this code do, what is it intended to do, and why was it done this way? Many questions described very specific situations -- e.g., what does the code do when an error occurs, how to refactor without breaking callers, or the implications of a specific change on security. These questions revealed opportunities for both existing research tools to help developers and for developing new languages and tools that make answering these questions easier.