一句话:挖掘 68,820 条 ML 项目自认技术债并建立分类体系,揭示其类型、阶段分布与移除特征。
针对 ML 软件中技术债与传统软件是否相同、有哪些 ML 特有类型、出现在 ML 流水线哪些阶段、在工具与应用及移除上有何差异等问题,本文从 2,641 个 GitHub 流行 ML 仓库的全部修订中挖掘 68,820 条自认技术债(SATD),并记录其引入与移除。作者采用开放编码并借鉴已有工作,建立了 ML SATD 的综合分类体系,进而分析类型组织、在 ML 软件各阶段中的频率、ML 工具与应用之间的差异,并量化这些技术债的移除情况。研究给出了 ML 特有技术债的实证概貌,为 ML 开发者和研究者构建可维护的 ML 系统提供了启示。
In software development, the term “technical debt” (TD) is used to characterize short-term solutions and workarounds implemented in source code which may incur a long-term cost. Technical debt has a variety of forms and can thus affect multiple qualities of software including but not limited to its legibility, performance, and structure. In this paper, we have conducted a comprehensive study on the technical debts in machine learning (ML) based software. TD can appear differently in ML software by infecting the data that ML models are trained on, thus affecting the functional behavior of ML systems. The growing inclusion of ML components in modern software systems have introduced a new set of TDs. Does ML software have similar TDs to traditional software? If not, what are the new types of ML specific TDs? Which ML pipeline stages do these debts appear? Do these debts differ in ML tools and applications and when they get removed? Currently, we do not know the state of the ML TDs in the wild. To address these questions, we mined 68,820 self-admitted technical debts (SATD) from all the revisions of a curated dataset consisting of 2,641 popular ML repositories from GitHub, along with their introduction and removal. By applying an open-coding scheme and following upon prior works, we provide a comprehensive taxonomy of ML SATDs. Our study analyzes ML SATD type organizations, their frequencies within stages of ML software, the differences between ML SATDs in applications and tools, and quantifies the removal of ML SATDs. The findings discovered suggest implications for ML developers and researchers to create maintainable ML systems.
@inproceedings{paperbot7020,
title = {23 shades of self-admitted technical debt: an empirical study on machine learning software},
author = {David OBrien and Sumon Biswas and Sayem Imtiaz and Rabe Abdalkareem and Emad Shihab and Hridesh Rajan},
booktitle = {FSE},
year = {2022},
doi = {10.1145/3540250.3549088}
}