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 2023 Publication 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.
[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.
[3]
Sven Apel, Don Batory, Christian Kästner, and Gunter Saake. 2016. Feature-oriented software product lines. Springer.
[4]
Sven Apel and Christian Kästner. 2009. An overview of feature-oriented software development. J. Object Technol. 8, 5 (2009), 49--84.
[5]
Danilo Beuche. 2008. Modeling and building software product lines with pure:: variants. In Software Product Line Conference, International. IEEE Computer Society, 358--358.
[6]
Jan Bosch. 2010. Toward compositional software product lines. IEEE software 27, 3 (2010), 29--34.
[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.
[8]
Paul Clements and Linda Northrop. 2002. Software product lines. Addison-Wesley Boston.
[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.
[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.
[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.
[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.
[13]
Eclipse Foundation. 2023. Eclipse 4 Application Platform (e4). https://eclipsesource.com/de/technology/e4/
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[22]
Elisabeth Niehaus, Klaus Pohl, and Günter Böckle. 2005. Software Product Line Engineering: Foundations, Principles and Techniques, Kapitel Product Management.
[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.
[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.
[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.
[26]
Kamil Rosiak and Ina Schaefer. 2023. Managing Product and Feature Clones in Highly-Variable Software Families (under review). In SPLC 2023.
[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.
[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.
[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.
[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.
[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).
[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.
[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.
[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.
[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.

Cited By

View all
  • (2024)On the Expressive Power of Languages for Static VariabilityProceedings of the ACM on Programming Languages10.1145/36897478:OOPSLA2(1018-1050)Online publication date: 8-Oct-2024
  • (2024)Give an Inch and Take a Mile? Effects of Adding Reliable Knowledge to Heuristic Feature TracingProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672593(84-95)Online publication date: 2-Sep-2024

Recommendations

Comments

Information & Contributors

Information

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
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].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 August 2023

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. reverse engineering
  2. software product-line extraction
  3. variability mining

Qualifiers

  • Short-paper
  • Research
  • Refereed limited

Conference

SPLC '23
Sponsor:

Acceptance Rates

Overall Acceptance Rate 167 of 463 submissions, 36%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)20
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)On the Expressive Power of Languages for Static VariabilityProceedings of the ACM on Programming Languages10.1145/36897478:OOPSLA2(1018-1050)Online publication date: 8-Oct-2024
  • (2024)Give an Inch and Take a Mile? Effects of Adding Reliable Knowledge to Heuristic Feature TracingProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672593(84-95)Online publication date: 2-Sep-2024

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media