Towards the support of user preferences in search-based product line architecture design: an exploratory study
Software Product Lines (SPLs) is a reuse approach in which a family of products is generalized in a common architecture that can be adapted to different clients. The Product Line Architecture (PLA) is one of the most important artifacts of a SPL. PLA design requires great human effort as it involves several factors that are usually in conflict. To ease this task, PLA design can be formulated as an optimization problem with many factors, i.e, as a multi-objective optimization problem. In this context, the MOA4PLA approach was proposed to optimize PLA design using search algorithms and metrics specific to the context. This approach supported by OPLA-Tool has already been used in several works demonstrating its applicability. However, MOA4PLA does not take into account aspects that are subjective, such as the preferences of a particular Decision Maker (DM). To do so, this paper presents a proposal to incorporate the user preferences in the optimization process performed by MOA4PLA, through an interactive process in which the DM subjectively evaluates the solutions in processing time. Thus, the solutions generated can be better suited to the DM's needs or preferences. In order to allow the user interaction, modifications were made in MOA4PLA and implemented in the OPLA-Tool. Aiming at an initial validation of the proposal, an exploratory study was carried out, composed of two experiments: a qualitative and a quantitative. These experiments were realized with the participation of a software architect. Empirical results pointed out that the proposed interactive process enables the generation of PLAs that are in accordance with the architect's preferences. Another significant contribution are the lessons learned on how to improve the interactive process.
Allysson Allex Araújo, Matheus Paixao, Italo Yeltsin, Altino Dantas, and Jerffeson Souza. 2017. An architecture based on interactive optimization and machine learning applied to the next release problem. Automated Software Engineering 24, 3 (2017), 623--671.
Wesley K. G. Assunção, Silvia R. Vergilio, and Roberto E. Lopez-Herrejon. 2017. Discovering Software Architectures with Search-Based Merge of UML Model Variants. In Mastering Scale and Complexity in Software Reuse - 16th International Conference on Software Reuse, ICSR 2017, Salvador, Brazil, May 29-31, 2017, Proceedings. 95--111.
Slim Bechikh, Marouane Kessentini, Lamjed Ben Said, and Khaled Ghédira. 2015. Preference incorporation in evolutionary multiobjective optimization: a survey of the state-of-the-art. In Advances in Computers. Vol. 98. Elsevier, 141--207.
James L Cochrane and Milan Zeleny. 1973. Multiple Criteria Decision Making.
Carlos A Coello Coello, Gary B Lamont, David A Van Veldhuizen, et al. 2007. Evolutionary algorithms for solving multi-objective problems. Vol. 5. Springer.
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.
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 SPL Conference-Volume 1. ACM, 237--241.
Kalyanmoy Deb, Samir Agrawal, Amrit Pratap, and Tanaka Meyarivan. 2000. A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II. In International conference on parallel problem solving from nature. Springer, 849--858.
É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 Conference on Software Product Line. ACM, 370--373.
Thiago Nascimento Ferreira, Silvia Regina Vergilio, and Jerffeson T. de Souza. 2017. Incorporating user preferences in search-based software engineering: A systematic mapping study. Information and Software Technology 90 (2017), 55--69.
Mark Harman, Edmund Burke, John Clark, and Xin Yao. 2012. Dynamic adaptive search based software engineering. In Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement. ACM, 1--8.
M. Harman, Y. Jia, J. Krinke, W. B. Langdon, J. Petke, and Y. Zhang. 2014. Search Based Software Engineering for Software Product Line Engineering: A Survey and Directions for Future Work. In Proceedings of the 18th International Software Product Line Conference - Volume 1 (SPLC '14). 5--18.
Mark Harman and Bryan F Jones. 2001. Search-based software engineering. Information and software Technology 43, 14 (2001), 833--839.
Mark Harman, Phil McMinn, Jerffeson Teixeira De Souza, and Shin Yoo. 2012. Search based software engineering: Techniques, taxonomy, tutorial. In Empirical software engineering and verification. Springer, 1--59.
Joshua Knowles and David Corne. 1999. The pareto archived evolution strategy: A new baseline algorithm for pareto multiobjective optimisation. In Congress on Evolutionary Computation (CEC99), Vol. 1. 98--105.
Roberto E. Lopez-Herrejon, Lukas Linsbauer, and Alexander Egyed. 2015. A systematic mapping study of search-based software engineering for software product lines. Information & Software Technology 61 (2015), 33--51.
João Choma Neto, Tatiane Gaieski, Aline M. M. Miotto Amaral, and Thelma Elita Colanzi. 2018. Quanti-Qualitative Analysis of a Memetic Algorithm to Optimize Product Line Architecture Design. In IEEE 30th International Conference on Tools with Artificial Intelligence, ICTAI 2018, 5-7 November 2018, Volos, Greece. 498--505.
Vilfredo Pareto. 1927. Manuel d'économie politique. Paris, M. Giard.
Aurora Ramirez, Jose Raul Romero, and Christopher Simons. 2018. A systematic review of interaction in search-based software engineering. IEEE Transactions on Software Engineering (2018).
Software Engineering Institute (SEI). 2009. The Arcade Game Maker Pedagogical Product Line. https://resources.sei.cmu.edu/library/asset-view.cfm?assetID=485941. Accessed in 2019, March.
Mark Shackelford. 2007. Implementation issues for an interactive evolutionary computation system. In Proceedings of the 9th annual conference companion on Genetic and evolutionary computation. ACM, 2933--2936.
Mark RN Shackelford and Christopher L Simons. [n. d.]. Metaheuristic design pattern: interactive solution presentation.. In GECCO (Companion).
Chris Simons, Jeremy Singer, and David R. White. 2015. Search-Based Refactoring: Metrics Are Not Enough. In Search-Based Software Engineering, Márcio Barros and Yvan Labiche (Eds.). 47--61.
Jianning Su and Shutao Zhang. 2010. Research on product shape innovation design method with human-computer interaction through genetic algorithm. In 2010 IEEE 11th International Conference on Computer-Aided Industrial Design & Conceptual Design 1, Vol. 1. IEEE, 301--305.
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.
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 XX Ibero-American Conference on Software Engineering (CIbSE - ICSE 2017).
Eckart Zitzler, Lothar Thiele, Marco Laumanns, Carlos M Fonseca, and Viviane Da Fonseca Grunert. 2002. Performance assessment of multiobjective optimizers: An analysis and review. TIK-Report 139 (2002).