skip to main content
10.1145/3483899.3483902acmotherconferencesArticle/Chapter ViewAbstractPublication PagessbcarsConference Proceedingsconference-collections
research-article

SPLReePlan - Automated Support for Software Product Line Reengineering Planning

Published:05 October 2021Publication History

ABSTRACT

The extractive adoption of Software Product Lines (SPL) relies on the reuse of the already developed systems, employing a reengineering process. However, due to the diversity of options found in the daily practice of SPL development, rigorous planning of scenarios is critical to perform SPL reengineering. This diversity is the result of different organizational aspects, such as team experience and product portfolio. Hence, a proper planning process must consider technical and organizational aspects, however, most existing studies in the field do not take into account organizational aspects of the companies. In this work, we present SPLReePlan, an automated framework to aid the SPL reengineering planning taking into account technical and organizational aspects. Our framework is supported by a web-based tool, ready to be used in the industry. To investigate how flexible is SPLReePlan to support the SPL reengineering planning in diverse situations, we extracted eight different scenarios from the SPL literature, which are used as input for the evaluation of SPLReePlan. The results indicate that SPLReePlan can be satisfactorily customized to a variety of scenarios with different artifacts, feature retrieval techniques, and reengineering activities. As a contribution, we discuss the lessons learned within the evaluation, and present challenges that were faced, being a source of information for tool builders or motivating new studies.

