skip to main content
10.1145/3579028.3609012acmconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
short-paper

The e4CompareFramework: Annotation-based Software Product-Line Extraction

Published:28 August 2023Publication History

ABSTRACT

Software product-line engineering (SPLE) provides structured reuse strategies reducing the time-to-market and decreasing development and maintenance effort when developing variant-rich software systems. In practice, however, unstructured reuse strategies such as clone-and-own are frequently used. While copying, pasting, and modifying artifacts to create new variants seems straightforward, it increases the maintenance effort. SPLE requires the extraction of a software product-line (SPL) from existing variants. However, this task needs complex analyses that are not feasible manually, making tool support crucial.

This paper presents a process for annotation-based extraction of an SPL from related variants with a detailed source code analysis starting from the expression level implemented as the e4CompareFramework (e4C). The e4CompareFramework provides a customizable detailed variability mining method, a generalization from our previous work. In addition, we implemented a feature location technique and an annotation-based feature model extraction technique to provide a complete SPL extraction process.

References

  1. Akiko Aizawa. 2003. An information-theoretic perspective of tf-idf measures. Information Processing & Management 39, 1 (2003), 45--65.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Michał Antkiewicz, Wenbin Ji, Thorsten Berger, Krzysztof Czarnecki, Thomas Schmorleiz, Ralf Lämmel, Ştefan Stănciulescu, Andrzej Wąsowski, and Ina Schaefer. 2014. Flexible product line engineering with a virtual platform. In Companion Proceedings of the 36th International Conference on Software Engineering. 532--535.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Sven Apel, Don Batory, Christian Kästner, and Gunter Saake. 2016. Feature-oriented software product lines. Springer.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Sven Apel and Christian Kästner. 2009. An overview of feature-oriented software development. J. Object Technol. 8, 5 (2009), 49--84.Google ScholarGoogle ScholarCross RefCross Ref
  5. Danilo Beuche. 2008. Modeling and building software product lines with pure:: variants. In Software Product Line Conference, International. IEEE Computer Society, 358--358.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Jan Bosch. 2010. Toward compositional software product lines. IEEE software 27, 3 (2010), 29--34.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Lianping Chen, Muhammad Ali Babar, and Nour Ali. 2009. Variability management in software product lines: a systematic review. In Proceedings of the 13th International Software Product Line Conference. Citeseer, 81--90.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Paul Clements and Linda Northrop. 2002. Software product lines. Addison-Wesley Boston.Google ScholarGoogle Scholar
  9. Yael Dubinsky, Julia Rubin, Thorsten Berger, Slawomir Duszynski, Martin Becker, and Krzysztof Czarnecki. 2013. An exploratory study of cloning in industrial software product lines. In 2013 17th European Conference on Software Maintenance and Reengineering. IEEE, 25--34.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Sascha El-Sharkawy, Saura Jyoti Dhar, Adam Krafczyk, Slawomir Duszynski, Tobias Beichter, and Klaus Schmid. 2018. Reverse engineering variability in an industrial product line: observations and lessons learned. In Proceedings of the 22nd International Systems and Software Product Line Conference-Volume 1. 215--225.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Wolfram Fenske, Thomas Thüm, and Gunter Saake. 2014. A taxonomy of software product line reengineering. In Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems. 1--8.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Stefan Fischer, Lukas Linsbauer, Roberto E Lopez-Herrejon, and Alexander Egyed. 2015. The ECCO tool: Extraction and composition for clone-and-own. In 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, Vol. 2. IEEE, 665--668.Google ScholarGoogle ScholarCross RefCross Ref
  13. Eclipse Foundation. 2023. Eclipse 4 Application Platform (e4). https://eclipsesource.com/de/technology/e4/Google ScholarGoogle Scholar
  14. Marc Hentze, Chico Sundermann, Thomas Thüm, and Ina Schaefer. 2022. Quantifying the variability mismatch between problem and solution space. In Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems. 322--333.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Sönke Holthusen, David Wille, Christoph Legat, Simon Beddig, Ina Schaefer, and Birgit Vogel-Heuser. 2014. Family model mining for function block diagrams in automation software. In Proceedings of the 18th International Software Product Line Conference: Companion Volume for Workshops, Demonstrations and Tools-Volume 2. 36--43.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Christian Kästner, Sven Apel, Salvador Trujillo, Martin Kuhlemann, and Don Batory. 2009. Guaranteeing syntactic correctness for all product line variants: A language-independent approach. In Objects, Components, Models and Patterns: 47th International Conference, TOOLS EUROPE 2009, Zurich, Switzerland, June 29-July 3, 2009. Proceedings 47. Springer, 175--194.Google ScholarGoogle ScholarCross RefCross Ref
  17. Timo Kehrer, Thomas Thüm, Alexander Schultheiß, and Paul Maximilian Bittner. 2021. Bridging the gap between clone-and-own and software product lines. In 2021 IEEE/ACM 43rd International Conference on Software Engineering: New Ideas and Emerging Results (ICSE-NIER). IEEE, 21--25.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Peter Knauber, Jesus Bermejo, Günter Böckle, Julio Cesar Sampaio do Prado Leite, Frank van der Linden, Linda Northrop, Michael Stark, and David M Weiss. 2002. Quantifying product line benefits. In Software Product-Family Engineering: 4th International Workshop, PFE 2001 Bilbao, Spain, October 3-5, 2001 Revised Papers 4. Springer, 155--163.Google ScholarGoogle Scholar
  19. Jacob Krüger and Thorsten Berger. 2020. Activities and costs of re-engineering cloned variants into an integrated platform. In Proceedings of the 14th International Working Conference on Variability Modelling of Software-Intensive Systems. 1--10.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Jabier Martinez, Tewfik Ziadi, Tegawendé F Bissyandé, Jacques Klein, and Yves Le Traon. 2017. Bottom-up technologies for reuse: automated extractive adoption of software product lines. In 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C). IEEE, 67--70.Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Andreas Metzger and Klaus Pohl. 2014. Software product line engineering and variability management: achievements and challenges. Future of software engineering proceedings (2014), 70--84.Google ScholarGoogle Scholar
  22. Elisabeth Niehaus, Klaus Pohl, and Günter Böckle. 2005. Software Product Line Engineering: Foundations, Principles and Techniques, Kapitel Product Management.Google ScholarGoogle Scholar
  23. Klaus Pohl and Andreas Metzger. 2006. Variability management in software product line engineering. In Proceedings of the 28th international conference on Software engineering. 1049--1050.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Kamil Rosiak. 2021. Extractive multi product-line engineering. In 2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion). IEEE, 263--265.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Kamil Rosiak, Lukas Linsbauer, Birgit Vogel-Heuser, and Ina Schaefer. 2023. A model-based mutation framework for IEC61131-3 manufacturing systems. at-Automatisierungstechnik 71, 5 (2023), 380--390.Google ScholarGoogle Scholar
  26. Kamil Rosiak and Ina Schaefer. 2023. Managing Product and Feature Clones in Highly-Variable Software Families (under review). In SPLC 2023.Google ScholarGoogle Scholar
  27. Kamil Rosiak, Alexander Schlie, Lukas Linsbauer, Birgit Vogel-Heuser, and Ina Schaefer. 2021. Custom-tailored clone detection for IEC 61131-3 programming languages. Journal of Systems and Software 182 (2021), 111070.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Kamil Rosiak, Oliver Urbaniak, Alexander Schlie, Christoph Seidl, and Ina Schaefer. 2019. Analyzing variability in 25 years of industrial legacy software: an experience report. In Proceedings of the 23rd International Systems and Software Product Line Conference-Volume B. 65--72.Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Alexander Schlie, Alexander Knüppel, Christoph Seidl, and Ina Schaefer. 2020. Incremental feature model synthesis for clone-and-own software systems in MATLAB/Simulink. In Proceedings of the 24th ACM Conference on Systems and Software Product Line: Volume A-Volume A. 1--12.Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Alexander Schlie, Kamil Rosiak, Oliver Urbaniak, Ina Schaefer, and Birgit Vogel-Heuser. 2019. Analyzing variability in automation software with the variability analysis toolkit. In Proceedings of the 23rd International Systems and Software Product Line Conference-Volume B. 191--198.Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Alexander Schultheiß, Paul Maximilian Bittner, Thomas Thüm, and Timo Kehrer. 2023. Quantifying the Potential to Automate the Synchronization of Variants in Clone-and-Own-Summary. Software Engineering 2023 (2023).Google ScholarGoogle Scholar
  32. Daniel Strüber, Mukelabai Mukelabai, Jacob Krüger, Stefan Fischer, Lukas Linsbauer, Jabier Martinez, and Thorsten Berger. 2019. Facing the truth: benchmarking the techniques for the evolution of variant-rich systems. In Proceedings of the 23rd International Systems and Software Product Line Conference-Volume A. 177--188.Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Frank J Van der Linden, Klaus Schmid, and Eelco Rommes. 2007. Software product lines in action: the best industrial practice in product line engineering. Springer Science & Business Media.Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. David Wille, Sönke Holthusen, Sandro Schulze, and Ina Schaefer. 2013. Interface variability in family model mining. In Proceedings of the 17th International Software Product Line Conference co-located workshops. 44--51.Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. David Wille, Kenny Wehling, Christoph Seidl, Martin Pluchator, and Ina Schaefer. 2017. Variability mining of technical architectures. In Proceedings of the 21st International Systems and Software Product Line Conference-Volume A. 39--48.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. The e4CompareFramework: Annotation-based Software Product-Line Extraction

      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 Conferences
        SPLC '23: Proceedings of the 27th ACM International Systems and Software Product Line Conference - Volume B
        August 2023
        100 pages
        ISBN:9798400700927
        DOI:10.1145/3579028

        Copyright © 2023 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: 28 August 2023

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • short-paper
        • Research
        • Refereed limited

        Acceptance Rates

        Overall Acceptance Rate167of463submissions,36%
      • Article Metrics

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

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader