Optimizing Test Data Generation Using Si Cnnpro-Enhanced Mga for Mutation Testing
24 Pages Posted: 3 Jan 2025
Abstract
Detecting potential faults in complex and large programs is a demanding task. Mutation testing can be used to address this difficulty by deliberately introducing faults into a program's code. While evolutionary algorithms offer the advantages in terms of test data generation efficiency for mutation testing, their effectiveness is often limited by the high cost of program execution and the difficulty in detecting stubborn faults. To address these problems, we group mutant branches (faults) into paths based on graph theory, aiming to minimize the generated path set. This reduction in path set size results in a smaller test data set, ultimately reducing both test time and resource consumption. To enhance the performance of evolutionary algorithms in covering the generated paths, CNNpro is developed based on a Convolutional Neural Network (CNN), integrating an auxiliary feature and optimizing the sample set. This is further improved into a Sequential Incremental Convolutional Neural Network (SI_CNNpro) by incrementally updating the training set. Furthermore, the integration of SI_CNNpro with MGA (SI_CNNpro_MGA) enhances test data generation for mutation testing. Experimental results on nine programs with diverse functions and architectures demonstrate that the proposed method generates smaller path sets, significantly improves the efficiency of test data generation, and enhances the quality of the generated test data for fault detection.
Keywords: Convolutional Neural Network (CNN), software testing, Multi-population Genetic Algorithm (MGA), test data generation, path coverage testing.
Suggested Citation: Suggested Citation