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