Abstract
A product line (PL) supports and simplifies the development process of (software) systems by reusing assets. As systems are subjected to frequent alterations, the implementation of this changes can be a complex and error-prone task. For this reason a change impact analysis (CIA) systematically identifies locations that are affected by a change. While both approaches (PL and CIA) per se are often discussed in literature, the combination of them is still a challenge. This paper gives a comprehensive overview of literature, which addresses the integration of PL and CIA concepts. Furthermore, we classify our results to outline both, the current research stage as well as gaps. Therefore, we conducted a systematic mapping study incorporating 165 papers. While most of the papers have their background within Software Product Lines (SPLs) (44.2 %) or PLs (5.5 %), CIA in the combination with Multi Product Lines (2.4 %) or Product Families (PFs) (1.8 %) is sparsely addressed in literature. The results show that CIA for SPLs has been partially addressed yet, whereas the consideration of different disciplines (PFs) is insufficiently covered.
C. Brink—This research has been partially supported by the Federal Ministry of Education and Research, project AMALTHEA4public no. 01IS14029J.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
References
Amjad Alam, K., Binti Ahmad, R., Akhtar, M.: Change impact analysis and propagation in service based business process management systems preliminary results from a systematic review. In: 8th Malaysian Software Engineering Conference (2014)
Arnold, R.S.: Software Change Impact Analysis. IEEE Computer Society Press, Los Alamitos (1996)
Chen, L., Babar, M.A.: A systematic review of evaluation of variability management approaches in software product lines. Inf. Softw. Technol. 53, 344–362 (2011)
Ferreira Bastos, J., Anselmo da Mota Silveira Neto, P., Santana de Almeida, E., Romero de Lemos Meira, S.: Adopting software product lines: a systematic mapping study. In: Conference on Evaluation Assessment in Software Engineering (2011)
Godfrey, M., German, D.: The past, present, and future of software evolution. In: Frontiers of Software Maintenance (2008)
Holl, G., Grünbacher, P., Rabiser, R.: A systematic review and an expert survey on capabilities supporting multi product lines. Inf. Softw. Technol. 54, 828–852 (2012)
Kitchenham, B., Charters, S.: Guidelines for performing systematic literature reviews in software engineering. Technical report, Keele University and Durham University Joint Report (2007)
Laguna, M.A., Crespo, Y.: A systematic mapping study on software product line evolution: from legacy system reengineering to product line refactoring. Sci. Comput. Program. 78, 1010–1034 (2013)
Lehnert, S.: A review of software change impact analysis. Technical report. Ilmenau University of Technology (2011)
Li, B., Sun, X., Leung, H., Zhang, S.: A survey of code-based change impact analysis techniques. Softw. Test. Verif. Reliab. 23, 613–646 (2013)
Linden, F.J.v.d., Schmid, K., Rommes, E.: Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering (2007)
Mockus, A., Votta, L.: Identifying reasons for software changes using historic databases. In: Proceedings of the International Conference on Software Maintenance (2000)
Mujtaba, S., Petersen, K., Feldt, R., Mattsson, M.: Software product line variability: a systematic mapping study. Blekinge Institute of Technology (2008)
Petersen, K., Feldt, R., Mujtaba, S., Mattsson, M.: Systematic mapping studies in software engineering. In: 12th International Conference on Evaluation and Assessment in Software Engineering (2008)
Petersen, K., Vakkalanka, S., Kuzniarz, L.: Guidelines for conducting systematic mapping studies in software engineering: an update. Inf. Softw. Technol. 64, 1–18 (2015)
Pretschner, A., Broy, M., Kruger, I., Stauner, T.: Software engineering for automotive systems: a roadmap. In: Future of Software Engineering (2007)
Wieringa, R., Maiden, N.A.M., Mead, N.R., Rolland, C.: Requirements engineering paper classification and evaluation criteria: a proposal and a discussion. Requir. Eng. 11, 102–107 (2006)
Wohlin, C.: 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)
Wohlin, C., Runeson, P., da Mota Silveira Neto, P.A., Engström, E., do Carmo Machado, I., de Almeida, E.S.: On the reliability of mapping studies in software engineering. J. Syst. Softw. 86, 2594–2610 (2013)
Study References
Ahmed, W., Myers, D.: Concept-based partitioning for large multidomain multifunctional embedded systems. ACM Trans. Design Autom. Electr. Syst. 15(3), 22:1–22:41 (2010). doi:10.1145/1754405.1754407. article no 22
Ajila, S., Kaba, B.A.: Using traceability mechanisms to support software product line evolution. In: International Conference on Information Reuse and Integration (2004)
Ajila, S.A., Bailetti, A.J., Dumitrescu, R.T.: Experience report on software product line evolution due to market reposition. In: Proceedings of the Workshop on Quantitative Techniques for Software Agile Process (2004)
Ajila, S.A., Kaba, A.B.: Evolution support mechanisms for software product line process. J. Syst. Softw. 81, 1784–1801 (2008)
Alves, V., Matos Jr., P., Cole, L., Borba, P., Ramalho, G.L.: Extracting and evolving mobile games product lines. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 70–81. Springer, Heidelberg (2005)
Alves, V., Matos, P., Cole, L., Vasconcelos, A., Borba, P., Ramalho, G.: Extracting and evolving code in product lines with aspect-oriented programming. In: Rashid, A., Aksit, M. (eds.) Transactions on AOSD IV. LNCS, vol. 4640, pp. 117–142. Springer, Heidelberg (2007)
Angerer, F.: Variability-aware change impact analysis of multi-language product lines. In: ACM/IEEE International Conference on Automated Software Engineering (2014)
Angerer, F., Prähofer, H., Lettner, D., Grimmer, A., Grünbacher, P.: Identifying inactive code in product lines with configuration-aware system dependence graphs. In: 18th International Software Product Line Conference (2014)
Araújo, J., Goulão, M., Moreira, A., Simão, I., Amaral, V., Baniassad, E.L.A.: Advanced modularity for building SPL feature models: a model-driven approach. In: Proceedings of the 28th Annual ACM Symposium on Applied Computing (2013)
Babar, M.A., Ihme, T., Pikkarainen, M.: An industrial case of exploiting product line architectures in agile software development. In: Proceedings of the 13th International Conference on Software Product Lines (2009)
Bachmann, F., Goedicke, M., Leite, J.C.S.P., Nord, R.L., Pohl, K., Ramesh, B., Vilbig, A.: A meta-model for representing variability in product family development. In: van der Linden, F.J. (ed.) PFE 2003. LNCS, vol. 3014, pp. 66–80. Springer, Heidelberg (2004)
Baresi, L., Quinton, C.: Dynamically evolving the structural variability of dynamic software product lines. In: 10th IEEE/ACM International Symposium on Software Engineering for Adaptive and Self-Managing Systems (2015)
Batista, T.V., Bastarrica, M.C., Soares, S., da Silva, L.F.: A marriage of MDD and early aspects in software product line development. In: Proceedings of the 12th International Conference on Software Product Lines (2008)
Batory, D.S., Johnson, C., MacDonald, B., von Heeder, D.: Achieving extensibility through product-lines and domain-specific languages: a case study. ACM Trans. Softw. Eng. Methodol. 11, 191–214 (2002)
Benlarabi, A., Khtira, A., Asri, B.E.: Analyzing trends in software product lines evolution using a cladistics based approach. Information 6, 550–563 (2015)
Beuche, D., Papajewski, H., Schröder-Preikschat, W.: Variability management with feature models. Sci. Comput. Program. 53, 333–352 (2004)
Dannenberg, R.B., Ran, A.: Evolution of software product families. In: van der Linden, F.J. (ed.) IW-SAPF 2000. LNCS, vol. 1951, p. 168. Springer, Heidelberg (2000)
Cafeo, B.B.P., Dantas, F., Gurgel, A.C., Guimarães, E.T., Cirilo, E., Garcia, A.F., de Lucena, C.J.P.: Analysing the impact of feature dependency implementation on product line stability: an exploratory study. In: 26th Brazilian Symposium on Software Engineering (2012)
Carbon, R., Lindvall, M., Muthig, D., Costa, P.: Integrating product line engineering and agile methods: flexible design up-front vs. incremental design. In: 1st International Workshop on Agile Product Line Engineering (2006)
Catal, C.: Barriers to the adoption of software product line engineering. ACM SIGSOFT Softw. Eng. Notes 34, 1–4 (2009)
Cavalcante, E., Almeida, A., Batista, T.V., Cacho, N., Lopes, F., Delicato, F.C., Sena, T.S., Pires, P.F.: Exploiting software product lines to develop cloud computing applications. In: 16th International Software Product Line Conference (2012)
Chen, C., Chen, P.: A holistic approach to managing software change impact. J. Syst. Softw. 82, 2051–2067 (2009)
Chen, C., Liao, G., Lin, K.: An attribute-based and object-oriented approach with system implementation for change impact analysis in variant product design. Comput. Aided Des. 62, 203–217 (2015)
Corrêa, C.K.F., de Oliveira, T.C., Werner, C.M.L.: An analysis of change operations to achieve consistency in model-driven software product lines. In: Workshop Proceedings of the 15th International Conference on Software Product Lines (2011)
Czarnecki, K., Helsen, S., Eisenecker, U.W.: Staged configuration through specialization and multilevel configuration of feature models. Softw. Process: Improv. Pract. 10, 143–169 (2005)
Díaz, J., Pérez, J., Garbajosa, J.: Agile product-line architecting in practice: A case study in smart grids. Inf. Softw. Technol. 56(7), 727–748 (2014). Elsevier
Díaz, J., Pérez, J., Garbajosa, J., Wolf, A.L.: Change impact analysis in product-line architectures. In: Crnkovic, I., Gruhn, V., Book, M. (eds.) ECSA 2011. LNCS, vol. 6903, pp. 114–129. Springer, Heidelberg (2011)
Díaz Fernández, J., Pérez Benedí, J., Yagüe Panadero, A., Garbajosa Sopeña, J.: Tailoring the scrum development process to address agile product line engineering. In: XVI Jornadas de Ingeniería del Software y base de Datos, JISBD (2011)
Dintzner, N.: Safe evolution patterns for software product lines. In: 37th IEEE/ACM International Conference on Software Engineering (2015)
Dintzner, N., Kulesza, U., van Deursen, A., Pinzger, M.: Evaluating feature change impact on multi-product line configurations using partial information. In: Proceedings of the 14th International Conference on Software Reuse, Software Reuse for Dynamic Systems in the Cloud and Beyond (2015)
Dyer, R., Rajan, H., Cai, Y.: An exploratory study of the design impact of language features for aspect-oriented interfaces. In: Proceedings of the 11th International Conference on Aspect-oriented Software Development (2012)
Fernández, J.D.: Agile construction and evolution of product-line architectures. Ph.D. thesis, Technical University of Madrid (2012)
Ferreira, F., Borba, P., Soares, G., Gheyi, R.: Making software product line evolution safer. In: 6th Brazilian Symposium on Software Components (2012)
Ferreira, G.C.S., Gaia, F.N., Figueiredo, E., de Almeida Maia, M.: A comparative study on the use of feature-oriented programming for evolving software product lines. Sci. Comput. Program. 93, 65–85 (2014)
Figueiredo, E., Cacho, N., Sant’Anna, C., Monteiro, M., Kulesza, U., Garcia, A., Soares, S., Ferrari, F.C., Khan, S.S., Filho, F.C., Dantas, F.: Evolving software product lines with aspects: an empirical study on design stability. In: 30th International Conference on Software Engineering (2008)
Gaia, F.N., Ferreira, G.C.S., Figueiredo, E., de Almeida Maia, M.: A quantitative assessment of aspectual feature modules for evolving software product lines. In: de Carvalho, F.H., Barbosa, L.S. (eds.) SBLP 2012. LNCS, vol. 7554, pp. 134–149. Springer, Heidelberg (2012)
Gaia, F.N., Ferreira, G.C.S., Figueiredo, E., de Almeida Maia, M.: A quantitative and qualitative assessment of aspectual feature modules for evolving software product lines. Sci. Comput. Program 96, 230–253 (2014)
Ganesan, D., Lindvall, M., Ackermann, C., McComas, D., Bartholomew, M.: Verifying architectural design rules of the flight software product line. In: Proceedings of the 13th International Conference on Software Product Lines (2009)
Garg, A., Critchlow, M., Chen, P., van der Westhuizen, C., vander Hoek, A.: An environment for managing evolving product line architectures. In: 19th International Conference on Software Maintenance, The Architecture of Existing Systems (2003)
Ghanam, Y., Andreychuk, D., Maurer, F.: Reactive variability management in agile software development. In: Agile Conference (2010)
Ghanam, Y., Maurer, F.: An iterative model for agile product line engineering. In: Proceedings of the 12th International Conference on Software Product Lines (2008)
Hanssen, G.K., Fægri, T.E.: Process fusion: an industrial case study on agile software product line engineering. J. Syst. Softw. 81, 843–854 (2008)
Hartmann, H., Trew, T.: Using feature diagrams with context variability to model multiple product lines for software supply chains. In: Proceedings of the 12th International Conference on Software Product Lines (2008)
Heider, W., Rabiser, R., Grünbacher, P., Lettner, D.: Using regression testing to analyze the impact of changes to variability models on products. In: 16th International Software Product Line Conference (2012)
Heider, W., Vierhauser, M., Lettner, D., Grünbacher, P.: A case study on the evolution of a component-based product line. In: Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture (2012)
Hendrickson, S.A., van der Hoek, A.: Modeling product line architectures through change sets and relationships. In: 29th International Conference on Software Engineering (2007)
Holdschick, H.: Challenges in the evolution of model-based software product lines in the automotive domain. In: 4th International Workshop on Feature-Oriented Software Development (2012)
Jaring, M., Dannenberg, R.B.: Representing variability in software product lines: a case study. In: Chastek, G.J. (ed.) SPLC 2002. LNCS, vol. 2379, p. 15. Springer, Heidelberg (2002)
Jaring, M., Krikhaar, R.L., Bosch, J.: Representing variability in a family of MRI scanners. Softw. Pract. Exper 34, 69–100 (2004)
Käßmeyer, M., Schulze, M., Schurius, M.: A process to support a systematic change impact analysis of variability and safety in automotive functions. In: Proceedings of the 19th International Conference on Software Product Line (2015)
Khtira, A., Benlarabi, A., Asri, B.E.: Duplication detection when evolving feature models of software product lines. Information 6, 592–612 (2015)
Kircher, M., Schwanninger, C., Groher, I.: Transitioning to a software product family approach - challenges and best practices. In: Proceedings of the 10th International Conference on Software Product Lines (2006)
Krishnan, S., Lutz, R.R., Goseva-Popstojanova, K.: Empirical evaluation of reliability improvement in an evolving software product line. In: Proceedings of the 8th International Working Conference on Mining Software Repositories (2011)
Lee, K., Kang, K.C., Kim, M., Park, S.: Combining feature-oriented analysis and aspect-oriented programming for product line asset development. In: Proceedings of the 10th International Conference on Software Product Lines (2006)
Lettner, D., Angerer, F., Grünbacher, P., Prähofer, H.: Software evolution in an industrial automation ecosystem: an exploratory study. In: 40th EUROMICRO Conference on Software Engineering and Advanced Applications (2014)
Lettner, D., Angerer, F., Prähofer, H., Grünbacher, P.: A case study on software ecosystem characteristics in industrial automation software. In: International Conference on Software and Systems Process (2014)
Livengood, S.: Issues in software product line evolution: complex changes in variability models. In: Proceedings of the 2nd International Workshop on Product Line Approaches in Software Engineering (2011)
McGregor, J.D., Monteith, J.Y., Zhang, J.: Quantifying value in software product line design. In: Workshop Proceedings of the International Conference on Software Product Lines (2011)
Michalik, B., Weyns, D.: Towards a solution for change impact analysis of software product line products. In: 9th Working Conference on Software Architecture (2011)
Michalik, B., Weyns, D., Betsbrugge, W.V.: On the problems with evolving egemin’s software product line. In: Proceedings of the 2nd International Workshop on Product Line Approaches in Software Engineering (2011)
Millo, J., Ramesh, S., Krishna, S.N., Narwane, G.K.: Compositional verification of evolving software product lines. CoRR (2012)
Mohan, K., Ramesh, B.: Managing variability with traceability in product and service families. In: Proceedings of the 35th Hawaii International Conference on System Sciences (2002)
Mohan, K., Ramesh, B., Sugumaran, V.: Integrating software product line engineering and agile development. IEEE Softw. 27, 48–55 (2010)
Moon, M., Chae, H.S., Nam, T., Yeom, K.: A metamodeling approach to tracing variability between requirements and architecture in software product lines. In: 7th International Conference on Computer and Information Technology (2007)
Murashkin, A., Antkiewicz, M., Rayside, D., Czarnecki, K.: Visualization and exploration of optimal variants in product line engineering. In: 17th International Software Product Line Conference (2013)
Neves, L., Teixeira, L., Sena, D., Alves, V., Kulesza, U., Borba, P.: Investigating the safe evolution of software product lines. In: Proceedings of the 10th International Conference on Generative Programming and Component Engineering (2011)
de Oliveira, T.H.B., Becker, M., Nakagawa, E.Y.: Supporting the analysis of bug prevalence in software product lines with product genealogy. In: 16th International Software Product Line Conference (2012)
Paskevicius, P., Damasevicius, R., Štuikys, V.: Change impact analysis of feature models. In: Skersys, T., Butleris, R., Butkiene, R. (eds.) ICIST 2012. CCIS, vol. 319, pp. 108–122. Springer, Heidelberg (2012)
Passos, L.T., Czarnecki, K., Apel, S., Wasowski, A., Kästner, C., Guo, J.: Feature-oriented software evolution. In: The 7th International Workshop on Variability Modelling of Software-intensive Systems (2013)
Pohl, K., Brandenburg, M., Gülich, A.: Integrating requirement and architecture information: a scenario and meta-model approach. In: Proceedings of the 7th International Workshop on Requirements Engineering (2001)
Quinton, C., Rabiser, R., Vierhauser, M., Grünbacher, P., Baresi, L.: Evolution in dynamic software product lines: challenges and perspectives. In: Proceedings of the 19th International Conference on Software Product Line (2015)
Riebisch, M., Philippow, I.: Evolution of product lines using traceability. In: Workshop on Engineering Complex Object-Oriented Systems for Evolution (2001)
Sabouri, H., Khosravi, R.: Efficient verification of evolving software product lines. Revised Selected Papers of the 4th IPM International Conference on Fundamentals of Software Engineering (2011)
Scheidemann, K.D.: Optimizing the selection of representative configurations in verification of evolving product lines of distributed embedded systems. In: Proceedings of the 10th International Conference on Software Product Lines (2006)
Schmid, K., Verlage, M.: The economic impact of product line adoption and evolution. IEEE Softw. 19, 50–57 (2002)
Schröter, R., Siegmund, N., Thüm, T.: Towards modular analysis of multi product lines. In: 17th International Software Product Line Conference co-located workshops (2013)
Sinnema, M., Deelstra, S.: Industrial validation of COVAMOF. J. Syst. Softw. 81, 584–600 (2008)
Svahnberg, M., Bosch, J.: Characterizing evolution in product line architectures. In: Proceedings of the International Conference on Software Engineering and Applications (1999)
Svahnberg, M., van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques. Softw. Pract. Exper. 35, 705–754 (2005)
Taborda, L.J.M.: Planning and managing product line evolution. Revised Papers of the 5th International Workshop on Software Product-Family Engineering (2003)
Teixeira, L., Borba, P., Gheyi, R.: Safe evolution of product populations and multi product lines. In: Proceedings of the 19th International Conference on Software Product Line (2015)
Tesanovic, A.: Evolving embedded product lines: opportunities for aspects. In: Proceedings of the 6th workshop on Aspects, Components, and Patterns for Infrastructure Software (2007)
Thao, C., Munson, E.V.: Flexible support for managing evolving software product lines. In: Proceedings of the 2nd International Workshop on Product Line Approaches in Software Engineering (2011)
Thüm, T., Batory, D.S., Kästner, C.: Reasoning about edits to feature models. In: 31st International Conference on Software Engineering (2009)
Vianna, A., Pinto, F., Sena, D., Kulesza, U., Coelho, R., Santos, J., Lima, J., Lima, G.: Squid: an extensible infrastructure for analyzing software product line implementations. In: 16th International Software Product Line Conference (2012)
Wall, A., Larsson, M., Norström, C.: Towards an impact analysis for component based real-time product line architectures. In: 28th EUROMICRO Conference (2002)
Weyns, D., Michalik, B., Helleboogh, A., Boucké, N.: An architectural approach to support online updates of software product lines. In: 9th Working IEEE/IFIP Conference on Software Architecture (2011)
White, J., Galindo, J.A., Saxena, T., Dougherty, B., Benavides, D., Schmidt, D.C.: Evolving feature model configurations in software product lines. J. Syst. Softw. 87, 119–136 (2014)
Yazdanshenas, A.R., Moonen, L.: Fine-grained change impact analysis for component-based product families. In: International Conference on Software Maintenance (2012)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Brink, C., Heisig, P., Wackermann, F. (2016). Change Impact in Product Lines: A Systematic Mapping Study. In: Dregvaite, G., Damasevicius, R. (eds) Information and Software Technologies. ICIST 2016. Communications in Computer and Information Science, vol 639. Springer, Cham. https://doi.org/10.1007/978-3-319-46254-7_55
Download citation
DOI: https://doi.org/10.1007/978-3-319-46254-7_55
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-46253-0
Online ISBN: 978-3-319-46254-7
eBook Packages: Computer ScienceComputer Science (R0)