## 3 Experiment Results
### Experiment Results for SUT1  
The first SUT1 was designed to test the data generation method. It contains six conditional statements and three cycles, thus allowing to define a sufficient number of different paths of the program code. Appendix A shows a CFG of this code. FOR 1 is the main cycle of the program and contains most of the statements and conditions, so many operations will be executed multiple times. Conditions IF 1, IF 2, and IF 3 are checked sequentially and require different test cases to fulfill. Condition IF 6 will only be achieved if both IF 4 and IF 5 are true and cycle WHILE 1 is completed. The code has different approaches to representing conditions, so the proposed method will generate data under different circumstances. In the course of our research, we examined two versions of GA, using the Formula (6) to calculate the fitness function for the number \(m=100\) of individuals in the population. In the first version, we assigned \(k=0\) in Formula (6). Since for this version complete code coverage was never achieved in one population with a single run of GA, each application of it was used to find one best-fit chromosome. Furthermore, the statements covered by the graph path initiated by the test case found in the previous GA launch received zero weights, and the process of searching for the next best-fit chromosome continued in a similar way. The results of computational experiments obtained with this method are presented in Table 1. A total of six experiments with different number of generations and population size were carried out, in each we received different number of test cases that completely covered all the statements of the program code. However, these solutions were not obtained in an optimal way, since we had to run the GA four times or more consecutively (single path at a time), achieving with each new test case more and more coverage. Moreover, there may be test cases that do not increase code coverage at all (such test cases are italicized in Table 1). The statement coverage indicators of the graph nodes, colored green, correspond to the newly covered nodes with the current test case. Table 2 shows the results of studying the GA work with a nonzero value \(k=10\) in the Formula (6) for the fitness function (i.e., with the presence of both terms), with different M and \(m\). In the six experiments, it only possible to achieve 100% coverage with sufficient number of \(m=M=20\). Therefore, the improvement of the form of fitness function formulation and careful selection of its parameters remains topical. \begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**M Generations** & **m Chromosomes** & **Test Suite, \(x\)** & **Coverage, \%** & **Statement Coverage Indicator \(g\)(t)** \\ \hline \multirow{8}{*}{10} & & \((6,91,20)\) & 27\% & 1111111111110000000000000000000000000000000000000000  
To study the effect of the constant \(k\) in the relation (6) to the results of GA runs, the values of the population size and the number of generations were specially selected, \(m=M=35\) for which complete 100% statement coverage of the SUT1 presented in Appendix A was achieved quite rarely. Figure 0(a) shows the average value of the achieved statement coverage for various values of \(k\) from 0 to 50, calculated from 40 GA independent runs, each time carried out with new random initial populations \(m=35\) and maximum \(M=35\) generations. Thus, we see a non-linear dependence of the average coverage on the value of \(k\), which determines the ratio between the terms \(F1\) and \(F2\) in the expression for the fitness function. First, as \(k\) grows, the statement coverage increases, reaching its maximum for \(k=10\). After that, the value of the fitness function begins to decline, as excessive attention begins to be paid to \(F2\), which is responsible for the diversity of paths in the population at the expense of the coverage for each path. It is also interesting to consider the distribution of different degrees of code coverage, as shown in Figure 0(b).