Title
Machine Learning Applied to Software Testing: A Systematic Mapping Study
Abstract
Software testing involves probing into the behavior of software systems to uncover faults. Most testing activities are complex and costly, so a practical strategy that has been adopted to circumvent these issues is to automate software testing. There has been a growing interest in applying machine learning (ML) to automate various software engineering activities, including testing-related ones. In this paper, we set out to review the state-of-the art of how ML has been explored to automate and streamline software testing and provide an overview of the research at the intersection of these two fields by conducting a systematic mapping study. We selected 48 primary studies. These selected studies were then categorized according to study type, testing activity, and ML algorithm employed to automate the testing activity. The results highlight the most widely used ML algorithms and identify several avenues for future research. We found that ML algorithms have been used mainly for test-case generation, refinement, and evaluation. Also, ML has been used to evaluate test oracle construction and to predict the cost of testing-related activities. The results of this paper outline the ML algorithms that are most commonly used to automate software-testing activities, helping researchers to understand the current state of research concerning ML applied to software testing. We also found that there is a need for better empirical studies examining how ML algorithms have been used to automate software-testing activities.
Year
DOI
Venue
2019
10.1109/tr.2019.2892517
IEEE Transactions on Reliability
Keywords
Field
DocType
Software testing,Software systems,Systematics,Software engineering,Software algorithms
Systematic mapping,Oracle,Software system,Artificial intelligence,Study Type,Empirical research,Mathematics,Machine learning,Software testing
Journal
Volume
Issue
ISSN
68
3
0018-9529
Citations 
PageRank 
References 
6
0.46
0
Authors
7