### 2021

Ferrer, Javier; Chicano, Francisco; Ortega-Toro, José Antonio

CMSA algorithm for solving the prioritized pairwise test data generation problem in software product lines Journal Article

In: Journal of Heuristics, 27 (1-2), pp. 229–249, 2021, ISSN: 1381-1231.

Abstract | Links | BibTeX | Tags: CMSA, Combinatorial optimization, Feature Models, Hybrid algorithms, Integer programming, Matheuristics, Software Product Lines

@article{Ferrer2021,

title = {CMSA algorithm for solving the prioritized pairwise test data generation problem in software product lines},

author = {Javier Ferrer and Francisco Chicano and José Antonio Ortega-Toro},

url = {http://link.springer.com/10.1007/s10732-020-09462-w},

doi = {10.1007/s10732-020-09462-w},

issn = {1381-1231},

year = {2021},

date = {2021-04-01},

journal = {Journal of Heuristics},

volume = {27},

number = {1-2},

pages = {229--249},

abstract = {In Software Product Lines, it may be difficult or even impossible to test all the products of the family because of the large number of valid feature combinations that may exist (Ferrer et al. in: Squillero, Sim (eds) EvoApps 2017, LNCS 10200, Springer, The Netherlands, pp 3–19, 2017). Thus, we want to find a minimal subset of the product family that allows us to test all these possible combinations (pairwise). Furthermore, when testing a single product is a great effort, it is desirable to first test products composed of a set of priority features. This problem is called Prioritized Pairwise Test Data Generation Problem. State-of-the-art algorithms based on Integer Linear Programming for this problem are faster enough for small and medium instances. However, there exists some real instances that are too large to be computed with these algorithms in a reasonable time because of the exponential growth of the number of candidate solutions. Also, these heuristics not always lead us to the best solutions. In this work we propose a new approach based on a hybrid metaheuristic algorithm called Construct, Merge, Solve & Adapt. We compare this matheuristic with four algorithms: a Hybrid algorithm based on Integer Linear Programming, a Hybrid algorithm based on Integer Nonlinear Programming, the Parallel Prioritized Genetic Solver, and a greedy algorithm called prioritized-ICPL. The analysis reveals that CMSA is statistically significantly better in terms of quality of solutions in most of the instances and for most levels of weighted coverage, although it requires more execution time.},

keywords = {CMSA, Combinatorial optimization, Feature Models, Hybrid algorithms, Integer programming, Matheuristics, Software Product Lines},

pubstate = {published},

tppubtype = {article}

}

In Software Product Lines, it may be difficult or even impossible to test all the products of the family because of the large number of valid feature combinations that may exist (Ferrer et al. in: Squillero, Sim (eds) EvoApps 2017, LNCS 10200, Springer, The Netherlands, pp 3–19, 2017). Thus, we want to find a minimal subset of the product family that allows us to test all these possible combinations (pairwise). Furthermore, when testing a single product is a great effort, it is desirable to first test products composed of a set of priority features. This problem is called Prioritized Pairwise Test Data Generation Problem. State-of-the-art algorithms based on Integer Linear Programming for this problem are faster enough for small and medium instances. However, there exists some real instances that are too large to be computed with these algorithms in a reasonable time because of the exponential growth of the number of candidate solutions. Also, these heuristics not always lead us to the best solutions. In this work we propose a new approach based on a hybrid metaheuristic algorithm called Construct, Merge, Solve & Adapt. We compare this matheuristic with four algorithms: a Hybrid algorithm based on Integer Linear Programming, a Hybrid algorithm based on Integer Nonlinear Programming, the Parallel Prioritized Genetic Solver, and a greedy algorithm called prioritized-ICPL. The analysis reveals that CMSA is statistically significantly better in terms of quality of solutions in most of the instances and for most levels of weighted coverage, although it requires more execution time.