Return
Automatic Test Case Generation Using Many-Objective Search and Principal Component Analysis
DOI:10.1109/ACCESS.2022.3198694.png)
Abstract
En 中文
Test case generation in essence is a many-objective optimization problem, with objectives such as program statements and branches. Currently, the DynaMOSA algorithm built on the EvoSuite framework simultaneously searches multiple objectives and eventually produces a test suite with high coverage for multiple testing criteria. However, its performance is undesirable in searching test cases when there are an excessive number of objectives. As the software structure becomes increasingly complex and the lines of program code increase, the high cost of testing limits the application of search-based automatic test case generation technology for software testing. To generate test cases with high coverage within a limited time, this paper proposes PCA-DynaMOSA to overcome the shortcomings of DynaMOSA, and the improvement in the proposed algorithm is due to dimensionality reduction. To carry out the experiments, 49 projects or 110 classes were selected from the SF110 benchmarking dataset according to the complexity and the number of objectives of the classes under test. The experimental results indicate that PCA-DynaMOSA outperforms DynaMOSA in generating test cases on most projects in terms of line, branch, mutation, and multi-criteria coverage. Moreover, it achieves higher or equivalent coverage and offers improved test case generation performance.
Keywords:
Search problems
Optimization
Testing
Software
Heuristic algorithms
Codes
Principal component analysis
Automatic test pattern generation
Test case generation
many-objective optimization
EvoSuite
DynaMOSA
PCA
Journal
IF:
3.6
Papers:
9.8W
Citations:
29.4W

