Mostrar el registro sencillo del ítem
dc.contributor.author
Sánchez, Luis Emiliano
dc.contributor.author
Diaz Pace, Jorge Andres
dc.contributor.author
Zunino Suarez, Alejandro Octavio
dc.date.available
2019-11-29T19:19:40Z
dc.date.issued
2019-03
dc.identifier.citation
Sánchez, Luis Emiliano; Diaz Pace, Jorge Andres; Zunino Suarez, Alejandro Octavio; A family of heuristic search algorithms for feature model optimization; Elsevier Science; Science of Computer Programming; 172; 3-2019; 264-293
dc.identifier.issn
0167-6423
dc.identifier.uri
http://hdl.handle.net/11336/90995
dc.description.abstract
Feature models are a well-known formalism for capturing variability, commonalities and configuration rules of software systems. These models are a compact representation of the set of products in a software product line or configurations of a system at runtime, in terms of features and logical relationships among them. The feature model optimization problem consists of selecting a valid product from the model that satisfies a set of resource or business restrictions and optimizes an objective function commonly related to user preferences. This problem, although computationally intractable, has been addressed in several works with different algorithms. However, these approaches appeal to simplifications of the problem or present drawbacks that limit their application. For example, several approaches do not contemplate feature interactions, and some of them do not guarantee exact solutions or even valid solutions satisfying complex constraints. In this article, we propose a novel algorithm called CSA that overcomes the performance and common weaknesses of existing approaches. CSA can be parameterized with a set of classic search strategies (Backtracking, Branch & Bound, and Best-First Search) and heuristics that allow us to leverage solution optimality and search efficiency. This makes CSA appropriate for automating decisions both at design-time, where exact solutions are generally required, and at run-time, where selection must be done efficiently but sub-optimal solutions are acceptable. The algorithm supports different formats of objective functions, including multi-linear polynomial functions that are capable of representing feature interactions. We present an analysis to validate algorithm properties, and then a series of experiments with synthetic and real models to empirically compare CSA with existing alternatives to show the benefits of our approach. In our analysis, CSA showed to be complete, exact, and scalable for searching approximate solutions. The empirical results showed that the approximate variant of CSA can reach an optimality degree of 99%, against a 84% and 93% reached by other approximate alternatives based on genetic and greedy algorithms respectively. In terms of response time, CSA performed a 72% better than other approximate algorithms. Compared to other exact approaches, CSA improves response time on specific problem types. Furthermore, CSA was evaluated with problem instances involving feature interactions, showing that performance properties scale properly when the number of feature interactions increases.
dc.format
application/pdf
dc.language.iso
eng
dc.publisher
Elsevier Science
dc.rights
info:eu-repo/semantics/restrictedAccess
dc.rights.uri
https://creativecommons.org/licenses/by-nc-nd/2.5/ar/
dc.subject
FEATURE MODELING
dc.subject
HEURISTIC SEARCH
dc.subject
OPTIMIZATION
dc.subject
SEARCH-BASED SOFTWARE ENGINEERING
dc.subject
SOFTWARE PRODUCT LINE
dc.subject.classification
Ciencias de la Computación
dc.subject.classification
Ciencias de la Computación e Información
dc.subject.classification
CIENCIAS NATURALES Y EXACTAS
dc.title
A family of heuristic search algorithms for feature model optimization
dc.type
info:eu-repo/semantics/article
dc.type
info:ar-repo/semantics/artículo
dc.type
info:eu-repo/semantics/publishedVersion
dc.date.updated
2019-10-21T20:04:13Z
dc.journal.volume
172
dc.journal.pagination
264-293
dc.journal.pais
Países Bajos
dc.journal.ciudad
Amsterdam
dc.description.fil
Fil: Sánchez, Luis Emiliano. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Tandil. Instituto Superior de Ingeniería del Software. Universidad Nacional del Centro de la Provincia de Buenos Aires. Instituto Superior de Ingeniería del Software; Argentina
dc.description.fil
Fil: Diaz Pace, Jorge Andres. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Tandil. Instituto Superior de Ingeniería del Software. Universidad Nacional del Centro de la Provincia de Buenos Aires. Instituto Superior de Ingeniería del Software; Argentina
dc.description.fil
Fil: Zunino Suarez, Alejandro Octavio. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Tandil. Instituto Superior de Ingeniería del Software. Universidad Nacional del Centro de la Provincia de Buenos Aires. Instituto Superior de Ingeniería del Software; Argentina
dc.journal.title
Science of Computer Programming
dc.relation.alternativeid
info:eu-repo/semantics/altIdentifier/doi/http://dx.doi.org/10.1016/j.scico.2018.12.002
Archivos asociados