FLACOCO: Fault Localization for Java based on Industry-grade Coverage
This addresses the need for reliable fault localization tools in Java software development, though it is incremental as it builds on existing coverage libraries.
The paper tackles the problem of fault localization in Java debugging by introducing FLACOCO, a tool built on the industry-grade JaCoCo coverage library, and finds it effectively replaces the state-of-the-art fault localization library in validation experiments.
Fault localization is an essential step in the debugging process. Spectrum-Based Fault Localization (SBFL) is a popular fault localization family of techniques, utilizing code-coverage to predict suspicious lines of code. In this paper, we present FLACOCO, a new fault localization tool for Java. The key novelty of FLACOCO is that it is built on top of one of the most used and most reliable coverage libraries for Java, JaCoCo. FLACOCO is made available through a well-designed command-line interface and Java API and supports all Java versions. We validate FLACOCO on two use-cases from the automatic program repair domain by reproducing previous scientific experiments. We find it is capable of effectively replacing the state-of-the-art FL library. Overall, we hope that FLACOCO will help research in fault localization as well as industry adoption thanks to being founded on industry-grade code coverage. An introductory video is available at https://youtu.be/RFRyvQuwRYA