Abstract

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 333 comments indicating self-admitted technical debt, we first identify one particular class of debt amenable to automated management: on-hold self-admitted technical debt (on-hold SATD), 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.98 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.

Highlights

  • The metaphor of technical debt is used to describe the trade-off many software developers face when developing software: how to balance near-term value with// TODO the following code is copied from AbstractSimpleBeanDefinitionParser // it can be removed if ever the doParse() method is not final! // or the Spring bug http://jira.springframework.org/browse/SPR-4599 is resolvedIn many cases, developers know when they are about to cause technical debt, and they leave documentation to indicate its presence

  • We define “on-hold” self-admitted technical debt as self-admitted technical debt which contains a condition to indicate that a developer is waiting for a certain event or an updated functionality having been implemented elsewhere

  • Based on the data set made available by da Silva Maldonado et al (2017a) and da Silva Maldonado et al (2017b), we identified a total of 230 comments which indicate “on-hold” self-admitted technical debt, confirming that this phenomenon is prevalent and exists in different projects

Read more

Summary

Introduction

Developers know when they are about to cause technical debt, and they leave documentation to indicate its presence (da Silva Maldonado et al, 2017b). This documentation often comes in the form of source code comments, such as “TODO: This method is too complex, [let’s] break it up” and “TODO no methods yet for getClassname”.1. Previous work (da Silva Maldonado et al, 2017b) has developed an approach based on natural language processing to automatically detect selfadmitted technical debt comments and to classify them into either design or requirement debt. Design debt can be resolved by refactoring whereas requirement debt indicates the need for new code

Objectives
Methods
Results
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.