Supporting software history exploration
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 thesis, we consider two user interfaces for helping a developer to exp...
Main Author: | |
---|---|
Language: | English |
Published: |
University of British Columbia
2011
|
Online Access: | http://hdl.handle.net/2429/33722 |
id |
ndltd-UBC-oai-circle.library.ubc.ca-2429-33722 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-UBC-oai-circle.library.ubc.ca-2429-337222018-01-05T17:24:58Z Supporting software history exploration Bradley, Alexander Wilfred John 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 thesis, we consider two user interfaces for helping a developer to 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 thesis, 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 laboratory study, we found that our model can help to predict which interface is helpful for two particular kinds of historical questions. 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 from software repositories, whether that information is retrieved directly from the repository or derived through software history mining. Science, Faculty of Computer Science, Department of Graduate 2011-04-18T15:44:02Z 2011-04-18T15:44:02Z 2011 2011-05 Text Thesis/Dissertation http://hdl.handle.net/2429/33722 eng Attribution-NonCommercial-NoDerivs 3.0 Unported http://creativecommons.org/licenses/by-nc-nd/3.0/ University of British Columbia |
collection |
NDLTD |
language |
English |
sources |
NDLTD |
description |
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 thesis, we consider two user interfaces for helping a developer to 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 thesis, 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 laboratory study, we found that our model can help to predict which interface is helpful for two particular kinds of historical questions. 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 from software repositories, whether that information is retrieved directly from the repository or derived through software history mining. === Science, Faculty of === Computer Science, Department of === Graduate |
author |
Bradley, Alexander Wilfred John |
spellingShingle |
Bradley, Alexander Wilfred John Supporting software history exploration |
author_facet |
Bradley, Alexander Wilfred John |
author_sort |
Bradley, Alexander Wilfred John |
title |
Supporting software history exploration |
title_short |
Supporting software history exploration |
title_full |
Supporting software history exploration |
title_fullStr |
Supporting software history exploration |
title_full_unstemmed |
Supporting software history exploration |
title_sort |
supporting software history exploration |
publisher |
University of British Columbia |
publishDate |
2011 |
url |
http://hdl.handle.net/2429/33722 |
work_keys_str_mv |
AT bradleyalexanderwilfredjohn supportingsoftwarehistoryexploration |
_version_ |
1718582817548402688 |