Interacting with Interactive Fault Localization Tools
Ferenc Horváth
hferenc@inf.u-szeged.hu
Department of Software Engineering,
University of Szeged
Szeged, Hungary
Gergő Balogh
geryxyz@inf.u-szeged.hu
Department of Software Engineering,
University of Szeged
Szeged, Hungary
Attila Szatmári
szatma@inf.u-szeged.hu
Department of Software Engineering,
University of Szeged
Szeged, Hungary
Qusay Idrees Sarhan
sarhan@inf.u-szeged.hu
Department of Software Engineering,
University of Szeged
Szeged, Hungary
Department of Computer Science,
University of Duhok
Duhok, Iraq
Béla Vancsics
vancsics@inf.u-szeged.hu
Department of Software Engineering,
University of Szeged
Szeged, Hungary
Árpád Beszédes
beszedes@inf.u-szeged.hu
Department of Software Engineering,
University of Szeged
Szeged, Hungary
ABSTRACT
Spectrum-Based Fault Localization (SBFL) is one of the most popular
genres of Fault Localization (FL) methods among researchers. One
possibility to increase the practical usefulness of related tools is to
involve interactivity between the user and the core FL algorithm. In
this setting, the developer provides feedback to the fault localization
algorithm while iterating through the elements suggested by the
algorithm. This way, the proposed elements can be influenced in
the hope to reach the faulty element earlier (we call the proposed
approach Interactive Fault Localization, or iFL). With this work, we
would like to propose a presentation of our recent achievements
in this topic. In particular, we overview the basic approach, and
the supporting tools that we implemented for the actual usage of
the method in different contexts: iFL4Eclipse for Java developers
using the Eclipse IDE, and CharmFL for Python developers using the
PyCharm IDE. Our aim is to provide an insight into the practicalities
and effectiveness of the iFL approach, while acquiring valuable
feedback. In addition, with the demonstration we would like to
catalyse the discussion with researchers on the topic.
CCS CONCEPTS
• Software and its engineering → Dynamic analysis; Software
maintenance tools; Integrated and visual development environments;
Software testing and debugging;• Human-centered comput-
ing → Interactive systems and tools.
KEYWORDS
spectrum-based fault localization, interactive fault localization, in-
teractive debugging, testing, user feedback
Permission to make digital or hard copies of all or part of this work for personal or
classroom use is granted without fee provided that copies are not made or distributed
for profit or commercial advantage and that copies bear this notice and the full citation
on the first page. Copyrights for components of this work owned by others than ACM
must be honored. Abstracting with credit is permitted. To copy otherwise, or republish,
to post on servers or to redistribute to lists, requires prior specific permission and/or a
fee. Request permissions from permissions@acm.org.
A-TEST ’22, November 17–18, 2022, Singapore, Singapore
© 2022 Association for Computing Machinery.
ACM ISBN 978-1-4503-9452-9/22/11. . . $15.00
https://doi.org/10.1145/3548659.3561311
ACM Reference Format:
Ferenc Horváth, Gergő Balogh, Attila Szatmári, Qusay Idrees Sarhan, Béla
Vancsics, and Árpád Beszédes. 2022. Interacting with Interactive Fault Lo-
calization Tools. In Proceedings of the 13th International Workshop on Au-
tomating Test Case Design, Selection and Evaluation (A-TEST ’22), Novem-
ber 17–18, 2022, Singapore, Singapore. ACM, New York, NY, USA, 3 pages.
https://doi.org/10.1145/3548659.3561311
1 INTRODUCTION
This work deals with fault localization (FL), a debugging subac-
tivity in which the root causes of an observed failure are sought.
We present a technique and several tools to aid Spectrum-Based
Fault Localization (SBFL), a class of FL methods popular among
researchers [18]. SBFL relies on two sets of information: detailed
code coverage and test outcomes. These are typically readily avail-
able or easily obtainable in existing projects. Based on statistical
information about the number of failing and passing test cases
exercising different code elements of the system, elements are as-
signed various suspiciousness scores that can be used to rank the
code elements, thus aiding the developer in the debugging activity.
There are barriers to the wider adoption of SBFL in programming
practice, such as a high number of elements to investigate [12, 19],
and other issues [8, 14, 16]. A possibility to increase the practi-
cal usefulness of SBFL tools is to involve interactivity and hence
improve a crucial performance property, fault localization effective-
ness [5, 15, 17].
In our approach, called Interactive Fault Localization (iFL), we
involve the user’s previous or acquired knowledge about the system.
The developer interacts with the fault localization algorithm via the
iFL ToolKit by giving feedback on the elements of the prioritized list.
This way, the next proposed suspicious elements can be influenced
in the hope to reach the faulty element earlier.
2 INTERACTIVE FAULT LOCALIZATION
2.1 Related Work
The developer typically has additional information about the sys-
tem of which the SBFL engine is not aware. For example, Li et
al. [10, 11] reuses the knowledge about passing parameter values in
61