Cargando…

Intensifying the search-based optimization of product line architectures with crossover operators

The Product Line Architecture (PLA) is a crucial artifact for the development of Software Product Lines. However, PLA is a complex artifact to be designed due to its large size and the multiple conflicting properties that need to be considered to ensure its quality, requiring a great effort for the...

Descripción completa

Detalles Bibliográficos
Autores principales: da Silva, Diego Fernandes, Okada, Luiz Fernando, Assunção, Wesley K. G., Colanzi, Thelma Elita
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Springer US 2022
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9486781/
https://www.ncbi.nlm.nih.gov/pubmed/36159892
http://dx.doi.org/10.1007/s10664-022-10198-3
Descripción
Sumario:The Product Line Architecture (PLA) is a crucial artifact for the development of Software Product Lines. However, PLA is a complex artifact to be designed due to its large size and the multiple conflicting properties that need to be considered to ensure its quality, requiring a great effort for the architect. PLA designing has been formulated as an optimization problem aiming at improving some architectural properties in order to maximize both the feature modularization and the relational cohesion, and to minimize the class coupling. This kind of problem was successfully solved by multi-objective evolutionary algorithm. Nevertheless, most of existing approaches optimize PLA designs without applying the crossover operator, one of the fundamental genetic operators. To overcome these limitations, this paper aims to intensify the search-based PLA design optimization by presenting three crossover operators. These operators were empirically evaluated in quantitative and qualitative studies using three well-studied PLA designs. The experiments were conducted with eight experimental configurations of NSGA-II in comparison with a baseline that uses only mutation operators. Empirical results showed that there are significant differences among the use of only mutation and mutation with crossover. Also, we observed that the crossover operators contributed to generate solutions with better feature modularization. Finally, we could see that the proposed operators complement each other, since the experiment that combines at least two of the proposed operators achieved better results.