- Library Home /
- Search Collections /
- Open Collections /
- Browse Collections /
- UBC Theses and Dissertations /
- Reducing the cognitive and temporal costs of software...
Open Collections
UBC Theses and Dissertations
UBC Theses and Dissertations
Reducing the cognitive and temporal costs of software history exploration Li, Alison
Abstract
Software developers traverse several commits and issues from issue tracking systems when exploring software revision history to answer questions about the rationale behind presently written code. Existing tools impose a cognitive burden on developers as developers must sift through many commits and must transition between commit information and issue tracking information presented separately. More effective support for software revision history exploration would reduce the cognitive burden for developers, allowing them to answer code rationale questions in the limited time available for tasks. We introduce Intelligent History, which uses commit history highlighting to reduce the search space of commits in a revision history, recommending to a developer which commits in a history might merit further investigation. Additionally, Intelligent History minimizes the distance between a developer's IDE and issues from an issue tracking system by directly integrating issue information in the same context. To evaluate Intelligent History, we conducted a controlled laboratory study and recruited 10 software developers. We asked two sets of questions related to the intent behind source code, requiring the participants to explore commit histories for two Java classes from the open-source Apache Kafka project. We also conducted a semi-structured interview on the participants' experiences with examining issues and commits and their use of Intelligent History in the experiment. The results from our analysis shows: (1) participants who used Intelligent History examined fewer commits than participants who did not use Intelligent History while producing correct answers to questions posed; (2) direct integration of issue information in the IDE with Intelligent History supports developers who employ a commit history exploration approach we describe as linear or cyclic and backtracking to view slightly more issues than if they did not have direct issue integration; and (3) our heuristics were accurate to the extent that there was overlap between at least half of the commits that participants examined without Intelligent History and the commits that Intelligent History highlighted.
Item Metadata
Title |
Reducing the cognitive and temporal costs of software history exploration
|
Creator | |
Supervisor | |
Publisher |
University of British Columbia
|
Date Issued |
2022
|
Description |
Software developers traverse several commits and issues from issue tracking systems when exploring software revision history to answer questions about the rationale behind presently written code. Existing tools impose a cognitive burden on developers as developers must sift through many commits and must transition between commit information and issue tracking information presented separately. More effective support for software revision history exploration would reduce the cognitive burden for developers, allowing them to answer code rationale questions in the limited time available for tasks.
We introduce Intelligent History, which uses commit history highlighting to reduce the search space of commits in a revision history, recommending to a developer which commits in a history might merit further investigation. Additionally, Intelligent History minimizes the distance between a developer's IDE and issues from an issue tracking system by directly integrating issue information in the same context.
To evaluate Intelligent History, we conducted a controlled laboratory study and recruited 10 software developers. We asked two sets of questions related to the intent behind source code, requiring the participants to explore commit histories for two Java classes from the open-source Apache Kafka project. We also conducted a semi-structured interview on the participants' experiences with examining issues and commits and their use of Intelligent History in the experiment.
The results from our analysis shows: (1) participants who used Intelligent History examined fewer commits than participants who did not use Intelligent History while producing correct answers to questions posed; (2) direct integration of issue information in the IDE with Intelligent History supports developers who employ a commit history exploration approach we describe as linear or cyclic and backtracking to view slightly more issues than if they did not have direct issue integration; and (3) our heuristics were accurate to the extent that there was overlap between at least half of the commits that participants examined without Intelligent History and the commits that Intelligent History highlighted.
|
Genre | |
Type | |
Language |
eng
|
Date Available |
2022-08-22
|
Provider |
Vancouver : University of British Columbia Library
|
Rights |
Attribution-NonCommercial-NoDerivatives 4.0 International
|
DOI |
10.14288/1.0417465
|
URI | |
Degree | |
Program | |
Affiliation | |
Degree Grantor |
University of British Columbia
|
Graduation Date |
2022-11
|
Campus | |
Scholarly Level |
Graduate
|
Rights URI | |
Aggregated Source Repository |
DSpace
|
Item Media
Item Citations and Data
Rights
Attribution-NonCommercial-NoDerivatives 4.0 International