ISSTA 2024
Mon 16 - Fri 20 September 2024 Vienna, Austria
co-located with ISSTA/ECOOP 2024

Fault localization is essential to software maintenance tasks such
as testing and automated program repair. Many fault localization
techniques have been developed, the most common of which are
spectrum-based. Most techniques have been designed for traditional programming paradigms that map passing and failing test
cases to lines or branches of code, hence specialized programming
paradigms which utilize different code abstractions may fail to localize well. In this paper, we study fault localization in the context
of a class of programs, molecular programs. Recent research has
designed automated testing and repair frameworks for these pro-
grams but has ignored the importance of fault localization. As we
demonstrate, using existing spectrum-based approaches may not
provide much information. Instead we propose a novel approach,
Traceback, that leverages temporal trace data. In an empirical study
on a set of 89 faulty program variants, we demonstrate that Trace-
back provides between a 32-90% improvement in localization over
reaction-based mapping, a direct translation of spectrum-based
localization. We see little difference in parameter tuning of Trace-
back when all tests, or only code-based (invariant) tests are used,
however the best depth and weight parameters vary when using
specification based tests, which can be either functional or meta-
morphic. Overall, invariant-based tests provide the best localization
results (either alone or in combination with others), followed by
metamorphic and then functional tests.