An exploratory study on the introduction and removal of different types of technical debt in deep learning frameworks

被引:0
|
作者
Jiakun Liu
Qiao Huang
Xin Xia
Emad Shihab
David Lo
Shanping Li
机构
[1] Zhejiang University,College of Computer Science and Technology
[2] Monash University,Faculty of Information Technology
[3] Concordia University,Department of Computer Science and Software Engineering
[4] Singapore Management University,School of Information Systems
来源
Empirical Software Engineering | 2021年 / 26卷
关键词
Self-admitted technical debt; Deep learning; Categorization; Empirical study;
D O I
暂无
中图分类号
学科分类号
摘要
To complete tasks faster, developers often have to sacrifice the quality of the software. Such compromised practice results in the increasing burden to developers in future development. The metaphor, technical debt, describes such practice. Prior research has illustrated the negative impact of technical debt, and many researchers investigated how developers deal with a certain type of technical debt. However, few studies focused on the removal of different types of technical debt in practice. To fill this gap, we use the introduction and removal of different types of self-admitted technical debt (i.e., SATD) in 7 deep learning frameworks as an example. This is because deep learning frameworks are some of the most important software systems today due to their prevalent use in life-impacting deep learning applications. Moreover, the field of the development of different deep learning frameworks is the same, which enables us to find common behaviors on the removal of different types of technical debt across projects. By mining the file history of these frameworks, we find that design debt is introduced the most along the development process. As for the removal of technical debt, we find that requirement debt is removed the most, and design debt is removed the fastest. Most of test debt, design debt, and requirement debt are removed by the developers who introduced them. Based on the introduction and removal of different types of technical debt, we discuss the evolution of the frequencies of different types of technical debt to depict the unresolved sub-optimal trade-offs or decisions that are confronted by developers along the development process. We also discuss the removal patterns of different types of technical debt, highlight future research directions, and provide recommendations for practitioners.
引用
收藏
相关论文
共 50 条
  • [21] A Study on Different Types of Convolutions in Deep Learning in the Area of Lane Detection
    Rajalakshmi, T. S.
    Senthilnathan, R.
    DISTRIBUTED COMPUTING AND OPTIMIZATION TECHNIQUES, ICDCOT 2021, 2022, 903 : 79 - 88
  • [22] Technical Debt and Waste in Non-functional Requirements Documentation: An Exploratory Study
    Robiolo, Gabriela
    Scott, Ezequiel
    Matalonga, Santiago
    Felderer, Michael
    PRODUCT-FOCUSED SOFTWARE PROCESS IMPROVEMENT, PROFES 2019, 2019, 11915 : 220 - 235
  • [23] Looking for Peace of Mind? Manage your (Technical) Debt An Exploratory Field Study
    Ghanbari, Hadi
    Besker, Terese
    Martini, Antonio
    Bosch, Jan
    11TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM 2017), 2017, : 384 - 393
  • [24] Seeking Technical Debt in Critical Software Development Projects: An Exploratory Field Study
    Ghanbari, Hadi
    PROCEEDINGS OF THE 49TH ANNUAL HAWAII INTERNATIONAL CONFERENCE ON SYSTEM SCIENCES (HICSS 2016), 2016, : 5407 - 5416
  • [25] How SonarQube-identified technical debt is prioritized: An exploratory case study
    Alfayez, Reem
    Winn, Robert
    Alwehaibi, Wesam
    Venson, Elaine
    Boehm, Barry
    INFORMATION AND SOFTWARE TECHNOLOGY, 2023, 156
  • [26] 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
  • [28] An Empirical Study of Refactorings and Technical Debt in Machine Learning Systems
    Tang, Yiming
    Khatchadourian, Raffi
    Bagherzadeh, Mehdi
    Singh, Rhia
    Stewart, Ajani
    Raja, Anita
    2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2021), 2021, : 238 - 250
  • [29] An Exploratory Study of Deep Learning Supply Chain
    Tan, Xin
    Gao, Kai
    Zhou, Minghui
    Zhang, Li
    2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2022), 2022, : 86 - 98
  • [30] Multivocal Literature Review on Non-Technical Debt in Software Development: An Exploratory Study
    Saeeda, Hina
    Ahmad, Muhammad Ovais
    Gustavsson, Tomas
    PROCEEDINGS OF THE 18TH INTERNATIONAL CONFERENCE ON EVALUATION OF NOVEL APPROACHES TO SOFTWARE ENGINEERING, ENASE 2023, 2023, : 89 - 101