Machine Learning and value generation in Software Development: a survey
It provides a starting point for practitioners to integrate ML into software development, though it highlights incremental insights and limitations in the field.
This survey reviews literature from 2000 to 2019 on machine learning applications in software development, such as effort estimation and defect detection, finding that despite promising results, many studies yield vague outcomes due to limited datasets.
Machine Learning (ML) has become a ubiquitous tool for predicting and classifying data and has found application in several problem domains, including Software Development (SD). This paper reviews the literature between 2000 and 2019 on the use the learning models that have been employed for programming effort estimation, predicting risks and identifying and detecting defects. This work is meant to serve as a starting point for practitioners willing to add ML to their software development toolbox. It categorises recent literature and identifies trends and limitations. The survey shows as some authors have agreed that industrial applications of ML for SD have not been as popular as the reported results would suggest. The conducted investigation shows that, despite having promising findings for a variety of SD tasks, most of the studies yield vague results, in part due to the lack of comprehensive datasets in this problem domain. The paper ends with concluding remarks and suggestions for future research.