SLE 2025
Thu 12 - Fri 13 June 2025 Koblenz, Germany
co-located with STAF 2025
Fri 13 Jun 2025 13:52 - 14:15 at M 001 - SLE Session 5: Language Tooling Chair(s): Görel Hedin

Fault localization is an important step in software debugging that aims to isolate and localize the bugs (errors) to a small part of the program. This becomes more challenging in Software Product Lines (SPLs) due to the variable nature of bugs (so-called variability bugs). This paper introduces a novel variability fault localization algorithm for SPLs. Moreover, we present its practical application for automatic repair of variability bugs in SPLs. To successfully address the above problems, we employ an abstract interpretation-based approach for fault localization of single programs that semantically identifies statements relevant for a bug as well as a mutation-based approach for program repair that changes (mutates) statements in order to repair a bug.

Given a buggy SPL (program family) and an assertion to be satisfied, our variability fault localization algorithm infers so-called lifted (variability-specific) error invariants in all locations, which over-approximate the reachable states at the given locations that may produce the bug if the execution continues from those locations in some particular variants. The lifted error invariants are used for statement-wise lifted semantic slicing of buggy SPLs, which removes the statements irrelevant for assertion violation in certain variants containing some combinations of features. Finally, the obtained slice family is applied for designing an efficient SPL repair algorithm, which repeatedly mutates the (feature and program) expressions in the statements identified as relevant for the variability bug until a correct SPL is found.

We have implemented an experimental tool for variability fault localization and repair of #ifdef-annotated SPLs written in C. We have evaluated our approach by a set of benchmarks, and the experimental results confirm the effectiveness of our approach to localize variability bugs in SPLs, and to subsequently repair them.

Fri 13 Jun

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

13:30 - 15:00
SLE Session 5: Language ToolingSLE 2025 at M 001
Chair(s): Görel Hedin Lund University
13:30
22m
Talk
Optimize Effect Handling for Tail-resumption with Stack UnwindingArtifact FunctionalArtifact Available
SLE 2025
Yuze Fu University of Tokyo, Shigeru Chiba University of Tokyo
13:52
22m
Talk
Variability Fault Localization by Abstract Interpretation and its Application to SPL RepairArtifact ReusableArtifact Available
SLE 2025
Aleksandar S. Dimovski Mother Teresa University, Skopje
14:15
22m
Talk
(Semantic) Feature Model Differences with (Q)SATArtifact FunctionalArtifact Available
SLE 2025
Simone Heisinger JKU Linz, Maximilian Heisinger JKU Linz, Martina Seidl Johannes Kepler University Linz
14:37
22m
Talk
Detecting Resource Leaks on Android with Alpakka
SLE 2025
Gustavo Amorim Santos Faculty of Engineering, University of Porto, Alexandra Mendes Faculty of Engineering, University of Porto & INESC TEC, João Bispo Faculdade de Engenharia e Universidade do Porto
Pre-print
:
:
:
: