by Roberto E. Lopez-Herrejon, Javier Ferrer, Francisco Chicano, Alexander Egyed, Enrique Alba
Abstract:
Software Product Lines (SPLs) are families of related software products, each with its own set of feature combinations. Their commonly large number of products poses a unique set of challenges for software testing as it might not be technologically or economically feasible to test of all them individually. SPL pairwise testing aims at selecting a set of products to test such that all possible combinations of two features are covered by at least one selected product. Most approaches for SPL pairwise testing have focused on achieving full coverage of all pairwise feature combinations with the minimum number of products to test. Though useful in many contexts, this singleobjective perspective does not reflect the prevailing scenario where software engineers do face trade-offs between the objectives of maximizing the coverage or minimizing the number of products to test. In contrast and to address this need, our work is the first to propose a classical multi-objective formalisation where both objectives are equally important. In this paper, we study the application to SPL pairwise testing of four classical multiobjective evolutionary algorithms. We developed three seeding strategies - techniques that leverage problem domain knowledge - and measured their performance impact on a large and diverse corpus of case studies using two well-known multiobjective quality measures. Our study identifies the performance differences among the algorithms and corroborates that the more domain knowledge leveraged the better the search results. Our findings enable software engineers to select not just one solution (as in the case of single-objective techniques) but instead to select from an array of test suite possibilities the one that best matches the economical and technological constraints of their testing context.
Reference:
Comparative analysis of classical multi-objective evolutionary algorithms and seeding strategies for pairwise testing of Software Product Lines (Roberto E. Lopez-Herrejon, Javier Ferrer, Francisco Chicano, Alexander Egyed, Enrique Alba), In Proceedings of the Congress on Evolutionary Computation (WCCI 2014), Beijing, China, 2014.
Bibtex Entry:
@Conference{DBLP:conf/cec/Lopez-HerrejonFCEA14,
author = {Roberto E. Lopez-Herrejon and Javier Ferrer and Francisco Chicano and Alexander Egyed and Enrique Alba},
title = {Comparative analysis of classical multi-objective evolutionary algorithms and seeding strategies for pairwise testing of Software Product Lines},
booktitle = {Proceedings of the Congress on Evolutionary Computation (WCCI 2014), Beijing, China},
year = {2014},
pages = {387-396},
abstract = {Software Product Lines (SPLs) are families of related software products,
each with its own set of feature combinations. Their commonly large
number of products poses a unique set of challenges for software
testing as it might not be technologically or economically feasible
to test of all them individually. SPL pairwise testing aims at selecting
a set of products to test such that all possible combinations of
two features are covered by at least one selected product. Most approaches
for SPL pairwise testing have focused on achieving full coverage
of all pairwise feature combinations with the minimum number of products
to test. Though useful in many contexts, this singleobjective perspective
does not reflect the prevailing scenario where software engineers
do face trade-offs between the objectives of maximizing the coverage
or minimizing the number of products to test. In contrast and to
address this need, our work is the first to propose a classical multi-objective
formalisation where both objectives are equally important. In this
paper, we study the application to SPL pairwise testing of four classical
multiobjective evolutionary algorithms. We developed three seeding
strategies - techniques that leverage problem domain knowledge -
and measured their performance impact on a large and diverse corpus
of case studies using two well-known multiobjective quality measures.
Our study identifies the performance differences among the algorithms
and corroborates that the more domain knowledge leveraged the better
the search results. Our findings enable software engineers to select
not just one solution (as in the case of single-objective techniques)
but instead to select from an array of test suite possibilities the
one that best matches the economical and technological constraints
of their testing context.},
doi = {10.1109/CEC.2014.6900473},
file = {:Conferences\\WCCI 2014 - Comparative analysis of Classical Multi-Objective Evolutionary Algorithms for Software Product Lines\\Comparative analysis of Classical Multi-Objective Evolutionary Algorithms for Software Pr-preprint.pdf:PDF},
keywords = {FWF P25289, FWF M1421},
}