An Empirical Study of Refactorings and Technical Debt in Machine Learning Systems

被引:24
|
作者
Tang, Yiming [1 ]
Khatchadourian, Raffi [1 ,2 ]
Bagherzadeh, Mehdi [3 ]
Singh, Rhia [4 ]
Stewart, Ajani [2 ]
Raja, Anita [1 ,2 ]
机构
[1] CUNY, Grad Ctr, New York, NY 10036 USA
[2] CUNY Hunter Coll, New York, NY 10021 USA
[3] Oakland Univ, Rochester, MI 48063 USA
[4] CUNY, Macaulay Honors Coll, New York, NY USA
关键词
empirical studies; refactoring; machine learning; systems; technical debt; software repository mining; SOFTWARE;
D O I
10.1109/ICSE43902.2021.00033
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Machine Learning (ML), including Deep Learning (DL), systems, i.e., those with ML capabilities, are pervasive in today's data-driven society. Such systems are complex; they are comprised of ML models and many subsystems that support learning processes. As with other complex systems, ML systems are prone to classic technical debt issues, especially when such systems are long-lived, but they also exhibit debt specific to these systems. Unfortunately, there is a gap of knowledge in how ML systems actually evolve and are maintained. In this paper, we fill this gap by studying refactorings, i.e., source-to-source semantics-preserving program transformations, performed in real-world, open-source software, and the technical debt issues they alleviate. We analyzed 26 projects, consisting of 4.2 MLOC, along with 327 manually examined code patches. The results indicate that developers refactor these systems for a variety of reasons, both specific and tangential to ML, some refactorings correspond to established technical debt categories, while others do not, and code duplication is a major crosscutting theme that particularly involved ML configuration and model code, which was also the most refactored. We also introduce 14 and 7 new ML-specific refactorings and technical debt categories, respectively, and put forth several recommendations, best practices, and anti-patterns. The results can potentially assist practitioners, tool developers, and educators in facilitating long-term ML system usefulness.
引用
收藏
页码:238 / 250
页数:13
相关论文
共 50 条
  • [31] How do software development teams manage technical debt? - An empirical study
    Yli-Huumo, Jesse
    Maglyas, Andrey
    Smolander, Kari
    JOURNAL OF SYSTEMS AND SOFTWARE, 2016, 120 : 195 - 218
  • [32] An empirical study on self-admitted technical debt in modern code review
    Kashiwa, Yutaro
    Nishikawa, Ryoma
    Kamei, Yasutaka
    Kondo, Masanari
    Shihab, Emad
    Sato, Ryosuke
    Ubayashi, Naoyasu
    INFORMATION AND SOFTWARE TECHNOLOGY, 2022, 146
  • [33] A Large-Scale Empirical Study on Self-Admitted Technical Debt
    Bavota, Gabriele
    Russo, Barbara
    13TH WORKING CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2016), 2016, : 315 - 326
  • [34] Evaluating the agreement among technical debt measurement tools: building an empirical benchmark of technical debt liabilities
    Theodoros Amanatidis
    Nikolaos Mittas
    Athanasia Moschou
    Alexander Chatzigeorgiou
    Apostolos Ampatzoglou
    Lefteris Angelis
    Empirical Software Engineering, 2020, 25 : 4161 - 4204
  • [35] On the fault proneness of sonarqube technical debt violations: A comparison of eight machine learning techniques
    Lenarduzzi, Valentina
    Lomio, Francesco
    Taibi, Davide
    Huttunen, Heikki
    arXiv, 2019,
  • [36] Evaluating the agreement among technical debt measurement tools: building an empirical benchmark of technical debt liabilities
    Amanatidis, Theodoros
    Mittas, Nikolaos
    Moschou, Athanasia
    Chatzigeorgiou, Alexander
    Ampatzoglou, Apostolos
    Angelis, Lefteris
    EMPIRICAL SOFTWARE ENGINEERING, 2020, 25 (05) : 4161 - 4204
  • [37] An Empirical Analysis of Backward Compatibility in Machine Learning Systems
    Srivastava, Megha
    Nushi, Besmira
    Kamar, Ece
    Shah, Shital
    Horvitz, Eric
    KDD '20: PROCEEDINGS OF THE 26TH ACM SIGKDD INTERNATIONAL CONFERENCE ON KNOWLEDGE DISCOVERY & DATA MINING, 2020, : 3272 - 3280
  • [38] Machine learning model with technical analysis for stock price prediction: Empirical study of Semiconductor Company in Taiwan
    Lan, Po-Chao
    Kung, Wei-Ling
    Ou, Yao-Lun
    Lin, Chun-Yueh
    Hu, Wen-Cheng
    Wang, Yi-Hsien
    2019 INTERNATIONAL SYMPOSIUM ON INTELLIGENT SIGNAL PROCESSING AND COMMUNICATION SYSTEMS (ISPACS), 2019,
  • [39] Deep Learning-Based Self-Admitted Technical Debt Detection Empirical Research
    Qu, Yubin
    Bao, Tie
    Yuan, Meng
    Li, Long
    JOURNAL OF INTERNET TECHNOLOGY, 2023, 24 (04): : 975 - 987
  • [40] Technical debt in the engineering of complex systems
    Yang, Ye
    Verma, Dinesh
    Anton, Philip S.
    SYSTEMS ENGINEERING, 2023, 26 (05) : 590 - 603