References

  1. M. Acher, A. Cleve, P. Collet, P. Merle, L. Duchien, and P. Lahire. 2013. Extraction and evolution of architectural variability models in plugin-based systems. Software & Systems Modeling 13, 4 (2013), 1367–1394.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. R. Al-Msie’Deen, D. Seriai, M. Huchard, C. Urtado, S. Vauttier, and H. Eyal-Salman. 2012. An approach to recover feature models from object-oriented source code. Actes de la Journée Lignes de Produits(2012), 15–26.Google ScholarGoogle Scholar
  3. H.I. Alsawalqah, S. Kang, and J. Lee. 2014. A method to optimize the scope of a software product platform based on end-user features. Journal of Systems and Software 98 (2014), 79 – 106. https://doi.org/10.1016/j.jss.2014.08.034Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. V. Alves, C. Schwanninger, L. Barbosa, A. Rashid, P. Sawyer, P. Rayson, C. Pohl, and A. Rummler. 2008. An exploratory study of information retrieval techniques in domain analysis. In 12th International Software Product Line Conference. IEEE, 67–76.Google ScholarGoogle Scholar
  5. W. Assunção, R. Lopez-Herrejon, L. Linsbauer, S. Vergilio, and A. Egyed. 2017. Reengineering legacy applications into software product lines: a systematic mapping. Empirical Software Engineering(2017), 1–45.Google ScholarGoogle Scholar
  6. G. Bécan, M. Acher, B. Baudry, and S. Nasr. 2013. Breathing ontological knowledge into feature model management. Available at: https://hal.inria.fr/hal-00874867/. Access in: 26 april 2020.Google ScholarGoogle Scholar
  7. J. Bosch. 2006. The challenges of broadening the scope of software product families. Commun. ACM 49, 12 (2006), 41–44.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. H. P. Breivold, S. Larsson, and R. Land. 2008. Migrating Industrial Systems towards Software Product Lines: Experiences and Observations through Case Studies. In 2008 34th Euromicro Conference Software Engineering and Advanced Applications. 232–239.Google ScholarGoogle Scholar
  9. S. Chardigny, A. Seriai, M. Oussalah, and D. Tamzalit. 2008. Extraction of Component-Based Architecture from Object-Oriented Systems. In Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008). 285–288.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. K. Chen, W. Zhang, H. Zhao, and H. Mei. 2005. An approach to constructing feature models based on requirements clustering. In Requirements Engineering, 2005. Proceedings. 13th IEEE International Conference on. IEEE, 31–40.Google ScholarGoogle Scholar
  11. J. deBaud and K. Schmid. 1999. A systematic approach to derive the scope of software product lines. In Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002). 34–43. https://doi.org/10.1145/302405.302409Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. S. Dumais. 2004. Latent semantic analysis. Annual review of information science and technology 38, 1(2004), 188–230.Google ScholarGoogle Scholar
  13. H. Eyal-Salman, D. Seriai, and C. Dony. 2013. Feature-to-code traceability in a collection of software variants: Combining formal concept analysis and information retrieval. In 14th International Conference on Information Reuse and Integration. IEEE, 209–216.Google ScholarGoogle Scholar
  14. A. Ferrari, G. O. Spagnolo, and F. Dell’Orletta. 2013. Mining commonalities and variabilities from natural language documents. In 17th International Software Product Line Conference. ACM, 116–120.Google ScholarGoogle Scholar
  15. S. Fischer, L. Linsbauer, R. E. Lopez-Herrejon, and A. Egyed. 2014. Enhancing clone-and-own with systematic reuse for developing software variants. In Software Maintenance and Evolution (ICSME), 2014 IEEE International Conference on. IEEE, 391–400.Google ScholarGoogle Scholar
  16. B. Ganter and R. Wille. 2012. Formal concept analysis: mathematical foundations. Springer Science & Business Media.Google ScholarGoogle Scholar
  17. E. N. Haslinger, R. E. Lopez-Herrejon, and A. Egyed. 2011. Reverse engineering feature models from programs’ feature sets. In 18th Working Conference on Reverse Engineering. IEEE, 308–312.Google ScholarGoogle Scholar
  18. Florian Heidenreich, Jan Kopcsek, and Christian Wende. 2008. FeatureMapper: mapping features to models. In Companion of the 30th international conference on Software engineering. ACM, 943–944.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. A. Hubaux, P. Heymans, and D. Benavides. 2008. Variability modeling challenges from the trenches of an open source product line re-engineering project. In 12th International Software Product Line Conference. IEEE, 55–64.Google ScholarGoogle Scholar
  20. K. Kang, M. Kim, J. Lee, and B. Kim. 2005. Feature-oriented re-engineering of legacy systems into product line assets–a case study. In International Conference on Software Product Lines. Springer, 45–56.Google ScholarGoogle Scholar
  21. J. Krüger, W. Mahmood, and T. Berger. 2020. Promote-Pl: A Round-Trip Engineering Process Model for Adopting and Evolving Product Lines. In 24th ACM Conference on Systems and Software Product Line: Volume A (Montreal, Quebec, Canada) (SPLC ’20). ACM, New York, NY, USA, Article 2, 12 pages. https://doi.org/10.1145/3382025.3414970Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. U. Kulesza, V. Alves, A. Garcia, A. Neto, E. Cirilo, C. De Lucena, and P. Borba. 2007. Mapping features to aspects: A model-based generative approach. In Early Aspects Workshop. Springer, 155–174.Google ScholarGoogle Scholar
  23. M. A Laguna and Y. Crespo. 2013. A systematic mapping study on software product line evolution: From legacy system reengineering to product line refactoring. Science of Computer Programming 78, 8 (2013), 1010–1034.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. L. B. Lisboa, V. C. Garcia, D. Lucrédio, E. S. de Almeida, S. R. de Lemos Meira, and R. P. de Mattos Fortes. 2010. A systematic review of domain analysis tools. Information and Software Technology 52, 1 (2010), 1 – 13. https://doi.org/10.1016/j.infsof.2009.05.001Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. L. Marchezan, W. KG Assunção, J. Carbonell, E. M. Rodrigues, M. Bernardino, and F. Basso. 2021. SPLReePlan Data set. https://doi.org/10.5281/zenodo.5091627Google ScholarGoogle Scholar
  26. L. Marchezan, J. Carbonell, E. Rodrigues, M. Bernardino, F. P. Basso, and W. K. G. Assunção. 2020. Enhancing the Feature Retrieval Process with Scoping and Tool Support: PAxSPL_v2. In Proceedings of the 24th ACM International Systems and Software Product Line Conference - Volume B (Montreal, QC, Canada) (SPLC ’20). Association for Computing Machinery, New York, NY, USA, 29–36. https://doi.org/10.1145/3382026.3425767Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. L. Marchezan, E. Rodrigues, M. Bernardino, and F. P. Basso. 2019. PAxSPL: A feature retrieval process for software product line reengineering. Software: Practice and Experience 49, 8 (2019), 1278–1306. https://doi.org/10.1002/spe.2707Google ScholarGoogle ScholarCross RefCross Ref
  28. J. Martinez, W. K. G. Assunção, and T. Ziadi. 2017. ESPLA: A Catalog of Extractive SPL Adoption Case Studies. In Proceedings of the 21st International Systems and Software Product Line Conference - Volume B (Sevilla, Spain) (SPLC ’17). ACM, New York, NY, USA, 38–41. https://doi.org/10.1145/3109729.3109748Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Jabier Martinez, Tewfik Ziadi, Tegawendé F Bissyandé, Jacques Klein, and Yves Le Traon. 2015. Bottom-up adoption of software product lines: a generic and extensible approach. In Proceedings of the 19th International Conference on Software Product Line. ACM, 101–110.Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. C. Nunes, A. Garcia, C. Lucena, and J. Lee. 2012. History-sensitive heuristics for recovery of features in code of evolving program families. In 16th International Software Product Line Conference. ACM, 136–145.Google ScholarGoogle Scholar
  31. P. Paškevičius, R. Damaševičius, E. Karčiauskas, and R. Marcinkevičius. 2012. Automatic Extraction of Features and Generation of Feature Models from Java Programs. Information Technology And Control 41, 4 (2012), 376–384.Google ScholarGoogle Scholar
  32. J. A. Pereira, K. Constantino, and E. Figueiredo. 2015. A systematic literature review of software product line management tools. In International Conference on Software Reuse. Springer, 73–89.Google ScholarGoogle Scholar
  33. J. Rubin and M. Chechik. 2010. From Products to Product Lines Using Model Matching and Refactoring.. In SPLC Workshops. 155–162.Google ScholarGoogle Scholar
  34. G. Salton, A. Wong, and C. Yang. 1975. A vector space model for automatic indexing. Commun. ACM 18, 11 (1975), 613–620.Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. K. Schmid. 2002. A Comprehensive Product Line Scoping Approach and Its Validation. In Proceedings of the 24th International Conference on Software Engineering (Orlando, Florida) (ICSE ’02). ACM, New York, NY, USA, 593–603.Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. A. Shatnawi, A. Seriai, and H. Sahraoui. 2014. Recovering Architectural Variability of a Family of Product Variants. In Software Reuse for Dynamic Systems in the Cloud and Beyond. Springer International Publishing, Cham, 17–33.Google ScholarGoogle Scholar
  37. F. Van der Linden, K. Schmid, and E. Rommes. 2007. Software product lines in action: the best industrial practice in product line engineering. Springer Science & Business Media.Google ScholarGoogle Scholar
  38. C. Wohlin, P. Runeson, M. Höst, M. C Ohlsson, B. Regnell, and A. Wesslén. 2012. Experimentation in software engineering. Vol. 1. Springer Science & Business Media.Google ScholarGoogle Scholar

Index Terms

  1. SPLReePlan - Automated Support for Software Product Line Reengineering Planning
            Index terms have been assigned to the content through auto-classification.

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Published in

              cover image ACM Other conferences
              SBCARS '21: Proceedings of the 15th Brazilian Symposium on Software Components, Architectures, and Reuse
              September 2021
              109 pages
              ISBN:9781450384193
              DOI:10.1145/3483899

              Copyright © 2021 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 5 October 2021

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article
              • Research
              • Refereed limited

              Acceptance Rates

              Overall Acceptance Rate23of79submissions,29%
            • Article Metrics

              • Downloads (Last 12 months)14
              • Downloads (Last 6 weeks)2

              Other Metrics

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader

            HTML Format

            View this article in HTML Format .

            View HTML Format