arrow
Return

Automated Software Test Data Generation With Generative Adversarial Networks

delete2022-01-01
delete8
delete
OA
AI
X
Xiujing Guo *
H
Hiroyuki Okamura
T
Tadashi Dohi
DOI:10.1109/ACCESS.2022.3153347delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
With the rapid increase of software scale and complexity, the cost of traditional software testing methods will increase faster than the scale of software. In order to improve test efficiency, it is particularly important to automatically generate high-quality test cases. This paper introduces a framework for automatic test data generation based on the generative adversarial network (GAN). GAN is employed to train a generative model over execution path information to learn the behavior of the software. Then we can use the trained generative model to produce new test data, and select the test data that can improve the branch coverage according to our proposed selection strategy. Compared to prior work, our proposed method is able to handle programs under test with large-scale branches without analyzing branch expressions. In the experiment, we exhibit the performance of our method by using two modules in GNU Scientific Library. In particular, we consider the application of our method in two testing scenarios; unit testing and integration testing, and conduct a series of experiments to compare the performance of three types of GAN models. Results indicate that the WGAN-GP shows the best performance in our framework. Compared with the random testing method, the WGAN-GP based framework improves the test coverage of five functions out of the seven in the unit testing.
Keywords:
Generative adversarial networks
Generators
Software
Codes
Training data
Fuzzing
Artificial neural networks
Software testing
test case generation
test input
execution path
GAN

Journal

IEEE Access cover
IEEE Access
IF:
3.6
Papers:
9.8W
Citations:
29.4W

Organization

H
Hiroshima University
Scholars:
2.1W
Papers: 1.5W
Citations: 1.3W