There is a newer version of the record available.

Published January 23, 2024 | Version v2
Dataset Open

Artifact for the paper "Mutation-based Lifted Repair of Software Product Lines"

Authors/Creators

Description

This work presents a novel lifted repair algorithm for program families (Software Product Lines - SPLs) based on code mutations.
The inputs of our tool are an erroneous SPL and a specification given in the form of assertions. We use variability encoding to transform the given SPL into a single program, called family simulator, which is translated into a set of SMT formulas whose conjunction is satisfiable iff the simulator (i.e. the input SPL) violates an assertion. We use a predefined set of mutations applied to feature and program expressions of the given SPL. The tool  repeatedly mutates the erroneous family simulator and checks if it becomes (bounded) correct. The outputs of our tool are all minimal repairs in the form of minimal number of (feature and program) expression replacements such that the repaired SPL is (bounded) correct with respect to a given set of assertions.

We present a prototype tool for repairing #ifdef-based C programs (i.e., annotative SPLs). The experimental results show that our approach is able to successfully repair various interesting SPLs.

Files

tool.pdf

Files (428.2 kB)

Name Size Download all
md5:43cc3d5e980f1d87517aef88eb215256
428.2 kB Preview Download

Additional details

Dates

Submitted
2024-01-23