Fault Localization using Coverage and Evolution Relations (FONTE)

Wednesday 26 March 2025


When a software program fails, it can be frustrating and time-consuming to identify the root cause of the problem. This is especially true when dealing with large-scale software systems that have numerous commits and changes over time. A team of researchers has developed a new technique called FONTE that aims to streamline this process by identifying the commit or change that introduced the bug.


FONTE, which stands for Fault Localization using Coverage and Evolution Relations, uses two fundamental relationships in software: the failure-to-code relationship and the code-to-commit relationship. The former measures how well each line of code is covered by failing tests, while the latter tracks changes made to the code over time. By combining these two relationships, FONTE can pinpoint the commit or change that introduced the bug.


The researchers tested FONTE on a dataset of 206 real-world bugs from open-source Java projects and found that it significantly outperformed existing techniques in identifying the correct commit or change. In fact, FONTE was able to identify the correct commit within the top five commits for 87% of the studied cases.


FONTE works by first identifying the lines of code that are most likely to contain the bug based on their coverage by failing tests. It then uses this information to rank the commits made to those lines of code, taking into account factors such as the number and type of changes made. By combining these two pieces of information, FONTE can identify the commit or change that is most likely to have introduced the bug.


The researchers also developed a weighted bisection algorithm that uses the commit scores generated by FONTE to guide the search for the correct commit or change. This algorithm was found to significantly reduce the number of iterations required to find the correct commit, saving valuable time and resources.


One of the key advantages of FONTE is its ability to work with large-scale software systems without requiring extensive data preprocessing or manual annotation. This makes it a potentially valuable tool for developers working on complex software projects.


In addition to its technical capabilities, FONTE also has practical applications in software development. By identifying the commit or change that introduced a bug, developers can more easily reproduce and fix the issue, reducing the time and resources required to resolve the problem. This can lead to faster and more reliable software development cycles, ultimately improving the quality of the final product.


Cite this article: “Fault Localization using Coverage and Evolution Relations (FONTE)”, The Science Archive, 2025.


Software, Bugs, Debugging, Fault Localization, Commit Tracking, Code Coverage, Evolution Relations, Java, Open-Source Projects, Software Development.


Reference: Gabin An, Jinsu Choi, Jingun Hong, Naryeong Kim, Shin Yoo, “Identifying Bug Inducing Commits by Combining Fault Localisation and Code Change Histories” (2025).


Leave a Reply