[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ 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 2021 Publication 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.
[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.
[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.034
[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.
[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.
[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.
[7]
J. Bosch. 2006. The challenges of broadening the scope of software product families. Commun. ACM 49, 12 (2006), 41–44.
[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.
[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.
[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.
[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.302409
[12]
S. Dumais. 2004. Latent semantic analysis. Annual review of information science and technology 38, 1(2004), 188–230.
[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.
[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.
[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.
[16]
B. Ganter and R. Wille. 2012. Formal concept analysis: mathematical foundations. Springer Science & Business Media.
[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.
[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.
[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.
[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.
[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.3414970
[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.
[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.
[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.001
[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.5091627
[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.3425767
[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.2707
[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.3109748
[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.
[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.
[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.
[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.
[33]
J. Rubin and M. Chechik. 2010. From Products to Product Lines Using Model Matching and Refactoring. In SPLC Workshops. 155–162.
[34]
G. Salton, A. Wong, and C. Yang. 1975. A vector space model for automatic indexing. Commun. ACM 18, 11 (1975), 613–620.
[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.
[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.
[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.
[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.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

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
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: 05 October 2021

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. automated support
  2. reengineering process
  3. software product lines
  4. variability management

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

  • Unipampa
  • CNPq
  • FAPERJ

Conference

SBCARS '21

Acceptance Rates

Overall Acceptance Rate 23 of 79 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 107
    Total Downloads
  • Downloads (Last 12 months)12
  • Downloads (Last 6 weeks)1
Reflects downloads up to 21 Dec 2024

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media