VecSeeds: Generate fuzzing testcases from latent vectors based on VAE-GAN
Xin Sun, Wen Wang, Xujian Liu, Jiarong Fan, Zeru Li, Yubo Song, Zhongyuan Qin · 2022
In fuzzing, the generative adversarial network learns from the training set and generates test-cases with similar formats, so as to provide inputs conforming to the input format for programs tested. However, problems of the unstable training process, single generation method, and monotonic sample types generated exist in general generative adversarial networks. This paper proposes a fuzzing input generation technique based on VAE-GAN, which introduces the representation learning process of variational auto-encoder for traditional generative adversarial networks, so that it can learn and utilize the character information of testcases, improving the stability of training and generate various testcases. It is shown that testcases generated by VAE-GAN trigger more unique tuples than other existing generative adversarial networks on 3 among 4 selected target programs. Moreover, compared with the AFL mutation training set, testcases generated by VAE-GAN can improve code coverage by up to 11.87%, and the discovery rate of 15.74% and 5.36% in the unique crashes and hangs respectively.