Influence of Pure and Unit-Like Tests on SBFL Effectiveness: An
Empirical Study
Attila Szatmári,
Tamás Gergely and
Árpád Beszédes
One of the most challenging and time-consuming aspects
of debugging is identifying the exact location of the bug. We
propose the concept of a Pure Unit Test (PUT), which, when fails,
can unambiguously determine the location of the faulty method.
Based on developer experience, we established three heuristics to
evaluate the degree to which a test can be considered a unit test,
if it cannot be considered as a PUT (we call these Unit-Like
Tests, or ULTs). We examined how and when PUTs and ULTs affect
Spectrum-Based Fault Localization efficiency. The results
demonstrate that, for more complex systems, a higher proportion of
unit tests in the relevant test cases can enhance the
effectiveness of fault localization. When the number of PUTs is
high enough, fault localization becomes trivial, in that case
running SBFL is not necessary. Moreover, our findings indicate
that different kinds of ULTs can have a large impact on the
efficiency of fault localization, particularly for simpler bugs
where they can quickly and effectively pinpoint the problem areas.
Keywords:
Fault localization, Spectrum-Based Fault Localization, unit
testing, test levels.
Back