### 2021

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

CMSA algorithm for solving the prioritized pairwise test data generation problem in software product lines Artículo de revista

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

Resumen | Enlaces | BibTeX | Etiquetas: 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}

}

### 2017

Ferrer, Javier; Chicano, Francisco; Alba, Enrique

Hybrid algorithms based on integer programming for the search of prioritized test data in software product lines Artículo en actas

En: Squillero, Giovanni; Sim, Kevin (Ed.): Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), pp. 3–19, Springer International Publishing, Cham, 2017, ISSN: 16113349.

Resumen | Enlaces | BibTeX | Etiquetas: Combinatorial Interaction Testing, Feature Models, Integer linear programming, Integer nonlinear programming, Pairwise Testing, prioritization, Software Product Lines

@inproceedings{Ferrer2017,

title = {Hybrid algorithms based on integer programming for the search of prioritized test data in software product lines},

author = {Javier Ferrer and Francisco Chicano and Enrique Alba},

editor = {Giovanni Squillero and Kevin Sim},

url = {http://dx.doi.org/10.1007/978-3-319-55792-2_1},

doi = {10.1007/978-3-319-55792-2_1},

issn = {16113349},

year = {2017},

date = {2017-01-01},

booktitle = {Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)},

volume = {10200 LNCS},

pages = {3--19},

publisher = {Springer International Publishing},

address = {Cham},

abstract = {In Software Product Lines (SPLs) it is not possible, in general, to test all products of the family. The number of products denoted by a SPL is very high due to the combinatorial explosion of features. For this reason, some coverage criteria have been proposed which try to test at least all feature interactions without the necessity to test all products, e.g., all pairs of features (pairwise coverage). In addition, it is desirable to first test products composed by a set of priority features. This problem is known as the Prioritized Pairwise Test Data Generation Problem. In this work we propose two hybrid algorithms using Integer Programming (IP) to generate a prioritized test suite. The first one is based on an integer linear formulation and the second one is based on a integer quadratic (nonlinear) formulation. We compare these techniques with two state-of- the-art algorithms, the Parallel Prioritized Genetic Solver (PPGS) and a greedy algorithm called prioritized-ICPL. Our study reveals that our hybrid nonlinear approach is clearly the best in both, solution quality and computation time. Moreover, the nonlinear variant (the fastest one) is 27 and 42 times faster than PPGS in the two groups of instances analyzed in this work. © Springer International Publishing AG 2017.},

keywords = {Combinatorial Interaction Testing, Feature Models, Integer linear programming, Integer nonlinear programming, Pairwise Testing, prioritization, Software Product Lines},

pubstate = {published},

tppubtype = {inproceedings}

}

### 2016

Lopez-Herrejon, Roberto E; Ferrer, Javier; Chicano, Francisco; Egyed, Alexander; Alba, Enrique

Evolutionary Computation for Software Product Line Testing: An Overview and Open Challenges Parte de obra colectiva

En: Studies in Computational Intelligence, 617 , pp. 59–87, 2016, ISSN: 1860949X.

Resumen | Enlaces | BibTeX | Etiquetas: Feature Models, Feature set, Product line testing, Reverse engineering, search based software engineering, Software Product Lines, Variability modeling

@incollection{Lopez-Herrejon2016,

title = {Evolutionary Computation for Software Product Line Testing: An Overview and Open Challenges},

author = {Roberto E Lopez-Herrejon and Javier Ferrer and Francisco Chicano and Alexander Egyed and Enrique Alba},

url = {http://link.springer.com/10.1007/978-3-319-25964-2_4},

doi = {10.1007/978-3-319-25964-2_4},

issn = {1860949X},

year = {2016},

date = {2016-01-01},

booktitle = {Studies in Computational Intelligence},

volume = {617},

pages = {59--87},

abstract = {textcopyright Springer International Publishing Switzerland 2016. Because of economical, technological and marketing reasons today's software systems are more frequently being built as families where each product variant implements a different combination of features. Software families are commonly called Software Product Lines (SPLs) and over the past three decades have been the subject of extensive research and application. Among the benefits of SPLs are: increased software reuse, faster and easier product customization, and reduced time to market. However, testing SPLs is specially challenging as the number of product variants is usually large making it infeasible to test every single variant. In recent years there has been an increasing interest in applying evolutionary computation techniques for SPL testing. In this chapter, we provide a concise overview of the state of the art and practice in SPL testing with evolutionary techniques as well as to highlight open questions and areas for future research.},

keywords = {Feature Models, Feature set, Product line testing, Reverse engineering, search based software engineering, Software Product Lines, Variability modeling},

pubstate = {published},

tppubtype = {incollection}

}

### 2014

Lopez-Herrejon, Roberto Erick; Ferrer, Javier Javier; Chicano, Francisco; Haslinger, Evelyn Nicole; Egyed, Alexander; Alba, Enrique; Ferrer, Javier; Chicano, Francisco; Haslinger, Evelyn Nicole; Egyed, Alexander; Alba, Enrique

A Parallel Evolutionary Algorithm for Prioritized Pairwise Testing of Software Product Lines Artículo en actas

En: Genetic and Evolutionary Computation Conference (GECCO'14), pp. 1255–1262, 2014, ISBN: 9781450326629.

Resumen | Enlaces | BibTeX | Etiquetas: Combinatorial Interaction Testing, Feature Models, Pairwise Testing, Software Product Lines

@inproceedings{Lopez-Herrejon2014b,

title = {A Parallel Evolutionary Algorithm for Prioritized Pairwise Testing of Software Product Lines},

author = {Roberto Erick Lopez-Herrejon and Javier {Javier Ferrer} and Francisco Chicano and Evelyn Nicole Haslinger and Alexander Egyed and Enrique Alba and Javier Ferrer and Francisco Chicano and Evelyn Nicole Haslinger and Alexander Egyed and Enrique Alba},

url = {http://apps.webofknowledge.com.offcampus.ozyegin.edu.tr:2048/full_record.do?product=UA&search_mode=GeneralSearch&qid=1&SID=S1BBM4vYnmigGrZakJ3&page=1&doc=10&cacheurlFromRightClick=no},

doi = {10.1145/2576768.2598305},

isbn = {9781450326629},

year = {2014},

date = {2014-01-01},

booktitle = {Genetic and Evolutionary Computation Conference (GECCO'14)},

pages = {1255--1262},

abstract = {Software Product Lines (SPLs) are families of related software systems, which provide di ff erent feature combinations. Di ff erent SPL testing approaches have been proposed. However, despite the extensive and successful use of evolutionary computation techniques for software testing, their application to SPL testing remains largely unexplored. In this paper we present the Parallel Prioritized product line Genetic Solver (PPGS), a parallel genetic algorithm for the generation of prioritized pairwise testing suites for SPLs. We perform an extensive and comprehensive analysis of PPGS with 235 feature models from a wide range of number of features and products, using 3 di ff erent priority assignment schemes and 5 product prioritization selection strategies. We also compare PPGS with the greedy algorithm prioritized-ICPL. Our study reveals that overall PPGS obtains smaller covering arrays with an acceptable performance di ff erence with prioritized-ICPL.},

keywords = {Combinatorial Interaction Testing, Feature Models, Pairwise Testing, Software Product Lines},

pubstate = {published},

tppubtype = {inproceedings}

}