SEAug 27, 2021

CharmFL: A Fault Localization Tool for Python

arXiv:2108.12377v11 citations
Originality Synthesis-oriented
AI Analysis

This addresses a gap for Python developers by providing a tool for fault localization, though it is incremental as it applies an existing method to a new programming language.

The paper tackles the lack of fault localization tools for Python by presenting CharmFL, a PyCharm IDE plugin that uses spectrum-based fault localization to automatically analyze programs and generate a ranked list of potentially faulty elements, with results showing it helps developers efficiently find fault locations.

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-to-use 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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes