Wait For It: Identifying "On-Hold" Self-Admitted Technical Debt
This work addresses software developers by providing a first step towards automated tool support for managing technical debt, though it is incremental as it focuses on a specific subset.
The paper tackled the problem of identifying 'on-hold' self-admitted technical debt in software code comments, achieving an automated classifier with an AUC of 0.83 to detect such instances and their conditions.
Self-admitted technical debt refers to situations where a software developer knows that their current implementation is not optimal and indicates this using a source code comment. In this work, we hypothesize that it is possible to develop automated techniques to understand a subset of these comments in more detail, and to propose tool support that can help developers manage self-admitted technical debt more effectively. Based on a qualitative study of 335 comments indicating self-admitted technical debt, we first identify one particular class of debt amenable to automated management: "on-hold" self-admitted technical debt, i.e., debt which contains a condition to indicate that a developer is waiting for a certain event or an updated functionality having been implemented elsewhere. We then design and evaluate an automated classifier which can identify these "on-hold" instances with an area under the receiver operating characteristic curve (AUC) of 0.83 as well as detect the specific conditions that developers are waiting for. Our work presents a first step towards automated tool support that is able to indicate when certain instances of self-admitted technical debt are ready to be addressed.