# Fault Localization Using TrustRank Algorithm
## 3 Proposed Approach
### Data Pre-Processing
#### 3.1.1 Program Fault Localization Using Traditional SBFL Techniques
From Figure 7, it can be clearly observed how the decay factor in the algorithm affects the EXAM scores. The influencing factors \(\gamma\) and \(\delta\) in Bi-TRFL are mutually constrained (when \(\gamma=0.1\), \(\delta=0.9\)), but their sum remains constant, so only changes in \(\gamma\) are considered. The experimental results show that when the decay factor of the algorithm changes, the TrustRank algorithm performance changes within 4%. However, in the TrustRank algorithm, a high value for the decay factor can lower the EXAM scores. In contrast, the Bi-TRFL comprehensively considers bidirectional influences between the nodes, and any impact on the EXAM scores due to high decay factors can be ignored. Figure 5: The EXAM\({}_{\text{best}}\) (a) and EXAM\({}_{\text{worst}}\) (b) of the TRFL. Figure 6: The EXAM\({}_{\text{best}}\) (a) and EXAM\({}_{\text{worst}}\) (b) of the Bi-TRFL. ## 6 Limitations and Future Work

In the current research on software fault localization, the research method proposed in this paper has shifted from a single coverage analysis to a more complex analysis of the interaction between the program entities, but there are still some obvious limitations. First, the mining of the program's internal information is not limited to the data dependencies but also includes multiple analyzable points such as node weight assignment methods and link relationship weight assignment in the construction of the program execution networks. However, these points are often difficult to grasp accurately in practical applications, affecting the accuracy of fault localization. Secondly, this study is limited by the analysis tools and can only be conducted when the object under test is in Java language. This undoubtedly limits the wide application of software fault localization techniques. In addition, the TrustRank algorithm used in this paper adopts a division method based on suspicion values when selecting the seed sets. Although it is representative, it cannot be ruled out that other division methods may change the performance of the TrustRank algorithm. In response to these limitations, future work directions can include the following: First, developing error localization tools that support multiple programming languages. Due to the diversity of programming languages, developing an error localization tool that can adapt to various programming language environments will have a wide application prospect. Second, more network construction methods and network centrality analysis algorithms can be explored. As research on software fault localization techniques shifts toward complex network structures, this will become a future research hotspot. Finally, for the TrustRank algorithm, different seed set selections and division methods can be tried to improve its performance. Overall, with current enthusiasm for software fault localization research and numerous related papers being published, it is expected that more researchers will focus on finding fault localization problems and providing specific solutions in the future. ## 7 Conclusions

Fault localization is an important and complex task in software debugging, especially manual debugging, which not only troubles researchers but also consumes a lot of funds. Spectrum-based fault localization (SBFL) is a widely researched technique that helps researchers locate faults by analyzing program coverage. However, this method overlooks the interaction between software entities and the data flow, resulting in a large amount of duplication in the suspicion obtained from the analysis. To solve this problem, this paper proposes a novel method. First, the data dependencies of test cases on the program under test during runtime are transformed into a program execution network. Then, the TrustRank algorithm is used to analyze the centrality of the execution network and reflect the distribution of suspicion among program elements. To further improve algorithm efficiency, the TrustRank algorithm is optimized and extended to obtain a Bi-directional TrustRank algorithm.