Leveraging Contextual Information from Function Call Chains to
Improve Fault Localization
Árpád Beszédes, Ferenc Horváth, Massimiliano Di Penta
and Tibor Gyimóthy
In Spectrum Based Fault Localization, program elements
such as statements or functions are ranked according to a
suspiciousness score which can guide the programmer in finding the
fault more efficiently. However, such a ranking does not include
any additional information about the suspicious code elements. In
this work, we propose to complement function-level spectrum based
fault localization with function call chains – i.e., snapshots of
the call stack occurring during execution – on which the fault
localization is first performed, and then narrowed down to
functions. Our experiments using defects from Defects4J show that
(i) 69% of the defective functions can be found in call chains
with highest scores, (ii) in 4 out of 6 cases the proposed
approach can improve Ochiai ranking of 1 to 9 positions on
average, with a relative improvement of 19-48%, and (iii) the
improvement is substantial (66-98%) when Ochiai produces bad
rankings for the faulty functions.
Keywords: Spectrum Based
Fault Localization, Function Call Chains, Call Stack Traces,
Testing and Debugging.
Back