SEAIMar 25, 2022

Code Smells for Machine Learning Applications

arXiv:2203.13746v242 citationsh-index: 65
Originality Synthesis-oriented
AI Analysis

This addresses the problem of maintaining high-quality code for data scientists and developers in machine learning applications, though it is incremental as it adapts existing code smell concepts to a new domain.

The paper tackles the lack of code quality guidelines in machine learning applications by proposing and identifying 22 machine learning-specific code smells, collected from sources like papers, GitHub, and Stack Overflow, with descriptions, issues, and solutions provided.

The popularity of machine learning has wildly expanded in recent years. Machine learning techniques have been heatedly studied in academia and applied in the industry to create business value. However, there is a lack of guidelines for code quality in machine learning applications. In particular, code smells have rarely been studied in this domain. Although machine learning code is usually integrated as a small part of an overarching system, it usually plays an important role in its core functionality. Hence ensuring code quality is quintessential to avoid issues in the long run. This paper proposes and identifies a list of 22 machine learning-specific code smells collected from various sources, including papers, grey literature, GitHub commits, and Stack Overflow posts. We pinpoint each smell with a description of its context, potential issues in the long run, and proposed solutions. In addition, we link them to their respective pipeline stage and the evidence from both academic and grey literature. The code smell catalog helps data scientists and developers produce and maintain high-quality machine learning application code.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes