
Information and Software Technology 61 (2015) 33–51 Contents lists available at ScienceDirect Information and Software Technology journal homepage: www.elsevier.com/locate/infsof A systematic mapping study of search-based software engineering for software product lines ⇑ Roberto E. Lopez-Herrejon , Lukas Linsbauer, Alexander Egyed Institute for Software Systems Engineering, Johannes Kepler University Linz, Altenbergerstr. 69, 4040 Linz, Austria article info abstract Article history: Context: Search-Based Software Engineering (SBSE) is an emerging discipline that focuses on the Received 28 August 2014 application of search-based optimization techniques to software engineering problems. Software Product Received in revised form 16 January 2015 Lines (SPLs) are families of related software systems whose members are distinguished by the set of Accepted 17 January 2015 features each one provides. SPL development practices have proven benefits such as improved software Available online 29 January 2015 reuse, better customization, and faster time to market. A typical SPL usually involves a large number of systems and features, a fact that makes them attractive for the application of SBSE techniques which are Keywords: able to tackle problems that involve large search spaces. Software product line Objective: The main objective of our work is to identify the quantity and the type of research on the Systematic mapping study Search based software engineering application of SBSE techniques to SPL problems. More concretely, the SBSE techniques that have been Evolutionary algorithm used and at what stage of the SPL life cycle, the type of case studies employed and their empirical Metaheuristics analysis, and the fora where the research has been published. Method: A systematic mapping study was conducted with five research questions and assessed 77 publications from 2001, when the term SBSE was coined, until 2014. Results: The most common application of SBSE techniques found was testing followed by product configuration, with genetic algorithms and multi-objective evolutionary algorithms being the two most commonly used techniques. Our study identified the need to improve the robustness of the empirical evaluation of existing research, a lack of extensive and robust tool support, and multiple avenues worthy of further investigation. Conclusions: Our study attested the great synergy existing between both fields, corroborated the increas- ing and ongoing interest in research on the subject, and revealed challenging open research questions. Ó 2015 Elsevier B.V. All rights reserved. Contents 1. Introduction . ....................................................................................................... 34 2. Systematic mapping study. .................................................................................... 34 2.1. Definition of research questions. .......................................................................... 35 2.2. Conduct search for primary sources. .......................................................................... 35 2.3. Screening of papers for inclusion and exclusion . ....................................................... 36 2.4. Keywording using abstracts—classification scheme . ....................................................... 36 2.4.1. SPL life cycle stage classification . ............................................................ 36 2.4.2. SBSE techniques classification ............................................................................... 37 2.4.3. Type of statistical analysis classification. ............................................................ 37 2.4.4. Type of case studies classification . ............................................................ 38 2.4.5. Type of publication fora classification. ............................................................ 38 2.5. Data extraction and mapping study. .......................................................................... 38 3. Results. ....................................................................................................... 38 3.1. Results RQ1—SPL life cycle stages . .......................................................................... 38 ⇑ Corresponding author. Tel.: +43 732 2468 4380. E-mail addresses: [email protected] (R.E. Lopez-Herrejon), [email protected] (L. Linsbauer), [email protected] (A. Egyed). http://dx.doi.org/10.1016/j.infsof.2015.01.008 0950-5849/Ó 2015 Elsevier B.V. All rights reserved. 34 R.E. Lopez-Herrejon et al. / Information and Software Technology 61 (2015) 33–51 3.2. Results RQ2—SBSE techniques used . ............................................................................. 39 3.3. Results RQ3—type of comparative analysis . ............................................................. 40 3.4. Results RQ4—evaluation case studies. ............................................................................. 40 3.5. Results RQ5—publication fora. ............................................................................. 43 4. Analysis and discussion . .......................................................................................... 43 4.1. Predominance of SBSE for SPL testing . ............................................................................. 43 4.2. SBSE for product configuration. ............................................................................. 44 4.3. Need to improve empirical evidence robustness. ............................................................. 45 4.4. Need of better tooling support . ............................................................................. 45 4.5. SBSE for SPL maintenance and evolution. ............................................................................. 45 4.6. SBSE for SPL domain design . ............................................................................. 45 4.7. Genetic improvement for SPL . ............................................................................. 46 5. Threats to validity . .......................................................................................... 46 6. Related work.......................................................................................................... 46 7. Conclusions and future work. .......................................................................................... 47 Acknowledgements . .......................................................................................... 47 Appendix A. Primary sources .......................................................................................... 47 A.1. References list . ................................................................................................ 47 References . .......................................................................................................... 50 1. Introduction problems and opportunities, for both SBSE and SPL communities. More concretely we wanted to identify at what stages of the SPL Search Based Software Engineering (SBSE) is an established yet development life cycle have SBSE techniques been used and which young discipline that focuses on the application of search-based ones. We also wanted to find out the provenance, number and optimization techniques to software engineering problems [1].In types of artifacts used as case studies as well as how they were this article, we follow Harman et al. who consider SBSE techniques empirically analyzed. And finally, which are the fora where the to primarily include metaheuristic search based optimization research work was published. techniques and classical operations research techniques [1,2]. Our study corroborated the increasing and ongoing interest in Some examples of SBSE techniques are: evolutionary computation applying SBSE techniques in SPLs. We found that the most common techniques1 (e.g. genetic algorithms), basic local searches (e.g. hill application is software testing, and the most common techniques climbing, simulated annealing or random search) [4], and integer are genetic algorithms and multi-objective evolutionary algo- programming [1]. rithms. Our study identified the need to improve the robustness Software Product Lines (SPLs) are families of related systems of the empirical evaluation (e.g. more adequate statistical analysis) whose members are distinguished by the set of features they and the need for more extensive and robust tool support. We hope provide [5,6]. Variability is the capacity of software artifacts to vary that this mapping study not only serves to highlight the main and its effective management and realization lie at the core of research topics at the intersection of SBSE and SPLs but that it also successful SPL development [7]. Feature models are tree-like serves to encourage researchers to pursue work at the intersection structures that establish the relations between features and have of both areas. become the de facto standard for modeling variability [8,9]. Over The paper is structured as follows. Section 2 presents the pro- the last decade, extensive research and practice both in academia cess we followed for our systematic mapping study. It details the and industry attest to the substantial benefits of applying SPL research questions addressed, how the search was performed, practices [6,10,11]. Among the benefits are better customization, the classification scheme used, and how the data was extracted improved software reuse, and faster time to market. and analyzed. Section 3 presents the results we obtained for each Typical
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages19 Page
-
File Size-