PAxSPL: A Generic Framework to Support the Planning of SPL Reengineering

  • Luciano Marchezan Johannes Kepler University Linz
  • Elder Rodrigues UNIPAMPA
  • Maicon Bernardino UNIPAMPA

Abstract


Extractive Software Product Line (SPL) is a well-known approach that organizations can use to transform their legacy applications into an SPL. In this sense, the SPL reengineering process emerges as a possible strategy for applying the extractive SPL. Available artifacts used to perform the SPL reengineering may change, requiring software engineers to adapt their approaches as a means to satisfying the companies' scenarios. However, there is a lack of an approach supporting this adaptation considering different scenarios. To address these limitations we propose the Prepare, Assemble, and Execute Framework SPL reengineering (PAxSPL). PAxSPL is composed of three different aspects: a process, guidelines, and a supporting tool. For evaluating PAxSPL, we extracted eight different scenarios from the literature. Results evidenced that PAxSPL is customizable to a variety of scenarios with different reengineering artifacts, techniques, and activities.

References

Acher, M., Cleve, A., Collet, P., Merle, P., Duchien, L., and Lahire, P. (2013). Extraction and evolution of architectural variability models in plugin-based systems. Software & Systems Modeling, 13(4):1367–1394.

Al-Msie’Deen, R., Seriai, D., Huchard, M., Urtado, C., Vauttier, S., and Eyal-Salman, H. (2012). An approach to recover feature models from object-oriented source code. Actes de la Journée Lignes de Produits, pages 15–26.

Alves, V., Schwanninger, C., Barbosa, L., Rashid, A., Sawyer, P., Rayson, P., Pohl, C., and Rummler, A. (2008). An exploratory study of information retrieval techniques in domain analysis. In 12th SPLC, pages 67–76. IEEE.

Assunção, W., Lopez-Herrejon, R., Linsbauer, L., Vergilio, S., and Egyed, A. (2017). Reengineering legacy applications into software product lines: a systematic mapping. Empirical Software Engineering, pages 1–45.

Breivold, H. P., Larsson, S., and Land, R. (2008). Migrating industrial systems towards software product lines: Experiences and observations through case studies. In 2008 34th Euromicro Conference SEAA, pages 232–239.

Capilla, R., Gallina, B., Cetina, C., and Favaro, J. (2019). Opportunities for software reuse in an uncertain world: From past to emerging trends. Journal of Software: Evolution and Process, 31(8):e2217.

Chen, K., Zhang, W., Zhao, H., and Mei, H. (2005). An approach to constructing feature models based on requirements clustering.In Requirements Engineering, 2005. Proceedings. 13th IEEE International Conference on, pages 31–40. IEEE.

Clements, P. and Northrop, L. (2002). Software product lines. Addison-Wesley,.

Eyal-Salman, H., Seriai, D., and Dony, C. (2013). Feature-to-code traceability in a collection of software variants: Combining formal concept analysis and information retrieval. In 14th IRI, pages 209–216. IEEE.

John, I. (2010). Using documentation for product line scoping. Software, IEEE, 27(3):42–47.

John, I. and Eisenbarth, M. (2009). A decade of scoping: A survey. In Proceedings of the 13th SPLC, SPLC ’09, pages 31–40.

Krüger, J., Mahmood, W., and Berger, T. (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, SPLC ’20, New York, NY, USA. ACM.

Laguna, M. A. and Crespo, Y. (2013). A systematic mapping study on software product line evolution: From legacy system reengineering to product line refactoring. Science of Computer Programming, 78(8):1010–1034.

Marchezan, L. (2020). PAxSPL: A generic framework to support the planning of SPL reengineering. Master’s thesis, Universidade Federal do Pampa, Av. Tiaraju, 810 Ibirapuitã, Alegrete RS, 97546-550, Brazil.

Marchezan, L., Carbonell, J. a., Rodrigues, E., Bernardino, M., Basso, F. P., and Assunção, W. K. G. (2020). Enhancing the feature retrieval process with scoping and tool support: Paxspl v2. In Proceedings of the 24th ACM SPLC Volume B, SPLC ’20, page 29–36, New York, NY, USA. Association for Computing Machinery.

Marchezan, L., Rodrigues, E., Bernardino, M., and Basso, F. P. (2019). PAxSPL: A feature retrieval process for software product line reengineering. Software: Practice and Experience, 49(8):1278–1306.

Martinez, J., Assunção, W. K. G., and Ziadi, T. (2017). Espla: A catalog of extractive spl adoption case studies. In Proceedings of the 21st SPLC Volume B, SPLC ’17, pages 38–41, New York, NY, USA. ACM.

Paskevicius, P., Damasevicius, R., Karciauskas, E., and Marcinkevicius, R. (2012). Automatic extraction of features and generation of feature models from java programs. Information Technology And Control, 41(4):376–384.

Pereira, J. A., Constantino, K., and Figueiredo, E. (2015). A systematic literature review of software product line management tools. In International Conference on Software Reuse, pages 73–89. Springer.

Pohl, K., Böckle, G., and van Der Linden, F. (2005). Software product line engineering: foundations, principles and techniques. Springer Science & Business Media.

Shatnawi, A., Seriai, A., and Sahraoui, H. (2014). Recovering architectural variability In Schaefer, I. and Stamelos, I., editors, Software of a family of product variants. Reuse for Dynamic Systems in the Cloud and Beyond, pages 17–33, Cham. Springer International Publishing.

Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., and Wesslén, A. (2012). Experimentation in software engineering, volume 1. Springer Science & Business Media.
Published
2021-09-27
MARCHEZAN, Luciano; RODRIGUES, Elder; BERNARDINO, Maicon. PAxSPL: A Generic Framework to Support the Planning of SPL Reengineering. In: SOFTWARE ENGINEERING DOCTORAL AND MASTER THESIS COMPETITION (CTD-ES) - BRAZILIAN CONFERENCE ON SOFTWARE: THEORY AND PRACTICE (CBSOFT), 12. , 2021, Joinville. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2021 . p. 97-111. DOI: https://doi.org/10.5753/cbsoft_estendido.2021.17297.