Uma abordagem memética para otimizar projeto de linha de produto de software - Choma Neto, João (2017)
This work is focused on the application of memetic algorithms in the Software Product Line (SPL) architecture design. Product Line Architecture (PLA) is one of the most important SPL artifacts since it contains all information needed to generate SPL products. Building a PLA design is a difficult and highly architect-dependent activity. PLA design could be modeled as an optimization problem to be solved by Search Based Software Engineering (SBSE). SBSE aims at automatically obtaining near-optimal solutions using multi-objective search algorithms. In this context, MOA4PLA approach was developed in order to optimize PLA design in terms of basic design principles, feature modularization and SPL extensibility, with the use of multi-objective search algorithms. OPLA-Tool automates MOA4PLA by using multi-objective search algorithms based on genetic algorithms (GA). In this tool there is a module called OPLA-Patterns responsible for applying design patterns during the optimization process. According to the systematic mapping performed, the memetic algorithms (MA), which consist of the use of Gas with local search, have achieved better results in optimization problems when compared with GA. However, there were no report on the use of memetic algorithms for PLA design optimization. Thus, this work deals with the application of MAs to optimize PLA design, adapting the search operator named Design Pattern Mutation Operator proposed in OPLA-Patterns as a local search operator. Four distinct versions of MA were implemented, each one with a different selection criterion. Experimental studies were carried out to compare the solutions obtained by both GA and four versions of MA through quantitative and qualitative analysis. In general, the quantitative studies indicated that the MA found better solutions in terms of fitness when compared with GA. The qualitative study pointed out that the solutions obtained with MA, in the context of MOA4PLA, are good from the software architects point of view. The MA still needs to be refined with improvements identified during the steps of this work.