Litcius/Paper detail

Automated Software Test Data Generation With Generative Adversarial Networks

Xiujing Guo, Hiroyuki Okamura, Tadashi Dohi

2022IEEE Access33 citationsDOIOpen Access PDF

Abstract

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.

Topics & Concepts

Computer scienceUnit testingGenerative grammarSoftwareTest caseData miningTest dataMachine learningScale (ratio)Artificial intelligenceSoftware engineeringProgramming languageQuantum mechanicsRegression analysisPhysicsSoftware Testing and Debugging TechniquesSoftware Engineering ResearchAdvanced Malware Detection Techniques
Automated Software Test Data Generation With Generative Adversarial Networks | Litcius