What are the Machine Learning best practices reported by practitioners on Stack Exchange?
Not on the map. Why?
Abstract (arXiv)
Machine Learning (ML) is being used in multiple disciplines due to its powerful capability to infer relationships within data. In particular, Software Engineering (SE) is one of those disciplines in which ML has been used for multiple tasks, like software categorization, bugs prediction, and testing. In addition to the multiple ML applications, some studies have been conducted to detect and understand possible pitfalls and issues when using ML. However, to the best of our knowledge, only a few studies have focused on presenting ML best practices or guidelines for the application of ML in different domains. In addition, the practices and literature presented in previous literature (i) are domain-specific (e.g., concrete practices in biomechanics), (ii) describe few practices, or (iii) the practices lack rigorous validation and are presented in gray literature. In this paper, we present a study listing 127 ML best practices systematically mining 242 posts of 14 different Stack Exchange (STE) websites and validated by four independent ML experts. The list of practices is presented in a set of categories related to different stages of the implementation process of an ML-enabled system; for each practice, we include explanations and examples. In all the practices, the provided examples focus on SE tasks. We expect this list of practices could help practitioners to understand better the practices and use ML in a more informed way, in particular newcomers to this new area that sits at the intersection of software engineering and machine learning.
Key facts. Cited by 3 papers in the map (data through 7 Oct 2026). Builds on 25 of its 76 references that are in the map. First posted on arXiv 25 Jan 2023.
Builds on
25 of 76 references.
References · 25
- 2019PyTorch: An Imperative Style, High-Performance Deep Learning Librarycited by 20,160
- 2019SuperGLUE: A Stickier Benchmark for General-Purpose Language Understanding Systemscited by 1,718
- 2021Unified Pre-training for Program Understanding and Generationcited by 361
- 2014Caffe: Convolutional Architecture for Fast Feature Embeddingcited by 287
- 2020Unsupervised Translation of Programming Languagescited by 262
- 2018Improving Automatic Source Code Summarization via Deep Reinforcement Learningcited by 99
- 2021Bias in Machine Learning Software: Why? How? What to do?cited by 92
- 2016A Convolutional Attention Network for Extreme Summarization of Source Codecited by 90
- 2020Code Prediction by Feeding Trees to Transformerscited by 70
- 2018DeepBugs: A Learning Approach to Name-based Bug Detectioncited by 65
- 2015MLlib: Machine Learning in Apache Sparkcited by 55
- 2019Pythia: AI-assisted Code Completion Systemcited by 54
13 more
- 2019On Learning Meaningful Code Changes via Neural Machine Translationcited by 50
- 2020A Systematic Literature Review on the Use of Deep Learning in Software Engineering Researchcited by 35
- 2021How to avoid machine learning pitfalls: a guide for academic researcherscited by 34
- 2020Adoption and Effects of Software Engineering Best Practices in Machine Learningcited by 33
- 2021Characterizing and Detecting Mismatch in Machine-Learning-Enabled Systemscited by 19
- 2020Pitfalls in Machine Learning Research: Reexamining the Development Cyclecited by 17
- 2019What Do Developers Ask About ML Libraries? A Large-scale Study Using Stack Overflowcited by 13
- 2020Empirical Study of Transformers for Source Codecited by 13
- 2020Deep Learning & Software Engineering: State of Research and Future Directionscited by 9
- 2020Documentation of Machine Learning Softwarecited by 8
- 2022Software Fairness: An Analysis and Surveycited by 8
- 2021Shallow or Deep? An Empirical Study on Detecting Vulnerabilities using Deep Learningcited by 7
- 2021Machine Learning for Financial Forecasting, Planning and Analysis: Recent Developments and Pitfallscited by 5
Built on by
Citing papers per year: 2023: 1; 2024: 2.
3 papers.