NFL: Neighbor-Based Fault Localization Technique
Béla Vancsics · 2019
Fault localization (FL) is a much-researched area, there are a lot of techniques that help programmers to find the location of the error (or bug) as accurately as possible. However, these automatic procedures are either quite costly or, in some cases, inaccurate. There is no general method that would be recognized as the generally accepted method of FL. The aim of our research was to create an automatic FL algorithm that helps the user with good and balanced results in effective error detection. The presented Neighbor-based FL (NFL) is a graph-based algorithm which transposes the coverage matrix into a graph and prioritizes the methods based on their connection to the passed and failed tests. It also uses this information to specify the location of the bug as precisely as possible. We did an empirical evaluation on Defects4J and 6 additional fault localization metrics were used for quantification. Thus, the results obtained were objectively judged and comparisons could be made. The results show that, on average, NFL found the location of bugs most accurately, and the results compared to other metrics proved to be satisfactory.