Design Smells in Deep Learning Programs: An Empirical Study
Amin Nikanjam, Foutse Khomh

TL;DR
This study identifies and catalogs eight common design smells in deep learning programs, specifically in feedforward neural networks, highlighting their impact on model performance and software quality through literature review, manual inspection, and developer surveys.
Contribution
The paper introduces a novel catalog of eight design smells in deep learning programs, supported by empirical analysis and developer perceptions.
Findings
Eight design smells identified and described.
Developers perceive these smells as indicative of design issues.
Survey results show moderate agreement on the impact of these smells.
Abstract
Nowadays, we are witnessing an increasing adoption of Deep Learning (DL) based software systems in many industries. Designing a DL program requires constructing a deep neural network (DNN) and then training it on a dataset. This process requires that developers make multiple architectural (e.g., type, size, number, and order of layers) and configuration (e.g., optimizer, regularization methods, and activation functions) choices that affect the quality of the DL models, and consequently software quality. An under-specified or poorly-designed DL model may train successfully but is likely to perform poorly when deployed in production. Design smells in DL programs are poor design and-or configuration decisions taken during the development of DL components, that are likely to have a negative impact on the performance (i.e., prediction accuracy) and then quality of DL based software systems.…
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.
