- Library Home /
- Search Collections /
- Open Collections /
- Browse Collections /
- UBC Theses and Dissertations /
- Identifying technical debt through issue trackers
Open Collections
UBC Theses and Dissertations
UBC Theses and Dissertations
Identifying technical debt through issue trackers Dai, Ke
Abstract
Technical debt is a figurative expression to describe a phenomenon where software development organizations compromise some quality attributes of their products (e.g., maintainability and evolvability) in order to achieve some business benefits in the software development lifecycle. Technical debt may also be incurred unintentionally due to inconsiderate design decisions, poor programming practices or technological gaps. Different from bugs or defects, technical debt is mostly invisible to customers or end users as the software often works well from their perspective and even developers are often unconscious of the existence of technical debt. The invisibility of technical debt increases the risk of high maintenance and evolution cost in the future. Thus, it is crucial to manage technical debt effectively to assure the health of the software system. The first step of managing technical debt is the identification of technical debt. Many source code analysis tools have been developed to identify code-level technical debt; however, identifying non-code-level technical debt remains understudied and needs deep exploration. This thesis proposes an approach to identifying non-code-level technical debt through issue trackers using natural language processing and machine learning techniques and evaluates the performance of our approach using two issue-tracking data sets in English and Chinese respectively from open source and commercial software projects. We found that there are actually some common English and Chinese words that can be used as indicators of technical debt. We analyzed how these words contribute to indicating technical debt and compared the similarities between English and Chinese key phrases at the semantic level. Based on these key phrases, we developed different classifiers to detect technical debt issues automatically using machine learning techniques, evaluated and compared the performance of these classifiers in identifying technical debt issues recorded in English and Chinese respectively.
Item Metadata
Title |
Identifying technical debt through issue trackers
|
Creator | |
Publisher |
University of British Columbia
|
Date Issued |
2018
|
Description |
Technical debt is a figurative expression to describe a phenomenon where software development organizations compromise some quality attributes of their products (e.g., maintainability and evolvability) in order to achieve some business benefits in the software development lifecycle. Technical debt may also be incurred unintentionally due to inconsiderate design decisions, poor programming practices or technological gaps.
Different from bugs or defects, technical debt is mostly invisible to customers or end users as the software often works well from their perspective and even developers are often unconscious of the existence of technical debt. The invisibility of technical debt increases the risk of high maintenance and evolution cost in the future. Thus, it is crucial to manage technical debt effectively to assure the health of the software system.
The first step of managing technical debt is the identification of technical debt. Many source code analysis tools have been developed to identify code-level technical debt; however, identifying non-code-level technical debt remains understudied and needs deep exploration. This thesis proposes an approach to identifying non-code-level technical debt through issue trackers using natural language processing and machine learning techniques and evaluates the performance of our approach using two issue-tracking data sets in English and Chinese respectively from open source and commercial software projects. We found that there are actually some common English and Chinese words that can be used as indicators of technical debt. We analyzed how these words contribute to indicating technical debt and compared the similarities between English and Chinese key phrases at the semantic level. Based on these key phrases, we developed different classifiers to detect technical debt issues automatically using machine learning techniques, evaluated and compared the performance of these classifiers in identifying technical debt issues recorded in English and Chinese respectively.
|
Genre | |
Type | |
Language |
eng
|
Date Available |
2018-12-03
|
Provider |
Vancouver : University of British Columbia Library
|
Rights |
Attribution-NonCommercial-NoDerivatives 4.0 International
|
DOI |
10.14288/1.0374920
|
URI | |
Degree | |
Program | |
Affiliation | |
Degree Grantor |
University of British Columbia
|
Graduation Date |
2019-02
|
Campus | |
Scholarly Level |
Graduate
|
Rights URI | |
Aggregated Source Repository |
DSpace
|
Item Media
Item Citations and Data
Rights
Attribution-NonCommercial-NoDerivatives 4.0 International