Skip to main content

Supporting Product Line Adoption by Combining Syntactic and Textual Feature Extraction

  • Conference paper
  • First Online:
New Opportunities for Software Reuse (ICSR 2018)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 10826))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 109.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 139.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. 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

    Google Scholar 

  2. Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley Professional, Reading (2001)

    Google Scholar 

  3. 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

    Chapter  MATH  Google Scholar 

  4. 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)

    Article  Google Scholar 

  5. 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)

    Google Scholar 

  6. 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)

    Google Scholar 

  7. Magic Software Enterprises Ltd.: Magic Software Enterprises. http://www.magicsoftware.com. Last visited May 2017

  8. 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

    Google Scholar 

  9. 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

    Google Scholar 

  10. 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

    Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Article  Google Scholar 

  13. Clements, P., Krueger, C.: Eliminating the adoption barrier. IEEE Softw. 19(4), 29–31 (2002)

    Article  Google Scholar 

  14. Catal, C.: Cagatay: barriers to the adoption of software product line engineering. ACM SIGSOFT Softw. Eng. Notes 34(6), 1 (2009)

    Article  Google Scholar 

  15. 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

    Chapter  Google Scholar 

  16. 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

    Chapter  Google Scholar 

  17. 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

    Chapter  Google Scholar 

  18. 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)

    Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Article  Google Scholar 

  21. Verner, J., Tate, G.: Estimating size and effort in fourth-generation development. IEEE Softw. 5, 15–22 (1988)

    Article  Google Scholar 

  22. 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)

    Google Scholar 

  23. Ocean Software Solutions: Homepage of Magic Optimizer. http://www.magic-optimizer.com. Last visited May 2017

  24. M2J Software LLC: Homepage of M2J. http://www.magic2java.com. Last visited May 2017

  25. 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)

    Article  Google Scholar 

  26. 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)

    Article  Google Scholar 

  27. 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

    Google Scholar 

  28. 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

    Chapter  Google Scholar 

  29. 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)

    Google Scholar 

  30. 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)

    Google Scholar 

  31. Bagheri, E., Ensan, F., Gasevic, D.: Decision support for the software product line domain engineering lifecycle. Autom. Softw. Eng. 19(3), 335–377 (2012)

    Article  Google Scholar 

  32. 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)

    Article  Google Scholar 

  33. 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

    Chapter  Google Scholar 

  34. 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)

    Google Scholar 

  35. 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)

    Article  Google Scholar 

  36. 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)

    Article  Google Scholar 

  37. 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

    Chapter  Google Scholar 

  38. Hinchey, M., Park, S., Schmid, K.: Building dynamic software product lines. IEEE Comput. Soc. 45(10), 22–26 (2012)

    Article  Google Scholar 

  39. 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)

    Google Scholar 

  40. Bencomo, N., Lee, J., Hallsteinsen, S.: How dynamic is your Dynamic Software Product Line? DiVA project (EU FP7 STREP), pp. 61–67 (2010)

    Google Scholar 

  41. 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)

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to András Kicsi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics