Call Frequency-Based Fault Localization
Béla Vancsics, Ferenc Horváth, Attila
Szatmári and Árpád Beszédes
Spectrum-Based Fault Localization (SBFL), in its basic
form, uses only local information about a program element’s (such
as a method’s) coverage to predict its faultiness, and rarely is
any additional (contextual) information leveraged about the
element itself, nor the test cases. As such an additional context,
in the presented approach, we rely on the frequency of the
investigated method occurring in call stack instances during the
course of executing the failing test cases. The basic intuition is
that if a method is called in many different contexts during a
failing test case, it will be more probable to be accountable for
the fault compared to other methods. We empirically evaluated the
fault localization capability of the approach compared to five
traditional SBFL techniques using the bug benchmark Defects4J. We
found that the new algorithms (i) find the location of bugs at
higher rank positions more often, (ii) can achieve 38%–52% rank
position improvement compared to the baseline algorithms with
statistical significance, and (iii) place more items at the top-10
positions of the suspiciousness ranking.
Keywords: Spectrum-Based
Fault Localization, Method Call Frequency, Call Stacks, Testing,
Debugging.
Back