Quantifying and characterizing clones of self-admitted technical debt in build systems

被引:0
|
作者
Tao Xiao
Zhili Zeng
Dong Wang
Hideaki Hata
Shane McIntosh
Kenichi Matsumoto
机构
[1] Nara Institute of Science and Technology,College of Intelligence and Computing
[2] University of Waterloo,undefined
[3] Tianjin University,undefined
[4] Shinshu University,undefined
来源
关键词
Self-admitted technical debt; Build system; Build maintenance;
D O I
暂无
中图分类号
学科分类号
摘要
Self-Admitted Technical Debt (SATD) annotates development decisions that intentionally exchange long-term software artifact quality for short-term goals. Recent work explores the existence of SATD clones (duplicate or near duplicate SATD comments) in source code. Cloning of SATD in build systems (e.g., CMake and Maven) may propagate suboptimal design choices, threatening qualities of the build system that stakeholders rely upon (e.g., maintainability, reliability, repeatability). Hence, we conduct a large-scale study on 50,608 SATD comments extracted from Autotools, CMake, Maven, and Ant build systems to investigate the prevalence of SATD clones and to characterize their incidences. We observe that: (i) prior work suggests that 41–65% of SATD comments in source code are clones, but in our studied build system context, the rates range from 62% to 95%, suggesting that SATD clones are a more prevalent phenomenon in build systems than in source code; (ii) statements surrounding SATD clones are highly similar, with 76% of occurrences having similarity scores greater than 0.8; (iii) a quarter of SATD clones are introduced by the author of the original SATD statements; and (iv) among the most commonly cloned SATD comments, external factors (e.g., platform and tool configuration) are the most frequent locations, limitations in tools and libraries are the most frequent causes, and developers often copy SATD comments that describe issues to be fixed later. Our work presents the first step toward systematically understanding SATD clones in build systems and opens up avenues for future work, such as distinguishing different SATD clone behavior, as well as designing an automated recommendation system for repaying SATD effectively based on resolved clones.
引用
收藏
相关论文
共 50 条
  • [1] Quantifying and characterizing clones of self-admitted technical debt in build systems
    Xiao, Tao
    Zeng, Zhili
    Wang, Dong
    Hata, Hideaki
    McIntosh, Shane
    Matsumoto, Kenichi
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2024, 29 (02)
  • [2] Characterizing and Mitigating Self-Admitted Technical Debt in Build Systems
    Xiao, Tao
    Wang, Dong
    Mcintosh, Shane
    Hata, Hideaki
    Kula, Raula Gaikovina
    Ishio, Takashi
    Matsumoto, Kenichi
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2022, 48 (10) : 4214 - 4228
  • [3] Detecting and Quantifying Different Types of Self-Admitted Technical Debt
    Maldonado, Everton da S.
    Shihab, Emad
    [J]. 2015 IEEE 7TH INTERNATIONAL WORKSHOP ON MANAGING TECHNICAL DEBT (MTD) PROCEEDINGS, 2015, : 9 - 15
  • [4] A survey of self-admitted technical debt
    Sierra, Giancarlo
    Shihab, Emad
    Kamei, Yasutaka
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2019, 152 : 70 - 82
  • [5] An Exploratory Study on Self-Admitted Technical Debt
    Potdar, Aniket
    Shihab, Emad
    [J]. 2014 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2014, : 91 - 100
  • [6] On the documentation of self-admitted technical debt in issues
    Xavier, Laerte
    Montandon, Joao Eduardo
    Ferreira, Fabio
    Brito, Rodrigo
    Valente, Marco Tulio
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2022, 27 (07)
  • [7] On the documentation of self-admitted technical debt in issues
    Laerte Xavier
    João Eduardo Montandon
    Fabio Ferreira
    Rodrigo Brito
    Marco Tulio Valente
    [J]. Empirical Software Engineering, 2022, 27
  • [8] Self-admitted technical debt in R: detection and causes
    Rishab Sharma
    Ramin Shahbazi
    Fatemeh H. Fard
    Zadia Codabux
    Melina Vidoni
    [J]. Automated Software Engineering, 2022, 29
  • [9] On the Relationship between Self-Admitted Technical Debt Removals and Technical Debt Measures
    Aversano, Lerina
    Iammarino, Martina
    Carapella, Mimmo
    Del Vecchio, Andrea
    Nardi, Laura
    [J]. ALGORITHMS, 2020, 13 (07)
  • [10] An empirical study on self-admitted technical debt in Dockerfiles
    Azuma, Hideaki
    Matsumoto, Shinsuke
    Kamei, Yasutaka
    Kusumoto, Shinji
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2022, 27 (02)