Supporting Software History Exploration

Proceedings of the 8th Working Conference on Mining Software Repositories (MSR 2011)

Pages

193-202

Resource Type
Proceedings

Software developers often confront questions such as "Why was the code implemented this way"? To answer such questions, developers make use of information in a software system's bug and source repositories. In this paper, we consider two user interfaces for helping a developer explore information from such repositories. One user interface, from Holmes and Begel's Deep Intellisense tool, exposes historical information across several integrated views, favouring exploration from a single code element to all of that element's historical information. The second user interface, in a tool called Rationalizer that we introduce in this paper, integrates historical information into the source code editor, favouring exploration from a particular code line to its immediate history. We introduce a model to express how software repository information is connected and use this model to compare the two interfaces. Through a lab experiment, we found that our model can help predict which interface is helpful for a particular kind of historical question. We also found deficiencies in the interfaces that hindered users in the exploration of historical information. These results can help inform tool developers who are presenting historical information either directly from or mined from software repositories.

© ACM, 2011. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in Proceedings of the 8th Working Conference on Mining Software Repositories (May 2011). https://doi.acm.org/10.1145/1985441.1985469

Associated Faculty
Lab
Unique ID
TR-2011-00016
Publication Date
Image
Closeup of Rationalizer columns
Author(s)
Alexander W. J. Bradley
Gail C. Murphy
Resource Identifier (DOI)
10.1145/1985441.1985469