Abstract
Software product line (SPL) architecture facilitates systematic reuse to serve specific feature requests of new customers. Our work deals with the adoption of SPL architecture in an existing legacy system. In this case, the extractive approach of SPL adoption turned out to be the most viable method, where the system is redesigned keeping variants within the same code base. The analysis of the feature structure is a crucial point in this process as it involves both domain experts working at a higher level of abstraction and developers working directly on the program code. In this work, we propose an automatic method to extract feature-to-program connections starting from a very high level set of features provided by domain experts and existing program code. The extraction is performed by combining and further processing call graph information on the code with textual similarity between code and high level features. The context of our work is an industrial SPL adoption project of a large scale logistical information system written in an 4G language, Magic. We demonstrate the benefits of the combined method and its use by different stakeholders in this project.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Fischer, S., Linsbauer, L., Lopez-Herrejon, R.E., Egyed, A.: Enhancing clone-and-own with systematic reuse for developing software variants. In: 2014 IEEE International Conference on Software Maintenance and Evolution, pp. 391–400. IEEE, September 2014
Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley Professional, Reading (2001)
Krueger, C.W.: Easing the transition to software mass customization. In: van der Linden, F. (ed.) PFE 2001. LNCS, vol. 2290, pp. 282–293. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-47833-7_25
Kästner, C., Dreiling, A., Ostermann, K.: Variability mining: consistent semi-automatic detection of product-line features. IEEE Trans. Softw. Eng. 40(1), 67–82 (2014)
Assunção, W.K.G., Vergilio, S.R.: Feature location for software product line migration. In: Proceedings of the 18th International Software Product Line Conference on Companion Volume for Workshops, Demonstrations and Tools - SPLC 2014, pp. 52–59. ACM Press, New York (2014)
Eyal-Salman, H., Seriai, A.D., Dony, C., Al-msie’deen, R.: Recovering traceability links between feature models and source code of product variants. In: Proceedings of the VARiability for You Workshop on Variability Modeling Made Useful for Everyone - VARY 2012, pp. 21–25. ACM Press, New York (2012)
Magic Software Enterprises Ltd.: Magic Software Enterprises. http://www.magicsoftware.com. Last visited May 2017
Nagy, C., Vidács, L., Ferenc, R., Gyimóthy, T., Kocsis, F., Kovács, I.: MAGISTER: quality assurance of magic applications for software developers and end users. In: 26th IEEE International Conference on Software Maintenance, pp. 1–6. IEEE Computer Society, September 2010
Nagy, C., Vidács, L., Ferenc, R., Gyimóthy, T., Kocsis, F., Kovács, I.: Solutions for reverse engineering 4GL applications, recovering the design of a logistical wholesale system. In: Proceedings of CSMR 2011 (15th European Conference on Software Maintenance and Reengineering), 343–346. IEEE Computer Society, March 2011
Al-msie’deen, R., Seriai, A.D., Huchard, M., Urtado, C., Vauttier, S.: Mining features from the object-oriented source code of software variants by combining lexical and structural similarity. In: 2013 IEEE 14th International Conference on Information Reuse & Integration (IRI), pp. 586–593. IEEE, August 2013
Kicsi, A., Vidács, L., Beszédes, A., Kocsis, F., Kovács, I.: Information retrieval based feature analysis for product line adoption in 4GL systems. In: Proceedings of the 17th International Conference on Computational Science and its Applications - ICCSA 2017, pp. 1–6. IEEE (2017)
Clements, P.C., Jones, L.G., McGregor, J.D., Northrop, L.M.: Getting there from here: a roadmap for software product line adoption. Commun. ACM 49(12), 33 (2006)
Clements, P., Krueger, C.: Eliminating the adoption barrier. IEEE Softw. 19(4), 29–31 (2002)
Catal, C.: Cagatay: barriers to the adoption of software product line engineering. ACM SIGSOFT Softw. Eng. Notes 34(6), 1 (2009)
Harrison, J.V., Lim, W.M.: Automated reverse engineering of legacy 4GL information system applications using the ITOC workbench. In: Pernici, B., Thanos, C. (eds.) CAiSE 1998. LNCS, vol. 1413, pp. 41–57. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0054218
Ballarin, M., Lapeña, R., Cetina, C.: Leveraging feature location to extract the clone-and-own relationships of a family of software products. In: Kapitsaki, G.M., Santana de Almeida, E. (eds.) ICSR 2016. LNCS, vol. 9679, pp. 215–230. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-35122-3_15
Nagy, C., Vidács, L., Ferenc, R., Gyimóthy, T., Kocsis, F., Kovács, I.: Complexity measures in 4GL environment. In: Murgante, B., Gervasi, O., Iglesias, A., Taniar, D., Apduhan, B.O. (eds.) ICCSA 2011. LNCS, vol. 6786, pp. 293–309. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21934-4_25
Marcus, A., Maletic, J.: Recovering documentation-to-source-code traceability links using latent semantic indexing. In: 2003 Proceedings of the 25th International Conference on Software Engineering, pp. 125–135. IEEE (2003)
Falessi, D., Cantone, G., Canfora, G.: A comprehensive characterization of NLP techniques for identifying equivalent requirements. In: Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement - ESEM 2010, p. 1. ACM Press, New York (2010)
Deerwester, S.C., Dumais, S.T., Landauer, T.K., Furnas, G.W., Harshman, R.A.: Indexing by latent semantic analysis. J. Am. Soc. Inf. Sci. 41(6), 391–407 (1990)
Verner, J., Tate, G.: Estimating size and effort in fourth-generation development. IEEE Softw. 5, 15–22 (1988)
Witting, G., Finnie, G.: Using artificial neural networks and function points to estimate 4GL software development effort. Australas. J. Inf. Syst. 1(2), 87–94 (1994)
Ocean Software Solutions: Homepage of Magic Optimizer. http://www.magic-optimizer.com. Last visited May 2017
M2J Software LLC: Homepage of M2J. http://www.magic2java.com. Last visited May 2017
Valente, M.T., Borges, V., Passos, L.: A semi-automatic approach for extracting software product lines. IEEE Trans. Softw. Eng. 38(4), 737–754 (2012)
Assunção, W.K.G., Lopez-Herrejon, R.E., Linsbauer, L., Vergilio, S.R., Egyed, A.: Multi-objective reverse engineering of variability-safe feature models based on code dependencies of system variants. Empirical Softw. Eng. 22(4), 1763–1794 (2017)
Haslinger, E.N., Lopez-Herrejon, R.E., Egyed, A.: Reverse engineering feature models from programs’ feature sets. In: 18th Working Conference on Reverse Engineering, pp. 308–312. IEEE, October 2011
Lima, C., Chavez, C., de Almeida, E.S.: Investigating the recovery of product line architectures: an approach proposal. In: Botterweck, G., Werner, C. (eds.) ICSR 2017. LNCS, vol. 10221, pp. 201–207. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-56856-0_15
Krüger, J., Fenske, W., Meinicke, J., Leich, T., Saake, G.: Extracting software product lines: a cost estimation perspective. In: Proceedings of the 20th International Systems and Software Product Line Conference on - SPLC 2016, pp. 354–361. ACM Press, New York (2016)
She, S., Lotufo, R., Berger, T., Wa̧sowski, A., Czarnecki, K.: Reverse engineering feature models. In: Proceeding of the 33rd International Conference on Software Engineering - ICSE 2011, p. 461. ACM Press, New York (2011)
Bagheri, E., Ensan, F., Gasevic, D.: Decision support for the software product line domain engineering lifecycle. Autom. Softw. Eng. 19(3), 335–377 (2012)
Siegmund, N., Rosenmüller, M., Kuhlemann, M., Kästner, C., Apel, S., Saake, G.: SPL conqueror: toward optimization of non-functional properties in software product lines. Softw. Qual. J. 20(3–4), 487–517 (2012)
Lee, K., Kang, K.C., Lee, J.: Concepts and guidelines of feature modeling for product line software engineering. In: Gacek, C. (ed.) ICSR 2002. LNCS, vol. 2319, pp. 62–77. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-46020-9_5
Baresi, L., Quinton, C.: Dynamically evolving the structural variability of dynamic software product lines. In: 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (2015)
Bashari, M., Bagheri, E., Du, W.: Dynamic software product line engineering: a reference framework. Int. J. Softw. Eng. Knowl. Eng. 27(02), 191–234 (2017)
Capilla, R., Bosch, J., Trinidad, P., Ruiz-Cortés, A., Hinchey, M.: An overview of dynamic software product line architectures and techniques: observations from research and industry. J. Syst. Softw. 91(1), 3–23 (2014)
Uchôa, A.G., Bezerra, C.I.M., Machado, I.C., Monteiro, J.M., Andrade, R.M.C.: ReMINDER: an approach to modeling non-functional properties in dynamic software product lines. In: Botterweck, G., Werner, C. (eds.) ICSR 2017. LNCS, vol. 10221, pp. 65–73. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-56856-0_5
Hinchey, M., Park, S., Schmid, K.: Building dynamic software product lines. IEEE Comput. Soc. 45(10), 22–26 (2012)
Lee, J.: A feature-oriented approach to developing dynamically reconfigurable products in product line engineering. In: 10th International Software Product Line Conference, pp. 131–140 (2006)
Bencomo, N., Lee, J., Hallsteinsen, S.: How dynamic is your Dynamic Software Product Line? DiVA project (EU FP7 STREP), pp. 61–67 (2010)
Classen, A., Hubaux, A., Sanen, F., Truyen, E., Vallejos, J., Costanza, P., De Meuter, W., Heymans, P., Joosen, W.: Modelling variability in self-adaptive systems: towards a research agenda. In: Proceedings of International Workshop on Modularization, Composition and Generative Techniques for Product-Line Engineering, vol. 1(2), pp. 19–26 (2008)
Acknowledgment
Ferenc Kocsis was supported in part by the Hungarian national grant GINOP-2.1.1-15-2015-00370. András Kicsi, László Vidács, Viktor Csuvik, Ferenc Horváth and Árpád Beszédes were supported in part by the European Union, co-financed by the European Social Fund (EFOP-3.6.3-VEKOP-16-2017-00002).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Kicsi, A., Vidács, L., Csuvik, V., Horváth, F., Beszédes, Á., Kocsis, F. (2018). Supporting Product Line Adoption by Combining Syntactic and Textual Feature Extraction. In: Capilla, R., Gallina, B., Cetina, C. (eds) New Opportunities for Software Reuse. ICSR 2018. Lecture Notes in Computer Science(), vol 10826. Springer, Cham. https://doi.org/10.1007/978-3-319-90421-4_10
Download citation
DOI: https://doi.org/10.1007/978-3-319-90421-4_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-90420-7
Online ISBN: 978-3-319-90421-4
eBook Packages: Computer ScienceComputer Science (R0)