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
翻译:故障定位是调试过程中的关键步骤。基于频谱的故障定位(SBFL)是一种常用的故障定位技术家族,利用代码覆盖率来预测可疑代码行。本文提出FLACOCO,一种新的Java故障定位工具。FLACOCO的核心创新在于其构建于JaCoCo之上——这是Java领域最常用且最可靠的覆盖率库之一。FLACOCO通过精心设计的命令行界面和Java API提供使用,并支持所有Java版本。我们通过复现先前的科学实验,在自动程序修复领域的两个用例上验证了FLACOCO。结果表明,该工具能够有效替代当前最先进的故障定位库。总体而言,我们希望FLACOCO因基于工业级代码覆盖率,能够推动故障定位领域的研究及工业应用。介绍视频可在 https://youtu.be/RFRyvQuwRYA 获取。