A survey of self-admitted technical debt

Giancarlo Sierra, Emad Shihab, Yasutaka Kamei

Research output: Contribution to journalReview article

Abstract

Technical Debt is a metaphor used to express sub-optimal source code implementations that are introduced for short-term benefits that often need to be paid back later, at an increased cost. In recent years, various empirical studies have focused on investigating source code comments that indicate Technical Debt often referred to as Self-Admitted Technical Debt (SATD). Since the introduction of SATD as a concept, an increasing number of studies have examined various aspects pertaining to SATD. Therefore, in this paper we survey research work on SATD, analyzing the characteristics of current approaches and techniques for SATD detection, comprehension, and repayment. To motivate the submission of novel and improved work, we compile tools, resources, and data sets made available to replicate or extend current SATD research. To set the stage for future work, we identify open challenges in the study of SATD, areas that are missing investigation, and discuss potential future research avenues.

Original languageEnglish
Pages (from-to)70-82
Number of pages13
JournalJournal of Systems and Software
Volume152
DOIs
Publication statusPublished - Jun 1 2019

Fingerprint

Costs

All Science Journal Classification (ASJC) codes

  • Software
  • Information Systems
  • Hardware and Architecture

Cite this

A survey of self-admitted technical debt. / Sierra, Giancarlo; Shihab, Emad; Kamei, Yasutaka.

In: Journal of Systems and Software, Vol. 152, 01.06.2019, p. 70-82.

Research output: Contribution to journalReview article

Sierra, Giancarlo ; Shihab, Emad ; Kamei, Yasutaka. / A survey of self-admitted technical debt. In: Journal of Systems and Software. 2019 ; Vol. 152. pp. 70-82.
@article{73c23bb3098244f089978fa1f96d60d2,
title = "A survey of self-admitted technical debt",
abstract = "Technical Debt is a metaphor used to express sub-optimal source code implementations that are introduced for short-term benefits that often need to be paid back later, at an increased cost. In recent years, various empirical studies have focused on investigating source code comments that indicate Technical Debt often referred to as Self-Admitted Technical Debt (SATD). Since the introduction of SATD as a concept, an increasing number of studies have examined various aspects pertaining to SATD. Therefore, in this paper we survey research work on SATD, analyzing the characteristics of current approaches and techniques for SATD detection, comprehension, and repayment. To motivate the submission of novel and improved work, we compile tools, resources, and data sets made available to replicate or extend current SATD research. To set the stage for future work, we identify open challenges in the study of SATD, areas that are missing investigation, and discuss potential future research avenues.",
author = "Giancarlo Sierra and Emad Shihab and Yasutaka Kamei",
year = "2019",
month = "6",
day = "1",
doi = "10.1016/j.jss.2019.02.056",
language = "English",
volume = "152",
pages = "70--82",
journal = "Journal of Systems and Software",
issn = "0164-1212",
publisher = "Elsevier Inc.",

}

TY - JOUR

T1 - A survey of self-admitted technical debt

AU - Sierra, Giancarlo

AU - Shihab, Emad

AU - Kamei, Yasutaka

PY - 2019/6/1

Y1 - 2019/6/1

N2 - Technical Debt is a metaphor used to express sub-optimal source code implementations that are introduced for short-term benefits that often need to be paid back later, at an increased cost. In recent years, various empirical studies have focused on investigating source code comments that indicate Technical Debt often referred to as Self-Admitted Technical Debt (SATD). Since the introduction of SATD as a concept, an increasing number of studies have examined various aspects pertaining to SATD. Therefore, in this paper we survey research work on SATD, analyzing the characteristics of current approaches and techniques for SATD detection, comprehension, and repayment. To motivate the submission of novel and improved work, we compile tools, resources, and data sets made available to replicate or extend current SATD research. To set the stage for future work, we identify open challenges in the study of SATD, areas that are missing investigation, and discuss potential future research avenues.

AB - Technical Debt is a metaphor used to express sub-optimal source code implementations that are introduced for short-term benefits that often need to be paid back later, at an increased cost. In recent years, various empirical studies have focused on investigating source code comments that indicate Technical Debt often referred to as Self-Admitted Technical Debt (SATD). Since the introduction of SATD as a concept, an increasing number of studies have examined various aspects pertaining to SATD. Therefore, in this paper we survey research work on SATD, analyzing the characteristics of current approaches and techniques for SATD detection, comprehension, and repayment. To motivate the submission of novel and improved work, we compile tools, resources, and data sets made available to replicate or extend current SATD research. To set the stage for future work, we identify open challenges in the study of SATD, areas that are missing investigation, and discuss potential future research avenues.

UR - http://www.scopus.com/inward/record.url?scp=85062242630&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85062242630&partnerID=8YFLogxK

U2 - 10.1016/j.jss.2019.02.056

DO - 10.1016/j.jss.2019.02.056

M3 - Review article

VL - 152

SP - 70

EP - 82

JO - Journal of Systems and Software

JF - Journal of Systems and Software

SN - 0164-1212

ER -