Good Tools are Half the Work: Tool Usage in Deep Learning Projects
Not on the map. Why?
Abstract (arXiv)
The rising popularity of deep learning (DL) methods and techniques has invigorated interest in the topic of SE4DL (Software Engineering for Deep Learning), the application of software engineering (SE) practices on deep learning software. Despite the novel engineering challenges brought on by the data-driven and non-deterministic paradigm of DL software, little work has been invested into developing DL-targeted SE tools. On the other hand, tools tackling non-SE issues specific to DL are actively used and referred to under the umbrella term "MLOps (Machine Learning Operations) tools". Nevertheless, the available literature supports the utility of conventional SE tooling in DL software development. Building upon previous mining software repositories (MSR) research on tool usage in open-source software works, we identify conventional and MLOps tools adopted in popular applied DL projects that use Python as the main programming language. About 63% of the GitHub repositories we examined contained at least one conventional SE tool. Software construction tools are the most widely adopted, while the opposite applies to management and maintenance tools. Relatively few MLOps tools were found to be use, with only 20 tools out of a sample of 74 used in at least one repository. The majority of them were open-source rather than proprietary. One of these tools, TensorBoard, was found to be adopted in about half of the repositories in our study. Consequently, the widespread use of conventional SE tooling demonstrates its relevance to DL software. Further research is recommended on the adoption of MLOps tooling, focusing on the relevance of particular tool types, the development of required tools, as well as ways to promote the use of already available tools.
Key facts. No citing papers in the map yet (data through 7 Oct 2026). Builds on 20 of its 72 references that are in the map. First posted on arXiv 29 Oct 2023.
Builds on
20 of 72 references.
References · 20
- 2019Green AIcited by 620
- 2020Deep Learning for Financial Applications : A Surveycited by 90
- 2018TensorFuzz: Debugging Neural Networks with Coverage-Guided Fuzzingcited by 67
- 2018DeepMutation: Mutation Testing of Deep Learning Systemscited by 66
- 2018DLFuzz: Differential Fuzzing Testing of Deep Learning Systemscited by 64
- 2018Concolic Testing for Deep Neural Networkscited by 51
- 2018Software Engineering Challenges of Deep Learningcited by 41
- 2017Guidelines for including grey literature and conducting multivocal literature reviews in software engineeringcited by 38
- 2020A Software Engineering Perspective on Engineering Machine Learning Systems: State of the Art and Challengescited by 33
- 2022MLOps -- Definitions, Tools and Challengescited by 25
- 2018Deep learning in business analytics and operations research: Models, applications and managerial implicationscited by 24
- 2021The Prevalence of Code Smells in Machine Learning projectscited by 16
8 more
- 2021Adapting Software Architectures to Machine Learning Challengescited by 11
- 2020Deep Learning & Software Engineering: State of Research and Future Directionscited by 9
- 2022Machine Learning for Software Engineering: A Tertiary Studycited by 7
- 2020A Dataset for GitHub Repository Deduplication: Extended Descriptioncited by 6
- 2020Jupyter Notebooks on GitHub: Characteristics and Code Clonescited by 3
- 2022"Project smells" -- Experiences in Analysing the Software Quality of ML Projects with mllintcited by 2
- 2022A Preliminary Investigation of MLOps Practices in GitHubcited by 2
- 2023NICHE: A Curated Dataset of Engineered Machine Learning Projects in Pythoncited by 1
Built on by
Not cited yet.