Taxonomy of Real Faults in Deep Learning Systems
Nargiz Humbatova, Gunel Jahangirova, Gabriele Bavota, Vincenzo Riccio,, Andrea Stocco, Paolo Tonella

TL;DR
This paper presents a comprehensive taxonomy of faults in deep learning systems, based on analysis of artifacts, community reports, and expert interviews, to better understand and address failures in safety-critical applications.
Contribution
It introduces a large, validated taxonomy of faults in deep learning systems, combining empirical data and expert insights to aid fault diagnosis and prevention.
Findings
Most fault categories were experienced by over 50% of surveyed developers.
The taxonomy covers 15 fault categories with 13 experienced by the majority.
Analysis of 1059 artifacts and expert input enriched the fault classification.
Abstract
The growing application of deep neural networks in safety-critical domains makes the analysis of faults that occur in such systems of enormous importance. In this paper we introduce a large taxonomy of faults in deep learning (DL) systems. We have manually analysed 1059 artefacts gathered from GitHub commits and issues of projects that use the most popular DL frameworks (TensorFlow, Keras and PyTorch) and from related Stack Overflow posts. Structured interviews with 20 researchers and practitioners describing the problems they have encountered in their experience have enriched our taxonomy with a variety of additional faults that did not emerge from the other two sources. Our final taxonomy was validated with a survey involving an additional set of 21 developers, confirming that almost all fault categories (13/15) were experienced by at least 50% of the survey participants.
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware System Performance and Reliability · Software Engineering Research · Software Testing and Debugging Techniques
