ABSTRACT
The Product Line Architecture (PLA) is one of the most important artifacts of a Software Product Line. PLA designing has been formulated as a multi-objective optimization problem and successfully solved by a state-of-the-art search-based approach. However, the majority of empirical studies optimize PLA designs without applying one of the fundamental genetic operators: the crossover. An operator for PLA design, named Feature-driven Crossover, was proposed in a previous study. In spite of the promising results, this operator occasionally generated incomplete solutions. To overcome these limitations, this paper aims to enhance the search-based PLA design optimization by improving the Feature-driven Crossover and introducing a novel crossover operator specific for PLA design. The proposed operators were evaluated in two well-studied PLA designs, using three experimental configurations of NSGA-II in comparison with a baseline that uses only mutation operators. Empirical results show the usefulness and efficiency of the presented operators on reaching consistent solutions. We also observed that the two operators complement each other, leading to PLA design solutions with better feature modularization than the baseline experiment.
- Thelma Elita Colanzi and Silvia Regina Vergilio. 2016. A feature-driven crossover operator for multi-objective and evolutionary optimization of product line architectures. Journal of Systems and Software 121 (2016), 126--143.Google ScholarDigital Library
- Thelma Elita Colanzi, Silvia Regina Vergilio, Itana Gimenes, and Willian Nalepa Oizumi. 2014. A search-based approach for software product line design. In Proceedings of the 18th International Software Product Line Conference (SPLC'14), Vol. 1. 237--241.Google ScholarDigital Library
- Antonio C Contieri Jr, Guilherme G Correia, Thelma E Colanzi, Itana MS Gimenes, Edson A Oliveira Jr, Sandra Ferrari, Paulo C Masiero, and Alessandro F Garcia. 2011. Extending UML components to develop software product-line architectures: Lessons learned. In Proceeding of the 5th European Conference on Software Architecture (ECSA). 130--138.Google ScholarCross Ref
- Kalyanmoy Deb, Amrit Pratap, Sameer Agarwal, and TAMT Meyarivan. 2002. A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation 6, 2 (2002), 182--197.Google ScholarDigital Library
- Édipo Luis Féderle, Thiago do Nascimento Ferreira, Thelma Elita Colanzi, and Silvia Regina Vergilio. 2015. OPLA-Tool: a support tool for search-based product line architecture design. In Proceedings of the 19th International Software Product Line Conference. 370--373.Google ScholarDigital Library
- David E. Goldberg. 1989. Genetic Algorithms in Search, Optimization and Machine Learning (1st ed.). Addison-Wesley Longman Publishing Co., Inc., USA.Google ScholarDigital Library
- Mark Harman and Robert Hierons. 2002. A new representation and crossover operator for search-based optimization of software modularization. In Proceedings of the Annual Conference on Genetic and Evolutionary Computation (GECCO'2002). 1351--1358.Google Scholar
- Mark Harman and Laurence Tratt. 2007. Pareto optimal search based refactoring at the design level. In 9th Annual Conference on Genetic and Evolutionary Computation. ACM, New York, NY, USA, 1106--1113.Google ScholarDigital Library
- Mirian T. Timpledon Lambert M. Surhone and Susan F. Marseken. 2010. Shapiro-Wilk Test. VDM Publishing. https://books.google.com.br/books?id=LsG-cQAACAAJGoogle Scholar
- Miqing Li and Xin Yao. 2019. Quality Evaluation of Solution Sets in Multiobjective Optimisation: A Survey. Comput. Surveys 52 (03 2019), 1--38. Google ScholarDigital Library
- João Choma Neto, Cristiano Herculano da Silva, Thelma Elita Colanzi, and Aline Miotto Amaral. 2019. Are Memetic Algorithms profitable to search-based PLA design? IET Software 13, 6 (2019), 587--599. Google ScholarCross Ref
- Camila Nunes, Uirá Kulesza, Cláudio Sant'Anna, Ingrid Nunes, Alessandro Garcia, and Carlos Lucena. 2009. Assessment of the Design Modularity and Stability of Multi-Agent System Product Lines. Journal of Universal Computer Science 15, 11 (jun 2009), 2254--2283.Google Scholar
- Kai Petersen, Sairam Vakkalanka, and Ludwik Kuzniarz. 2015. Guidelines for conducting systematic mapping studies in software engineering: An update. Information and Software Technology 64 (2015), 1 -- 18.Google ScholarDigital Library
- Outi Räihä, Kai Koskimies, and Erkki Mäkinen. 2009. Empirical Study on the Effect of Crossover in Genetic Software Architecture Synthesis. In Proceedings of World Congress on Nature and Biologically Inspired Computing. 619--625.Google ScholarCross Ref
- Outi Räihä, Kai Koskimies, and Erkki Mäkinen. 2010. Complementary crossover for genetic software architecture synthesis. In Proceedings of the 10th International Conference on Intelligent Systems Design and Applications. 266--271. Google ScholarCross Ref
- SEI. 2009. Arcade Game Maker pedagogical product line. (2009). https://resources.sei.cmu.edu/library/asset-view.cfm?assetid=485941Google Scholar
- Christopher Simons, Ian C. Parmee, and Rhys Gwynllyw. 2010. Interactive, Evolutionary Search in Upstream Object-Oriented Class Design. IEEE Transactions on Software Engineering 36, 6 (nov.-dec. 2010), 798 --816.Google ScholarDigital Library
- Frank J Van der Linden, Klaus Schmid, and Eelco Rommes. 2007. Software product lines in action: the best industrial practice in product line engineering. Springer Science & Business Media.Google ScholarDigital Library
- András Vargha and Harold D. Delaney. 2000. A critique and improvement of the CL common language effect size statistics of McGraw and Wong. Journal of Educational and Behavioral Statistics 25, 2 (2000), 101--132.Google Scholar
- Yenisei Delgado Verdecia, Thelma E. Colanzi, Silvia R. Vergilio, and Marcelo C. Benitez Santos. 2017. An Enhanced Evaluation Model for Search-Based Product Line Architecture Design. In Proceedings of the XX Ibero-American Conference on Software Engineering (CIbSE - ICSE 2017). 155--168.Google Scholar
- Trevor J Young. 2005. Using aspectJ to build a software product line for mobile devices. Master's thesis. University of British Columbia.Google Scholar
- Milan Zeleny and James L Cochrane. 1973. Multiple criteria decision making. University of South Carolina Press.Google Scholar
- Eckart Zitzler and Lothar Thiele. 1998. Multiobjective optimization using evolutionary algorithms --- A comparative case study. In Parallel Problem Solving from Nature --- PPSN V, Agoston E. Eiben, Thomas Bäck, Marc Schoenauer, and Hans-Paul Schwefel (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 292--301.Google ScholarDigital Library
- Eckart Zitzler, Lothar Thiele, Marco Laumanns, Carlos M Fonseca, and Viviane Grunert Da Fonseca. 2003. Performance assessment of multiobjective optimizers: an analysis and review. IEEE Trans. Evol. Comput. 7, 2 (2003), 117--132.Google ScholarDigital Library
Index Terms
- Enhancing search-based product line design with crossover operators
Recommendations
On the configuration of multi-objective evolutionary algorithms for PLA design optimization
SBCARS '21: Proceedings of the 15th Brazilian Symposium on Software Components, Architectures, and ReuseSearch-based algorithms have been successfully applied in the Product Line Architecture (PLA) optimization using the seminal approach called Multi-Objective Approach for Product-Line Architecture Design (MOA4PLA). This approach produces a set of ...
Intensifying the search-based optimization of product line architectures with crossover operators
AbstractThe 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 ...
Partition Crossover for Pseudo-Boolean Optimization
FOGA '15: Proceedings of the 2015 ACM Conference on Foundations of Genetic Algorithms XIIIA partition crossover operator is introduced for use with NK landscapes, MAX-kSAT and for all k-bounded pseudo-Boolean functions. By definition, these problems use a bit representation. Under partition crossover, the evaluation of offspring can be ...
Comments