Simple Fault Localization Using Execution Traces
Traditional spectrum-based fault localization (SBFL) exploits differences in a program's coverage spectrum when run on passing and failing test cases. However, such runs can provide a wealth of additional information beyond mere coverage. Working with thousands of execution traces of short programs submitted to competitive programming contests and leveraging machine learning and additional runtime, control-flow and lexical features, we present simple ways to improve SBFL. We also propose a simple trick to integrate context information. Our approach outperforms SBFL formulae such as Ochiai on our evaluation set as well as QuixBugs and requires neither a GPU nor any form of advanced program analysis. Existing SBFL solutions could possibly be improved with reasonable effort by adopting some of the proposed ideas.
Authors
- Julian Aron Prenner (ORCID: https://orcid.org/0000-0003-4673-271X)
- Romain Robbes (ORCID: https://orcid.org/0000-0003-4569-6868)
Institutions
- Centre National de la Recherche Scientifique (FR)
- Université de Bordeaux (FR)
- Free University of Bozen-Bolzano (IT)
- Laboratoire Bordelais de Recherche en Informatique (FR)
- Institut Polytechnique de Bordeaux (FR)
Publication Details
- Published
- 2025-04-29
- DOI
- https://doi.org/10.1109/apr66717.2025.00013
- Primary Topic
- Software Testing and Debugging Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00