Engineering Proceedings (Jun 2023)
Modified Evolutionary Test Data Generation Algorithm Based on Dynamic Change in Fitness Function Weights
Abstract
In this paper, we investigate a modification of the method of data generation for multiple code paths within a single launch of the genetic algorithm. This method allows the consideration of the remoteness of paths initiated by different test cases by introducing an additional additive component into the fitness function. Previous studies have shown that the parameter defining the relationship between the different components of the fitness function has a rather strong effect on code coverage. To eliminate this effect, we propose the modification of the first component of the fitness function, which is responsible for path complexity. This modification is based on a dynamic change in code statement weights between generations to achieve greater population diversity. We propose several methods for implementing this modification, divided into two groups. In the first group, the statement weights change depending only on the fact of statement coverage in a generation, and the rate of change depends on the number of previous generations in which it was covered. In the second group, the rate of change depends on the proportion of statement coverage by the test sets in the previous generation. Each of the proposed methods is investigated to achieve complete coverage with different values of the parameter defining the ratio of the components of the fitness function. As a result, the best method is determined, which eliminates the need to determine this parameter for each testing code, thus achieving a greater universality for the algorithm.
Keywords