Search-based Approaches to Optimizing Software Product Line Architectures: a Systematic Literature Review

Sedigheh KHOSHNEVIS,Omid H. ARDESTANI
DOI: https://doi.org/10.1016/j.infsof.2024.107446
IF: 3.9
2024-03-17
Information and Software Technology
Abstract:Context Software product line architecture (PLA) plays an important role in developing software product lines (SPLs) and other configurable systems. Search-based (SB) approaches can optimize the design of PLAs according to a given set of metrics as fitness functions. Although this area has been explored by researchers, there is a lack of synthesis of search-based PLA (SBPLA) research. A comprehensive review would offer valuable insights into previous contributions and identify areas for further research. Objective The objective of this work is to identify and summarize quality-assessed peer-reviewed studies on search-based PLA design from the aspects of the research scope, problems, contributions, evaluation, and open issues. Methods We conducted a systematic literature review based on Kitchenham's methodology. Based on a predefined search protocol we identified related studies limited to the ones published between 2000 and 2022 in journals and conference proceedings. Results Out of 686 initial search results, 34 papers were finally selected after a set of deep search, and criteria application activities. We provided a taxonomy of optimization problems in SBPLA and found that PLA remodularization and refactoring were the two categories mostly emphasized by the researchers. We also provided several other categorizations regarding contributions, research design, open issues, and other subjects of interest. Conclusions The interest in SBPLA design has been growing since 2014. PLA cloning and re-engineering problems have never been addressed in the literature. Performing subjective evaluation with the participation of experts from the industry will be profitable, as a complementary method to objective experimental evaluation, and therefore carrying out quanti-qualitative research.
computer science, information systems, software engineering
What problem does this paper attempt to address?