## 4 Experiment Result
### Discussion  
The influence of the complexity of the program on the FLFR. We found that the complexity of the program plays an important role. In the experiment, we use the TCAS dataset, because the TCAS dataset only has 173 lines of code, the complexity of the program is low, even if more test cases are generated, and the spectrum coverage ratio of the program line will not change, resulting in the generation of test cases that will not affect the fault location effect. For programs with high program complexity, FLFR improves the quality of test case generation by simulating population evolution, improves the individual selection strategy, and makes the generated test cases more suitable for improving the fault location effect through multiple iterations of test case generation and software fault location results. These have also been verified experimentally.  
The influence of error type on the FLFR. We also found that FLFR has better fault localization performance with two error types, which are expression statement modification and control condition modification. We analyze the types of faults from the source code and divide the fault types into three categories: missing expression statements, expression statement modification, and control condition modification. The performance of FLFR in these three types of errors is not completely consistent, for example, for the expression statement modification and control condition modification, the positioning effect of FLFR is significantly improved among the 13 fault location methods.  
However, for the missing types of expression statements, the positioning effect of FLFR is only significantly improved in the three fault location methods. We analyze the reasons for this, and for the faults of the missing type of expression statements, even if more test cases are generated, the missing fault statements will not be covered, so the fault location effect of the iteration is not greatly improved. For the other two fault types, because more relevant test cases are generated, the positioning effect of multiple fault location methods is better.  
The effect of the improvement of the fitness function of the genetic algorithm on FLFR. The efficiency of FLFR depends on the test case generation of the genetic algorithm, so we experimented with whether the improvement of the fitness function of the genetic algorithm had an impact on the fault localization effect. The experimental results show that when the fitness function is adjusted, more test cases covering the suspicious fault lines can be generated, and the fault location effect of FLFR will be better. If there are no more test cases covering suspicious fault lines during the adaptation function adjustment, the fault location effect of FLFR may not be obvious. Therefore, the improvement of the fitness function of the genetic algorithm needs to be closely used with the corresponding coverage criterion, so that FLFR can achieve better results.  
Disadvantage and advantage of the FLFR. One disadvantage of FLFR is that it can be time-consuming and require significant manual effort, particularly if the system is large and complex. Additionally, the effectiveness of this approach depends heavily on the quality and accuracy of the feedback data being collected, which can sometimes be difficult to obtain or interpret correctly.  
However, FLFR allows developers to quickly identify and isolate problems within the system, often resulting in faster resolution times than traditional methods. Additionally, because this approach relies on actual usage data rather than guesswork or speculation, it can often provide more accurate information about where the fault lies within the codebase.