Synergy between Machine/Deep Learning and Software Engineering: How Far Are We?

08/12/2020
by   Simin Wang, et al.
0

Since 2009, the deep learning revolution, which was triggered by the introduction of ImageNet, has stimulated the synergy between Machine Learning (ML)/Deep Learning (DL) and Software Engineering (SE). Meanwhile, critical reviews have emerged that suggest that ML/DL should be used cautiously. To improve the quality (especially the applicability and generalizability) of ML/DL-related SE studies, and to stimulate and enhance future collaborations between SE/AI researchers and industry practitioners, we conducted a 10-year Systematic Literature Review (SLR) on 906 ML/DL-related SE papers published between 2009 and 2018. Our trend analysis demonstrated the mutual impacts that ML/DL and SE have had on each other. At the same time, however, we also observed a paucity of replicable and reproducible ML/DL-related SE studies and identified five factors that influence their replicability and reproducibility. To improve the applicability and generalizability of research results, we analyzed what ingredients in a study would facilitate an understanding of why a ML/DL technique was selected for a specific SE problem. In addition, we identified the unique trends of impacts of DL models on SE tasks, as well as five unique challenges that needed to be met in order to better leverage DL to improve the productivity of SE tasks. Finally, we outlined a road-map that we believe can facilitate the transfer of ML/DL-based SE research results into real-world industry practices.

READ FULL TEXT

page 8

page 11

page 12

page 13

page 14

page 18

page 23

page 24

research
09/25/2019

Software Engineering Meets Deep Learning: A Literature Review

Deep learning (DL) is being used nowadays in many traditional software e...
research
01/16/2020

Engineering AI Systems: A Research Agenda

Deploying machine-, and in particular deep-learning, (ML/DL) solutions i...
research
10/15/2022

Providing Error Detection for Deep Learning Image Classifiers Using Self-Explainability

This paper proposes a self-explainable Deep Learning (SE-DL) system for ...
research
06/25/2020

On the Replicability and Reproducibility of Deep Learning in Software Engineering

Deep learning (DL) techniques have gained significant popularity among s...
research
02/13/2023

A Systematic Literature Review of Explainable AI for Software Engineering

Context: In recent years, leveraging machine learning (ML) techniques ha...
research
12/15/2020

Run, Forest, Run? On Randomization and Reproducibility in Predictive Software Engineering

Machine learning (ML) has been widely used in the literature to automate...
research
04/19/2022

Software Engineering Approaches for TinyML based IoT Embedded Vision: A Systematic Literature Review

Internet of Things (IoT) has catapulted human ability to control our env...

Please sign up or login with your details

Forgot password? Click here to reset