A Search-Based Approach for Technical Debt Prioritization
No Thumbnail Available
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Technical debt (TD) is a metaphor used to account for the added software system effort or cost resulting
from taking early software project shortcuts. This acquired debt accumulates interest and becomes more
challenging to repay over time. When not managed, TD can cause significant long-term issues, such as
high maintenance costs and eventual system failures. TD prioritization is the process of deciding which TD
items are to be repaid first and which items are to be delayed until further releases. With limited resources
at their disposal, individuals may struggle to decide which TD items should be repaid to achieve the highest
possible value, as there is typically a trade-off between the value of a TD item and its cost. Though the software
engineering community has developed several TD prioritization approaches, researchers have noted
several limitations in the existing approaches and have called for developing new, improved approaches.
The focus of this dissertation is TD prioritization. A systematic literature review (SLR) was first
conducted to identify and analyze the existing TD prioritization approaches. The SLR revealed a scarcity
in the identified approaches that account for value, cost, and a resource constraint in addition to a lack of
industry evaluations. Moreover, an investigative study was conducted with 89 software practitioners to gain
a better understanding regarding how practitioners prioritize TD in the presence of a resource constraint.
The study revealed three unique patterns: most of the participants balance the trade-off between value and
cost, a smaller number of participants repaid higher value TD items first, and a single participant prioritized
lower cost TD items.
Aiming to address the limitations identified in the existing TD prioritization approaches, this dissertation
models the TD prioritization problem as a multi-objective optimization (MOO) problem and develops
a search-based TD prioritization approach that is capable of handling a resource constraint. The output of
the approach encompasses which TD items should be repaid to maximize the value of a given repayment
activity while minimizing its cost and satisfying its resource constraint. In its evaluation, the approach was
compared to random search using 40 open-source software (OSS) systems, and the approach surpassed
random search in terms of best obtained solution’s value in all the cases. The approach was also compared
to 66 software practitioners’ prioritized solutions and was able to obtain values similar to or greater than
the values obtained by the practitioners. Moreover, the approach required only an average running time of
3 minutes to generate the prioritized solution set.