Effective Spectrum Based Fault Localization Using Contextual
Based Importance Weight
Qusay Idrees Sarhan
and Árpád
Beszédes
In Spectrum-Based Fault Localization (SBFL), a suspicion
score for each program element (e.g., statement, method, or class)
is calculated by using a risk evaluation formula based on tests
coverage and their results. The elements are then ranked from most
suspicious to least suspicious based on their scores. The elements
with the highest scores are thought to be the most faulty. The
final ranking list of program elements helps testers during the
debugging process when seeking the source of a fault in the
program under test. In this paper, we present an approach that
gives more importance to program elements that are executed by
more failed test cases and appear in different contexts of method
calls (both as callees and as callers) in these tests compared to
other elements. In essence, we are emphasizing the failing test
cases factor because there are comparably much less failing tests
than passing ones. We multiply each element’s suspicion score
obtained by a SBFL formula by this importance weight, which is the
ratio of covering failing tests over all failing tests combined
with the so-called method calls frequency. The proposed approach
can be applied to SBFL formulas without modifying their
structures. The experimental results of our study show that our
approach achieved a better performance in terms of average ranking
compared to the underlying SBFL formulas and comparable
approaches. It also improved the Top-N categories and increased
the number of cases in which the faulty method became the
top-ranked element.
Keywords:
Debugging, fault localization, spectrum-based
fault localization, importance weight, method calls.
Back