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...

Full description

Bibliographic Details
Main Author: Bradley, Alexander Wilfred John
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