2021 IEEE/ACM 1st Workshop on AI Engineering - Software Engineering for AI (WAIN) 2021
DOI: 10.1109/wain52551.2021.00011
|View full text |Cite
|
Sign up to set email alerts
|

The Prevalence of Code Smells in Machine Learning projects

Abstract: Artificial Intelligence (AI) and Machine Learning (ML) are pervasive in the current computer science landscape. Yet, there still exists a lack of software engineering experience and best practices in this field. One such best practice, static code analysis, can be used to find code smells, i.e., (potential) defects in the source code, refactoring opportunities, and violations of common coding standards. Our research set out to discover the most prevalent code smells in ML projects. We gathered a dataset of 74 … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
10
0

Year Published

2022
2022
2023
2023

Publication Types

Select...
5
1

Relationship

2
4

Authors

Journals

citations
Cited by 21 publications
(13 citation statements)
references
References 13 publications
0
10
0
Order By: Relevance
“…Dependency Management Dependency management was done well in two projects, in one project not at all and in other projects with a combination of requirements.txt and setup.py, of which mllint doesn't recognise whether it is used in an effective, maintainable and reproducible way. Manual inspection showed that these projects do groom their requirements.txt files, there was no evidence of direct pip freeze usage as was prevalent in [22] and some of these projects were neatly separating their runtime dependencies from development dependencies. However, there were also two projects that duplicated the contents of their requirements.txt in their setup.py.…”
Section: Resultsmentioning
confidence: 99%
See 4 more Smart Citations
“…Dependency Management Dependency management was done well in two projects, in one project not at all and in other projects with a combination of requirements.txt and setup.py, of which mllint doesn't recognise whether it is used in an effective, maintainable and reproducible way. Manual inspection showed that these projects do groom their requirements.txt files, there was no evidence of direct pip freeze usage as was prevalent in [22] and some of these projects were neatly separating their runtime dependencies from development dependencies. However, there were also two projects that duplicated the contents of their requirements.txt in their setup.py.…”
Section: Resultsmentioning
confidence: 99%
“…Dependency Management This category entails checking whether the project manages its code dependencies (e.g. used libraries) in a reproducible and maintainable manner, to mitigate the dependency management issues found in [22]. Continuous Integration The rule in this category checks whether the project has a CI configuration file.…”
Section: Methodsmentioning
confidence: 99%
See 3 more Smart Citations