CharmFL: A Fault Localization Tool for Python
Qusay Idrees Sarhan,
Attila Szatmári, Rajmond Tóth
and Árpád
Beszédes
Fault localization is one of the most time-consuming and
error-prone parts of software debugging. There are several tools
for helping developers in the fault localization process, however,
they mostly target programs written in Java and C/C++ programming
languages. While these tools are splendid on their own, we must
not look over the fact that Python is a popular programming
language, and still there are a lack of easy-touse and handy fault
localization tools for Python developers. In this paper, we
present a tool called “CharmFL” for software fault localization as
a plug-in for PyCharm IDE. The tool employs Spectrum-based fault
localization (SBFL) to help Python developers automatically
analyze their programs and generate useful data at run-time to be
used, then to produce a ranked list of potentially faulty program
elements (i.e., statements, functions, and classes). Thus, our
proposed tool supports different code coverage types with the
possibility to investigate these types in a hierarchical approach.
The applicability of our tool has been presented by using a set of
experimental use cases. The results show that our tool could help
developers to efficiently find the locations of different types of
faults in their programs.
Keywords: Debugging,
fault localization, spectrum-based fault localization, Python,
CharmFL..
Back