Machine Learning for Software Engineering: A Systematic Mapping

05/27/2020
by   Saad Shafiq, et al.
0

Context: The software development industry is rapidly adopting machine learning for transitioning modern day software systems towards highly intelligent and self-learning systems. However, the full potential of machine learning for improving the software engineering life cycle itself is yet to be discovered, i.e., up to what extent machine learning can help reducing the effort/complexity of software engineering and improving the quality of resulting software systems. To date, no comprehensive study exists that explores the current state-of-the-art on the adoption of machine learning across software engineering life cycle stages. Objective: This article addresses the aforementioned problem and aims to present a state-of-the-art on the growing number of uses of machine learning in software engineering. Method: We conduct a systematic mapping study on applications of machine learning to software engineering following the standard guidelines and principles of empirical software engineering. Results: This study introduces a machine learning for software engineering (MLSE) taxonomy classifying the state-of-the-art machine learning techniques according to their applicability to various software engineering life cycle stages. Overall, 227 articles were rigorously selected and analyzed as a result of this study. Conclusion: From the selected articles, we explore a variety of aspects that should be helpful to academics and practitioners alike in understanding the potential of adopting machine learning techniques during software engineering projects.

READ FULL TEXT

page 10

page 11

research
07/02/2022

Software Engineering Process and Methodology in Blockchain-Oriented Software Development: A Systematic Study

Software Engineering is the process of a systematic, disciplined, quanti...
research
06/11/2014

A Hitchhiker's Guide to Search-Based Software Engineering for Software Product Lines

Search Based Software Engineering (SBSE) is an emerging discipline that ...
research
04/25/2022

Sustainability in Software Architecture: A Systematic Mapping Study

Sustainability is an increasingly-studied topic in software engineering ...
research
08/10/2023

Using Machine Learning To Identify Software Weaknesses From Software Requirement Specifications

Secure software engineering is crucial but can be time-consuming; theref...
research
07/02/2021

An Experience Report on Machine Learning Reproducibility: Guidance for Practitioners and TensorFlow Model Garden Contributors

Machine learning techniques are becoming a fundamental tool for scientif...
research
12/01/2018

Fuzzing: Art, Science, and Engineering

Among the many software vulnerability discovery techniques available tod...
research
06/27/2023

The Perspective of Software Professionals on Algorithmic Racism

Context. Algorithmic racism is the term used to describe the behavior of...

Please sign up or login with your details

Forgot password? Click here to reset