PAxSPL: A Generic Framework to Support the Planning of SPL Reengineering
Resumo
A abordagem de Linhas de Produto de Software (SPL) extrativa pode ser usada por organizações que pretendem transformar seus sistemas legados em SPL. Nesse contexto, o processo de reengenharia de SPL é uma possível estratégia para se aplicar esta abordagem. Os artefatos disponíveis usados para se realizar a reengenharia de SPL podem mudar, exigindo que os engenheiros de software adaptem suas abordagens para se adequar aos cenários das empresas. No entanto, identificamos a falta de uma abordagem que de suporte a esta adaptação considerando diferentes cenários. Para atender essa limitação, propomos o Prepare, Assemble and Execute framework para reengenharia de SPL (PAxSPL). PAxSPL é composto por três partes diferentes: um processo, diretrizes e uma ferramenta de suporte. Para avaliar o PAxSPL, extraímos oito cenários diferentes da literatura. Os resultados evidenciaram que o PAxSPL é customizável para uma variedade de cenários com diferentes artefatos, técnicas e atividades de reengenharia.Referências
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.
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.
Publicado
27/09/2021
Como Citar
MARCHEZAN, Luciano; RODRIGUES, Elder; BERNARDINO, Maicon.
PAxSPL: A Generic Framework to Support the Planning of SPL Reengineering. In: CONCURSO DE TESES E DISSERTAÇÕES EM ENGENHARIA DE SOFTWARE (CTD-ES) - CONGRESSO BRASILEIRO DE SOFTWARE: TEORIA E PRÁTICA (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.