Experiments with Interactive Fault Localization Using Simulated
and Real Users
Ferenc Horváth, Árpád
Beszédes, Béla Vancsics, Gergő
Balogh, László Vidács and
Tibor Gyimóthy
Fault localization is considered a difficult and time
consuming activity. However, tool support for automated fault
localization is still limited because state-of-the-art algorithms
often fail to provide efficient help to the user. They usually
offer a ranked list of suspicious code elements, but the fault is
not guaranteed to be found among the highest ranks. In
Spectrum-Based Fault Localization (SBFL) – which uses code
coverage information of test cases and their execution outcomes to
calculate the ranks –, the developer has to investigate several
locations before finding the faulty code element. Yet, all the
knowledge she a priori has or acquires during this process is not
reused by the SBFL tool. We propose an approach in which the
developer interacts with the SBFL algorithm by giving feedback on
the elements of the prioritized list. We exploit contextual
knowledge of the user about the next item in the ranked list
(e.g., a statement), with which larger code entities (e.g., a
whole function) can be repositioned in their suspiciousness.
First, we evaluated the approach using simulated users
incorporating two types of imperfections, their knowledge and
confidence levels. On SIR and Defects4J, results showed notable
improvements in fault localization efficiency, even with strong
user imperfections. We then empirically evaluated the
effectiveness of the approach with real users, which also showed
promising results.
Keywords: Spectrum-Based
Fault Localization, automated debugging, interactive debugging,
user feedback, user simulation, user imperfection, user study.
Back