An Exploratory Study on Self-Admitted Technical Debt

被引:188
|
作者
Potdar, Aniket [1 ]
Shihab, Emad [2 ]
机构
[1] Rochester Inst Technol, Dept Software Engn, Rochester, NY 14623 USA
[2] Concordia Univ, Dept Comp Sci & Software Engn, Montreal, PQ, Canada
关键词
D O I
10.1109/ICSME.2014.31
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Throughout a software development life cycle, developers knowingly commit code that is either incomplete, requires rework, produces errors, or is a temporary workaround. Such incomplete or temporary workarounds are commonly referred to as 'technical debt'. Our experience indicates that self-admitted technical debt is common in software projects and may negatively impact software maintenance, however, to date very little is known about them. Therefore, in this paper, we use source-code comments in four large open source software projects - Eclipse, Chromium OS, Apache HTTP Server, and ArgoUML to identify self-admitted technical debt. Using the identified technical debt, we study 1) the amount of self-admitted technical debt found in these projects, 2) why this self-admitted technical debt was introduced into the software projects and 3) how likely is the self-admitted technical debt to be removed after their introduction. We find that the amount of self-admitted technical debt exists in 2.4% - 31% of the files. Furthermore, we find that developers with higher experience tend to introduce most of the self-admitted technical debt and that time pressures and complexity of the code do not correlate with the amount of self-admitted technical debt. Lastly, although self-admitted technical debt is meant to be addressed or removed in the future, only between 26.3% - 63.5% of self-admitted technical debt gets removed from projects after introduction.
引用
收藏
页码:91 / 100
页数:10
相关论文
共 50 条
  • [1] Self-Admitted Technical Debt in R Packages: An Exploratory Study
    Vidoni, Melina
    2021 IEEE/ACM 18TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2021), 2021, : 179 - 189
  • [2] An Exploratory Study on the Occurrence of Self-Admitted Technical Debt in Android Apps
    Wilder, Gregory, II
    Miyamoto, Riley
    Watson, Samuel
    Kazman, Rick
    Peruma, Anthony
    2023 ACM/IEEE INTERNATIONAL CONFERENCE ON TECHNICAL DEBT, TECHDEBT, 2023, : 1 - 10
  • [3] Self-Admitted Technical Debt in the Embedded Systems Industry: An Exploratory Case Study
    Li, Yikun
    Soliman, Mohamed
    Avgeriou, Paris
    Somers, Lou
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2023, 49 (04) : 2545 - 2565
  • [4] A survey of self-admitted technical debt
    Sierra, Giancarlo
    Shihab, Emad
    Kamei, Yasutaka
    JOURNAL OF SYSTEMS AND SOFTWARE, 2019, 152 : 70 - 82
  • [5] An empirical study on self-admitted technical debt in Dockerfiles
    Azuma, Hideaki
    Matsumoto, Shinsuke
    Kamei, Yasutaka
    Kusumoto, Shinji
    EMPIRICAL SOFTWARE ENGINEERING, 2022, 27 (02)
  • [6] An Empirical Study On the Removal of Self-Admitted Technical Debt
    Maldonado, Everton da S.
    Abdalkareem, Rabe
    Shihab, Emad
    Serebrenik, Alexander
    2017 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2017, : 238 - 248
  • [7] An empirical study on self-admitted technical debt in Dockerfiles
    Hideaki Azuma
    Shinsuke Matsumoto
    Yasutaka Kamei
    Shinji Kusumoto
    Empirical Software Engineering, 2022, 27
  • [8] Self-Admitted Technical Debt in Ethereum Smart Contracts: A Large-Scale Exploratory Study
    Ebrahimi, Amir Mohammad
    Oliva, Gustavo A.
    Hassan, Ahmed E.
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2023, 49 (09) : 4304 - 4323
  • [9] Self-Admitted Technical Debt and comments’ polarity: an empirical study
    Nathan Cassee
    Fiorella Zampetti
    Nicole Novielli
    Alexander Serebrenik
    Massimiliano Di Penta
    Empirical Software Engineering, 2022, 27
  • [10] Self-Admitted Technical Debt and comments' polarity: an empirical study
    Cassee, Nathan
    Zampetti, Fiorella
    Novielli, Nicole
    Serebrenik, Alexander
    Di Penta, Massimiliano
    EMPIRICAL SOFTWARE ENGINEERING, 2022, 27 (06)