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-LACETR-oai-collectionscanada.gc.ca-BVAU.-33722
record_format oai_dc
spelling ndltd-LACETR-oai-collectionscanada.gc.ca-BVAU.-337222013-06-05T04:19:24ZSupporting software history explorationBradley, Alexander Wilfred JohnSoftware 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.University of British Columbia2011-04-18T15:44:02Z2011-04-18T15:44:02Z20112011-04-18T15:44:02Z2011-05Electronic Thesis or Dissertationhttp://hdl.handle.net/2429/33722eng
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.
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_ 1716587768071585792