Published June 29, 2024 | Version v3

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

Authors/Creators

Description

In this work, we describe the installation, usage, and evaluation results of the tool SPLAllRepair introduced by the paper
``Mutation-based Lifted Repair of Software Product Lines''. We provide step-by-step instructions on how to download, run, and compare the tool's outputs to outputs described in the paper. The tool implements a novel lifted repair algorithm for program families (Software Product Lines - SPLs) based on code mutations. The inputs of our algorithm 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 algorithm repeatedly mutates the erroneous family simulator and checks if it becomes (bounded) correct. The outputs 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 the experimental results showing that our approach is able to successfully repair various interesting #ifdef-based C SPLs.

Files

HowToInstall.txt

Files (9.7 GB)

Name Size
md5:295d5bcd6efbd3bfee0358eec658882b
3.2 kB Preview Download
md5:185c20e9ad9722c4b30b5275092a0afd
9.2 kB Preview Download
md5:8c8d8c0d7bb68e53a22bea8759860fe8
20.2 MB Download
md5:73a6a1014de544bc3b261b4dadaf7961
484.0 kB Preview Download
md5:a45fc9c11963f37a100c7de0e2abd9c4
3.5 GB Download
md5:8270d062491cada127eaeb1ab722c827
3.5 GB Download
md5:9a548166b2c75d9f4712b2406c2da555
2.6 GB Download

Additional details

Dates

Submitted
2024-04-23
Software