Quanti-Qualitative Analysis of a Memetic Algorithm to Optimize Product Line Architecture Design

The Product Line Architecture (PLA) is one of the most important artifacts of a Software Product Line (SPL). PLA design can be formulated as an optimization problem with many factors. In this context, OPLA-Tool was developed to automatically identify the best alternatives for a PLA design using multi-objective evolutionary algorithms, based on genetic algorithms (GA). From an original PLA, OPLA-Tool obtains alternative designs to improve the original one in terms of the objectives selected for optimization. In a recent study, we extend OPLA-Tool to add a memetic algorithm (MA) and promising empirical results were obtained. However, the results allow us to hypothesize that including feature modularization as an objective to be optimized by MA could obtain even better solutions. In addition, it is interesting to know the experts' opinion about PLA designs automatically obtained, what has not been done yet. Thus, the objective of this work is twofold: to investigate the aforementioned hypothesis and to conduct the first qualitative evaluation of the PLA design solutions automatically obtained by search algorithms. An empirical study involving MA and GA was carried out with four different PLA designs. MA presented the best solutions according the quality indicators used in the quantitative analysis. The results of the qualitative evaluation showed that the optimized solutions are well evaluated by the experts. After both analyzes, the hypothesis could be confirmed.

[1]  Yuanyuan Zhang,et al.  Search based software engineering for software product line engineering: a survey and directions for future work , 2014, SPLC.

[2]  Thelma Elita Colanzi,et al.  Application of Memetic Algorithms in the Search-based Product Line Architecture Design: An Exploratory Study , 2017, ICEIS.

[3]  Outi Räihä,et al.  A survey on search-based software design , 2010, Comput. Sci. Rev..

[4]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[5]  Alessandro F. Garcia,et al.  Extending UML Components to Develop Software Product-Line Architectures: Lessons Learned , 2011, ECSA.

[6]  Klaus Schmid,et al.  Software product lines in action - the best industrial practice in product line engineering , 2007 .

[7]  Alexander Egyed,et al.  A systematic mapping study of search-based software engineering for software product lines , 2015, Inf. Softw. Technol..

[8]  Mark Harman,et al.  A Theoretical and Empirical Study of Search-Based Testing: Local, Global, and Hybrid Search , 2010, IEEE Transactions on Software Engineering.

[9]  Gordon Fraser,et al.  A Memetic Algorithm for whole test suite generation , 2015, J. Syst. Softw..

[10]  Linda M. Northrop,et al.  A Framework for Software Product Line Practice , 1999, ECOOP Workshops.

[11]  S. Balamurugan,et al.  Critical components testing using hybrid genetic algorithm , 2013, SOEN.

[12]  Max Reinert,et al.  Alceste une méthodologie d'analyse des données textuelles et une application: Aurelia De Gerard De Nerval , 1990 .

[13]  William Stanley Jevons,et al.  L'économie politique , 1931 .

[14]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[15]  Paul Clements,et al.  A framework for software product line practice - version 2 , 1999 .

[16]  Jim Smith,et al.  A comparison of two memetic algorithms for software class modelling , 2013, GECCO '13.

[17]  Gary B. Lamont,et al.  Evolutionary Algorithms for Solving Multi-Objective Problems , 2002, Genetic Algorithms and Evolutionary Computation.

[18]  Gary B. Lamont,et al.  Multiobjective evolutionary algorithm test suites , 1999, SAC '99.

[19]  Thelma Elita Colanzi,et al.  OPLA-tool: a support tool for search-based product line architecture design , 2015, SPLC.

[20]  Carlos José Pereira de Lucena,et al.  Assessment of the Design Modularity and Stability of Multi-Agent System Product Lines , 2009, J. Univers. Comput. Sci..

[21]  Sebastián Ventura,et al.  On the performance of multiple objective evolutionary algorithms for software architecture discovery , 2014, GECCO.

[22]  Thelma Elita Colanzi,et al.  Applying design patterns in the search-based optimization of software product line architectures , 2017, Software & Systems Modeling.

[23]  Thelma Elita Colanzi,et al.  A search-based approach for software product line design , 2014, SPLC.

[24]  Nasser R. Sabar,et al.  An Adaptive Memetic Algorithm for the Architecture Optimisation Problem , 2017, ACALCI.

[25]  Gary B. Lamont,et al.  Multiobjective evolutionary algorithms: classifications, analyses, and new innovations , 1999 .

[26]  Milan Zeleny,et al.  Multiple Criteria Decision Making , 1973 .

[27]  Thelma Elita Colanzi,et al.  An Enhanced Evaluation Model for Search-based Product Line Architecture Design , 2017, CIbSE.

[28]  Hassan Gomaa,et al.  Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures , 2011 .

[29]  Paulo César Masiero,et al.  Design Issues in a Component-based Software Product Line , 2007, SBCARS.