Abstract
Building a feature model for an existing SPL can improve the automatic analysis of the SPL and reduce the effort in maintenance.
However, developing a feature model can be error prone, and checking that it correctly identifies each actual product of the
SPL may be unfeasible due to the huge number of possible configurations. We apply mutation analysis and propose a method to
detect and remove conformance faults by selecting special configurations that distinguish a feature model from its mutants.
We propose a technique that, by iterating this process, is able to repair a faulty model. We devise several variations of
a simple hill climbing algorithm for automatic fault removal and we compare them by a series of experiments on three different
sets of feature models. We find that our technique is able to improve the conformance of around 90% of the models and find
the correct model in around 40% of the cases.
[download the pdf file] [DOI]