SEAIJan 20, 2022

"Project smells" -- Experiences in Analysing the Software Quality of ML Projects with mllint

arXiv:2201.08246v18 citationsHas Code
Originality Incremental advance
AI Analysis

This addresses software quality issues for data scientists and organizations developing ML projects, but is incremental as it builds on existing static analysis concepts.

The paper tackles the challenge of ensuring software quality in machine learning projects by introducing 'project smells' as a holistic perspective on deficits in project management, and implements the mllint tool to detect them, finding a need for context-aware static analysis tools that require minimal user configuration.

Machine Learning (ML) projects incur novel challenges in their development and productionisation over traditional software applications, though established principles and best practices in ensuring the project's software quality still apply. While using static analysis to catch code smells has been shown to improve software quality attributes, it is only a small piece of the software quality puzzle, especially in the case of ML projects given their additional challenges and lower degree of Software Engineering (SE) experience in the data scientists that develop them. We introduce the novel concept of project smells which consider deficits in project management as a more holistic perspective on software quality in ML projects. An open-source static analysis tool mllint was also implemented to help detect and mitigate these. Our research evaluates this novel concept of project smells in the industrial context of ING, a global bank and large software- and data-intensive organisation. We also investigate the perceived importance of these project smells for proof-of-concept versus production-ready ML projects, as well as the perceived obstructions and benefits to using static analysis tools such as mllint. Our findings indicate a need for context-aware static analysis tools, that fit the needs of the project at its current stage of development, while requiring minimal configuration effort from the user.

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