Software Configuration Management in Software Product Lines: Results of a Systematic Mapping Study
Keywords:
Software configuration management, Software product line, Systematic mapping study, SPLAbstract
Software product lines (SPL) are used in industry to achieve more efficient software development. However, efficient configuration management system is crucial for the success of any SPL. Very few approaches are found on software configuration management (SCM) in SPL. This study aims at surveying existing research on SCM in SPL in order to identify useful approaches and needs for future research. A systematic mapping study was conducted to find as much literature as possible between 2010-2020, and the twenty three papers found were classified according to context, research and contribution type. Most research effort is spent on product variability (87%) with contributions such as proposed tools and models (70%), sketched out in detail but not yet evaluated, i.e. solution proposals (63.33%). According to the results found, more validation and evaluation research of the SCM is needed to provide a better foundation for SPL.
Downloads
References
P. Clements and L. Northrop, Software Product Lines: Practices and Patterns. Addison-Wesley, 2002.
K. Pohl, G. Böckle, and F. J. van der Linden, Software Product Line Engineering: Foundations, Principles and Techniques. Berlin Heidelberg: Springer-Verlag, 2005.
W. B. Frakes and Kyo Kang, “Software reuse research: status and future,” IEEE Trans. Softw. Eng., vol. 31, no. 7, pp. 529–536, Jul. 2005, doi: 10.1109/TSE.2005.85.
A. Gonzalez, C. Luna, F. Zorzan, and N. Szasz, “Automatization of the Instantiation Process for the Behavior of Software Product Lines,” IEEE Lat. Am. Trans., vol. 12, no. 6, pp. 1120–1126, Sep. 2014, doi: 10.1109/TLA.2014.6894009.
C. Denger and R. Kolb, “Testing and Inspecting Reusable Product Line Components: First Empirical Results,” in Proceedings of the 2006 ACM/IEEE International Symposium on Empirical Software Engineering, New York, NY, USA, 2006, pp. 184–193, doi: 10.1145/1159733.1159762.
L. Northrop et al., “A framework for software product line practice, version 5.0,” SEI–2007–httpwww Sei Cmu Eduproductlinesindex Html, 2007.
J. Bosch, “Maturity and evolution in software product lines: Approaches, artefacts and organization,” in International Conference on Software Product Lines, 2002, pp. 257–271.
L. M. Northrop, “SEI’s software product line tenets,” IEEE Softw., vol. 19, no. 4, pp. 32–40, 2002.
P. C. Clements, L. G. Jones, L. M. Northrop, and J. D. McGregor, “Project management in a software product line organization,” IEEE Softw., vol. 22, no. 5, pp. 54–62, 2005.
J. R. F. da Silva, F. A. P. da Silva, L. M. do Nascimento, D. A. Martins, and V. C. Garcia, “The dynamic aspects of product derivation in DSPL: A systematic literature review,” in Information Reuse and Integration (IRI), 2013 IEEE 14th International Conference on, 2013, pp. 466–473.
C. W. Krueger, “New methods in software product line practice,” Commun. ACM, vol. 49, no. 12, pp. 37–40, 2006.
L. Chen and M. A. Babar, “A systematic review of evaluation of variability management approaches in software product lines,” Inf. Softw. Technol., vol. 53, no. 4, pp. 344–362, 2011.
P. Espinel, E. Espinosa, and M. Urbieta, “Software configuration management for software product line paradigm: A systematic mapping study,” in Software Process Improvement (CIMPS), International Conference on, 2016, pp. 1–8.
J. Bosch, “Software variability management,” in Proceedings. 26th International Conference on Software Engineering, May 2004, pp. 720–721, doi: 10.1109/ICSE.2004.1317504.
H. Gomaa and M. E. Shin, “A multiple-view meta-modeling approach for variability management in software product lines,” in International Conference on Software Reuse, 2004, pp. 274–285, Accessed: Oct. 14, 2017. [Online]. Available: http://link.springer.com/chapter/10.1007/978-3-540-27799-6_23.
T. Mens and S. Demeyer, Eds., Software Evolution. Berlin Heidelberg: Springer-Verlag, 2008.
T. Mens, “A state-of-the-art survey on software merging,” IEEE Trans. Softw. Eng., vol. 28, no. 5, pp. 449–462, May 2002, doi: 10.1109/TSE.2002.1000449.
D. Batory, D. Benavides, and A. Ruiz-Cortes, “Automated analysis of feature models: challenges ahead,” Commun. ACM, vol. 49, no. 12, pp. 45–47, Dec. 2006, doi: 10.1145/1183236.1183264.
J. Van Gurp and C. Prehofer, “Version management tools as a basis for integrating product derivation and software product families,” Proc VaMoS, vol. 6, pp. 48–58, 2006.
R. Rabiser, P. Grünbacher, and D. Dhungana, “Requirements for product derivation support: Results from a systematic literature review and an expert survey,” Inf. Softw. Technol., vol. 52, no. 3, pp. 324–346, 2010.
K. L. S. Soujanya and A. AnandaRao, “A Generic Framework for Configuration Management of SPL and Controlling Evolution of Complex Software Products,” ACM SIGSOFT Softw. Eng. Notes, vol. 41, no. 1, pp. 1–10, 2016.
R. Wieringa, N. Maiden, N. Mead, and C. Rolland, “Requirements engineering paper classification and evaluation criteria: a proposal and a discussion,” Requir. Eng., vol. 11, no. 1, pp. 102–107, 2006.
K. Petersen, R. Feldt, S. Mujtaba, and M. Mattsson, “Systematic Mapping Studies in Software Engineering.,” in EASE, 2008, vol. 8, pp. 68–77.
M. Gramajo, L. Ballejos, and M. Ale, “Seizing Requirements Engineering Issues through Supervised Learning Techniques,” IEEE Lat. Am. Trans., vol. 18, no. 07, pp. 1164–1184, Jul. 2020, doi: 10.1109/TLA.2020.9099757.
D. Budgen and P. Brereton, “Performing systematic literature reviews in software engineering,” in Proceedings of the 28th international conference on Software engineering, 2006, pp. 1051–1052.
H. H. Guedea-Noriega and F. García-Sánchez, “Semantic (Big) Data Analysis: an Extensive Literature Review,” IEEE Lat. Am. Trans., vol. 17, no. 05, pp. 796–806, May 2019, doi: 10.1109/TLA.2019.8891948.
G. Guedes, C. Silva, M. Soares, and J. Castro, “Variability management in dynamic software product lines: A systematic mapping,” in Components, Architectures and Reuse Software (SBCARS), 2015 IX Brazilian Symposium on, 2015, pp. 90–99.
J. A. Pereira, K. Constantino, and E. Figueiredo, “A systematic literature review of software product line management tools,” in International Conference on Software Reuse, 2015, pp. 73–89.
E. Engström and P. Runeson, “Software product line testing–a systematic mapping study,” Inf. Softw. Technol., vol. 53, no. 1, pp. 2–13, 2011.
P. A. da M. S. Neto, I. do Carmo Machado, J. D. McGregor, E. S. De Almeida, and S. R. de Lemos Meira, “A systematic mapping study of software product lines testing,” Inf. Softw. Technol., vol. 53, no. 5, pp. 407–423, 2011.
S. Mujtaba, K. Petersen, R. Feldt, and M. Mattsson, “Software product line variability: A systematic mapping study,” Sch. Eng. Blekinge Inst Technol., 2008.
D. Budgen, M. Turner, P. Brereton, and B. Kitchenham, “Using mapping studies in software engineering,” in Proceedings of PPIG, 2008, vol. 8, pp. 195–204.
K. Petersen, S. Vakkalanka, and L. Kuzniarz, “Guidelines for conducting systematic mapping studies in software engineering: An update,” Inf. Softw. Technol., vol. 64, pp. 1–18, 2015.
H. Arksey and L. O’Malley, “Scoping studies: towards a methodological framework,” Int. J. Soc. Res. Methodol., vol. 8, no. 1, pp. 19–32, Feb. 2005, doi: 10.1080/1364557032000119616.
B. Kitchenham et al., “Systematic literature reviews in software engineering – A tertiary study,” Inf. Softw. Technol., vol. 52, no. 8, pp. 792–805, Aug. 2010, doi: 10.1016/j.infsof.2010.03.006.
B. A. Kitchenham and S. Charters, “Guidelines for performing systematic literature reviews in software engineering technical report,” Softw. Eng. Group EBSE Tech. Rep. Keele Univ. Dep. Comput. Sci. Univ. Durh., vol. 2, 2007.
V. Berg, J. Birkeland, A. Nguyen-Duc, I. O. Pappas, and L. Jaccheri, “Software startup engineering: A systematic mapping study,” J. Syst. Softw., vol. 144, pp. 255–274, Oct. 2018, doi: 10.1016/j.jss.2018.06.043.
B. Kitchenham et al., “The impact of limited search procedures for systematic literature reviews—A participant-observer case study,” in Empirical Software Engineering and Measurement, 2009. ESEM 2009. 3rd International Symposium on, 2009, pp. 336–345.
T. Dyba, T. Dingsoyr, and G. K. Hanssen, “Applying systematic reviews to diverse study types: An experience report,” in Empirical Software Engineering and Measurement, 2007. ESEM 2007. First International Symposium on, 2007, pp. 225–234.
C. Wohlin, “Guidelines for snowballing in systematic literature studies and a replication in software engineering,” in Proceedings of the 18th international conference on evaluation and assessment in software engineering, 2014, pp. 1–10.
C. Wohlin, P. Runeson, M. Höst, M. C. Ohlsson, B. Regnell, and A. Wesslén, Experimentation in software engineering. Springer Science & Business Media, 2012.
K. Gwet, “Inter-rater reliability: dependency on trait prevalence and marginal homogeneity,” Stat. Methods Inter-Rater Reliab. Assess. Ser., vol. 2, no. 1, p. 9, 2002.
C. Wohlin, P. Runeson, P. A. da Mota Silveira Neto, E. Engström, I. do Carmo Machado, and E. S. de Almeida, “On the reliability of mapping studies in software engineering,” J. Syst. Softw., vol. 86, no. 10, pp. 2594–2610, Oct. 2013, doi: 10.1016/j.jss.2013.04.076.
B. Kitchenham and P. Brereton, “A systematic review of systematic review process research in software engineering,” Inf. Softw. Technol., vol. 55, no. 12, pp. 2049–2075, Dec. 2013, doi: 10.1016/j.infsof.2013.07.010.
T. Kosar, S. Bohra, and M. Mernik, “Domain-Specific Languages: A Systematic Mapping Study,” Inf. Softw. Technol., vol. 71, pp. 77–91, Mar. 2016, doi: 10.1016/j.infsof.2015.11.001.
J. L. Fleiss, B. Levin, and M. C. Paik, Statistical methods for rates and proportions. John Wiley & Sons, 2013.
K. Petersen and C. Gencel, “Worldviews, Research Methods, and their Relationship to Validity in Empirical Software Engineering Research,” in 2013 Joint Conference of the 23rd International Workshop on Software Measurement and the 8th International Conference on Software Process and Product Measurement, Oct. 2013, pp. 81–89, doi: 10.1109/IWSM-Mensura.2013.22.
P. Runeson and M. Höst, “Guidelines for conducting and reporting case study research in software engineering,” Empir. Softw. Eng., vol. 14, no. 2, p. 131, 2009.
V. Gomez-Jauregui, C. Gomez-Jauregui, C. Manchado, and C. Otero, “Information management and improvement of citation indices,” Int. J. Inf. Manag., vol. 34, no. 2, pp. 257–271, Apr. 2014, doi: 10.1016/j.ijinfomgt.2014.01.002.
M. Franceschet, “A comparison of bibliometric indicators for computer science scholars and journals on Web of Science and Google Scholar,” Scientometrics, vol. 83, no. 1, pp. 243–258, Apr. 2010, doi: 10.1007/s11192-009-0021-2.
P. Jacsó, “Google Scholar revisited,” Online Inf. Rev., vol. 32, no. 1, pp. 102–114, Jan. 2008, doi: 10.1108/14684520810866010.
T. Nepomuceno, E. OliveiraJr, R. Geraldi, A. Malucelli, S. Reinehr, and M. A. G. Silva, “Software Product Line Configuration and Traceability: An Empirical Study on SMarty Class and Component Diagrams,” in 2020 IEEE 44th Annual Computers, Software, and Applications Conference (COMPSAC), Jul. 2020, pp. 979–984, doi: 10.1109/COMPSAC48688.2020.0-144.
M. Asadi, M. Daliri, and N. Alipour, “Managing Product Lines Variability in Rich Internet Applications,” in 2018 IEEE 22nd International Enterprise Distributed Object Computing Conference (EDOC), Oct. 2018, pp. 208–217, doi: 10.1109/EDOC.2018.00034.
N. Khedri and R. Khosravi, “Incremental variability management in conceptual data models of software product lines,” in Software Engineering Conference (APSEC), 2015 Asia-Pacific, 2015, pp. 222–229.
M. Abu-Matar and H. Gomaa, “An automated framework for variability management of service-oriented software product lines,” in Service Oriented System Engineering (SOSE), 2013 IEEE 7th International Symposium on, 2013, pp. 260–267.
V. Nunes, P. Fernandes, V. Alves, and G. Rodrigues, “Variability management of reliability models in software product lines: An expressiveness and scalability analysis,” in Software Components Architectures and Reuse (SBCARS), 2012 Sixth Brazilian Symposium on, 2012, pp. 51–60.
S. Allabar, C. Bettinger, M. Müllen, and G. Rock, “Scone - A requirements management tool for the specification and variability-based analysis of product lines,” 2020, vol. 12, pp. 433–442, doi: 10.3233/ATDE200103.
K. L. Petry, E. OliveiraJr, and A. F. Zorzo, “Model-based testing of software product lines: Mapping study and research roadmap,” Journal of Systems and Software, vol. 167, 2020, doi: 10.1016/j.jss.2020.110608.
M. Derras et al., “Approach for variability management of legal rights in human resources software product lines,” 2019, pp. 514–521, doi: 10.5220/0007955905140521.
L. Samimi-Dehkordi, B. Zamani, and S. Kolahdouz-Rahimi, “Leveraging product line engineering for the development of domain-specific metamodeling languages,” Journal of Computer Languages, vol. 51, pp. 193–213, 2019, doi: 10.1016/j.cola.2019.02.006.
O. Tovstokorenko and R. Gamzayev, “Towards requirements variability in agile software product line development,” 2018, vol. 2122, pp. 87–95.
T. S. Nepomuceno and E. Oliveira, “Configuring software product line specific products with smarty and plus: An experimental study on use case diagrams,” 2018, pp. 81–90, doi: 10.1145/3275245.3275254.
R. Pohl, M. Höchsmann, P. Wohlgemuth, and C. Tischer, “Variant management solution for large scale software product lines,” 2018, pp. 85–94, doi: 10.1145/3183519.3183523.
K. L. S. Soujanya, “Ontology based variability management for dynamic reconfiguration of software product lines,” Journal of Advanced Research in Dynamical and Control Systems, vol. 9, no. Special Issue 18, pp. 2361–2375, 2018.
A. Etedali, C.-H. Lung, S. Ajila, and I. Veselinovic, “Automated Constraint-Based Multi-tenant SaaS Configuration Support Using XML Filtering Techniques,” in 2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC), Jul. 2017, vol. 2, pp. 413–418, doi: 10.1109/COMPSAC.2017.69.
L. Linsbauer, T. Berger, and P. Grünbacher, “A classification of variation control systems,” SIGPLAN Not., vol. 52, no. 12, pp. 49–62, Oct. 2017, doi: 10.1145/3170492.3136054.
E. D. Farahani and J. Habibi, “Configuration Management Model in Evolutionary Software Product Line,” International Journal of Software Engineering and Knowledge Engineering, vol. 26, no. 03, pp. 433–455, 2016.
E. D. Farahani and J. Habibi, “Comprehensive configuration management model for software product line,” International Journal of Control Theory and Applications, vol. 9, no. 25, pp. 301–322, 2016.
K. L. S. Soujanya and A. A. Rao, “A systematic approach for configuration management in software product lines,” in Proceedings of the International MultiConference of Engineers and Computer Scientists, 2015, vol. 1.
F. Schwägerl, T. Buchmann, S. Uhrig, and B. Westfechtel, “Realizing a Conceptual Framework to Integrate Model-Driven Engineering, Software Product Line Engineering, and Software Configuration Management,” in International Conference on Model-Driven Engineering and Software Development, 2015, pp. 21–44.
F. Schwägerl, T. Buchmann, S. Uhrig, and B. Westfechtel, “Towards the integration of model-driven engineering, software product line engineering, and software configuration management,” in Model-Driven Engineering and Software Development (MODELSWARD), 2015 3rd International Conference on, 2015, pp. 1–14.
T. Huysegoms, M. Snoeck, G. Dedene, A. Goderis, and F. Stumpe, “A case study on variability management in software product lines: identifying why real-life projects fail,” International Journal of Information Systems and Project Management, vol. 1, no. 1, pp. 37–48, 2013.
T. Buchmann, A. Dotor, and B. Westfechtel, “MOD2-SCM: A model-driven product line for software configuration management systems,” Information and Software Technology, vol. 55, no. 3, pp. 630–650, 2013.
A. Kolesnyk and O. Slabospitskaya, “Tested Approach for Variability Management Enhancing in Software Product Line.,” in ICTERI, 2012, pp. 155–162.
D. R. Fiori, I. M. de Souza Gimenes, J. C. Maldonado, and E. A. de Oliveira Junior, “Variability Management in Software Product Line Activity Diagrams.,” in DMS, 2012, pp. 89–94.
E. G. E. Gallardo, “Using configuration management and product line software paradigms to support the experimentation process in software engineering,” in Research Challenges in Information Science (RCIS), 2012 Sixth International Conference on, 2012, pp. 1–6.
S. Jarzabek, “Pragmatic strategies for variability management in software product lines,” Top Productivity through Software Reuse, pp. 244–245, 2011.
S. Kato and N. Yamaguchi, “Variation management for software product lines with cumulative coverage of feature interactions,” in Software Product Line Conference (SPLC), 2011 15th International, 2011, pp. 140–149.
Y.-G. Kim, S. K. Lee, and S.-B. Jang, “Variability management for software product-line architecture development,” International Journal of Software Engineering and Knowledge Engineering, vol. 21, no. 07, pp. 931–956, 2011.
S. Zschaler et al., “VML* - A family of languages for variability management in software product lines,” Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 5969 LNCS, pp. 82–102, 2010, doi: 10.1007/978-3-642-12107-4_7.
L. Chen and M. Babar, “Variability management in software product lines: an investigation of contemporary industrial challenges,” Software Product Lines: Going Beyond, pp. 166–180, 2010.
J. Mortara, X. Tërnava, and P. Collet, “Mapping features to automatically identified object-oriented variability implementations: the case of ArgoUML-SPL,” in Proceedings of the 14th International Working Conference on Variability Modelling of Software-Intensive Systems, New York, NY, USA, Feb. 2020, pp. 1–9, doi: 10.1145/3377024.3377037.
A. Sousa, A. Uchôa, E. Fernandes, C. I. M. Bezerra, J. M. Monteiro, and R. M. C. Andrade, “REM4DSPL: A Requirements Engineering Method for Dynamic Software Product Lines,” in Proceedings of the XVIII Brazilian Symposium on Software Quality, New York, NY, USA, Oct. 2019, pp. 129–138, doi: 10.1145/3364641.3364656.
J. Rodas-Silva, J. A. Galindo, J. García-Gutiérrez, and D. Benavides, “RESDEC: Online Management Tool for Implementation Components Selection in Software Product Lines Using Recommender Systems,” in Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B, New York, NY, USA, Sep. 2019, pp. 33–36, doi: 10.1145/3307630.3342390.
J. Ghofrani, E. Kozegar, A. L. Fehlhaber, and M. D. Soorati, “Applying Product Line Engineering Concepts to Deep Neural Networks,” in Proceedings of the 23rd International Systems and Software Product Line Conference - Volume A, New York, NY, USA, Sep. 2019, pp. 72–77, doi: 10.1145/3336294.3336321.
A. E. Chacón-Luna, E. G. Ruiz, J. A. Galindo, and D. Benavides, “Variability Management in a Software Product Line Unaware Company: Towards a Real Evaluation,” in Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B, New York, NY, USA, Sep. 2019, pp. 82–89, doi: 10.1145/3307630.3342421.
S. El-Sharkawy, N. Yamagishi-Eichler, and K. Schmid, “Metrics for Analyzing Variability and Its Implementation in Software Product Lines: A Systematic Literature Review,” in Proceedings of the 23rd International Systems and Software Product Line Conference - Volume A, New York, NY, USA, Sep. 2019, p. 244, doi: 10.1145/3336294.3342368.
R. Capilla and J. Bosch, “Dynamic Variability Management Supporting Operational Modes of a Power Plant Product Line,” in Proceedings of the Tenth International Workshop on Variability Modelling of Software-intensive Systems, 2016, pp. 49–56.
M. Becker and B. Zhang, “Lean variation management: Increasing business value with a diversified approach,” in Proceedings of the 19th International Conference on Software Product Line, 2015, pp. 385–385.
K. Sierszecki, M. Steffens, H. H. Hojrup, J. Savolainen, and D. Beuche, “Extending variability management to the next level,” in Proceedings of the 18th International Software Product Line Conference-Volume 1, 2014, pp. 320–329.
K. Villela, A. Silva, T. Vale, and E. S. de Almeida, “A survey on software variability management approaches,” in Proceedings of the 18th International Software Product Line Conference-Volume 1, 2014, pp. 147–156.
A. Metzger and K. Pohl, “Software product line engineering and variability management: achievements and challenges,” in Proceedings of the on Future of Software Engineering, 2014, pp. 70–84.
J. Savolainen, “Past, present and future of product line engineering in industry: reflecting on 15 years of variability management in real projects,” in Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems, 2014, p. 1.
D. Benavides and J. A. Galindo, “Variability management in an unaware software product line company: an experience report,” in Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems, 2014, p. 5.
Y. Ishida, “Scalable variability management for enterprise applications with data model driven development,” in Proceedings of the 17th International Software Product Line Conference co-located workshops, 2013, pp. 90–93.
C. Dumitrescu, R. Mazo, C. Salinesi, and A. Dauron, “Bridging the gap between product lines and systems engineering: an experience in variability management for automotive model based systems engineering,” in Proceedings of the 17th International Software Product Line Conference, 2013, pp. 254–263.
B. Wang, L. Passos, Y. Xiong, K. Czarnecki, H. Zhao, and W. Zhang, “Smartfixer: Fixing software configurations based on dynamic priorities,” in Proceedings of the 17th International Software Product Line Conference, 2013, pp. 82–90.
A. K. Thurimella and S. Ramaswamy, “On adopting multi-criteria decision-making approaches for variability management in software product lines,” in Proceedings of the 16th International Software Product Line Conference-Volume 2, 2012, pp. 32–35.
A. Leitner, J. Zehetner, P. Toeglhofer, and D. Watzenig, “Requirement identification for variability management in a co-simulation environment,” in Proceedings of the 16th International Software Product Line Conference-Volume 1, 2012, pp. 269–274.
A. Abele, H. Lönn, M.-O. Reiser, M. Weber, and H. Glathe, “EPM: a prototype tool for variability management in component hierarchies,” in Proceedings of the 16th International Software Product Line Conference-Volume 2, 2012, pp. 246–249.
M. Acher, P. Heymans, P. Collet, and P. Lahire, “Next-generation model-based variability management: languages and tools,” 2012.
S. Khoshnevis, “An approach to variability management in service-oriented product lines,” in Proceedings of the 34th International Conference on Software Engineering, 2012, pp. 1483–1486.
C. Pichler and C. Huemer, “Towards variability management in business document types using product line engineering,” in Proceedings of the 5th European Conference on Software Architecture: Companion Volume, 2011, p. 8.