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...
Autores principales: | , , , |
---|---|
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 |
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. |
---|