A Taxonomy of Self-Admitted Technical Debt in Deep Learning Systems
Federica Pepe, Fiorella Zampetti, Antonio Mastropaolo, Gabriele, Bavota, Massimiliano Di Penta

TL;DR
This paper presents a taxonomy of self-admitted technical debt in deep learning systems, highlighting its categories, characteristics, and the inadequacy of current static analysis tools in addressing it.
Contribution
It introduces a novel taxonomy of DL-specific SATD based on empirical analysis of open-source projects, revealing unique categories and the need for specialized support tools.
Findings
DL-specific SATD often relates to suboptimal choices, not bugs.
Current static analysis tools are ineffective for DL SATD.
A taxonomy with 7 categories and 41 subcategories was developed.
Abstract
The development of Machine Learning (ML)- and, more recently, of Deep Learning (DL)-intensive systems requires suitable choices, e.g., in terms of technology, algorithms, and hyper-parameters. Such choices depend on developers' experience, as well as on proper experimentation. Due to limited time availability, developers may adopt suboptimal, sometimes temporary choices, leading to a technical debt (TD) specifically related to the ML code. This paper empirically analyzes the presence of Self-Admitted Technical Debt (SATD) in DL systems. After selecting 100 open-source Python projects using popular DL frameworks, we identified SATD from their source comments and created a stratified sample of 443 SATD to analyze manually. We derived a taxonomy of DL-specific SATD through open coding, featuring seven categories and 41 leaves. The identified SATD categories pertain to different aspects of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvancements in Semiconductor Devices and Circuit Design
