CharmFL: A Fault Localization Tool for Python

08/27/2021
by   Qusay Idrees Sarhan, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/31/2023

An Empirical Study of Fault Localization in Python Programs

Despite its massive popularity as a programming language, especially in ...
research
02/19/2021

FLACK: Counterexample-Guided Fault Localization for Alloy Models

Fault localization is a practical research topic that helps developers i...
research
07/20/2021

A Hybrid Approach to Fine-grained Automated Fault Localization

Fault localization is to identify faulty source code. It could be done o...
research
06/27/2019

Evaluating data-flow coverage in spectrum-based fault localization

Background: Debugging is a key task during the software development cycl...
research
09/20/2023

Reproducing Failures in Fault Signatures

Software often fails in the field, however reproducing and debugging fie...
research
12/06/2021

Hyperstyle: A Tool for Assessing the Code Quality of Solutions to Programming Assignments

In software engineering, it is not enough to simply write code that only...
research
05/04/2022

Low-Code Programming Models

Traditionally, computer programming has been the prerogative of professi...

Please sign up or login with your details

Forgot password? Click here to reset