"Project smells" -- Experiences in Analysing the Software Quality of ML Projects with mllint
Bart van Oort, Lu\'is Cruz, Babak Loni, Arie van Deursen

TL;DR
This paper introduces the concept of project smells to assess software quality in ML projects, presents the mllint static analysis tool, and evaluates their effectiveness and relevance in an industrial setting.
Contribution
It proposes the novel concept of project smells for holistic ML project quality assessment and develops the open-source mllint tool for static analysis of these issues.
Findings
Project smells are perceived as important for ML project quality.
Context-aware static analysis tools are preferred by practitioners.
Minimal configuration is essential for practical adoption of mllint.
Abstract
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…
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 Engineering Research · Big Data and Business Intelligence · Software Engineering Techniques and Practices
