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.
- Akiko Aizawa. 2003. An information-theoretic perspective of tf-idf measures. Information Processing & Management 39, 1 (2003), 45--65.Google ScholarDigital Library
- 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 ScholarDigital Library
- Sven Apel, Don Batory, Christian Kästner, and Gunter Saake. 2016. Feature-oriented software product lines. Springer.Google ScholarDigital Library
- Sven Apel and Christian Kästner. 2009. An overview of feature-oriented software development. J. Object Technol. 8, 5 (2009), 49--84.Google ScholarCross Ref
- Danilo Beuche. 2008. Modeling and building software product lines with pure:: variants. In Software Product Line Conference, International. IEEE Computer Society, 358--358.Google ScholarDigital Library
- Jan Bosch. 2010. Toward compositional software product lines. IEEE software 27, 3 (2010), 29--34.Google ScholarDigital Library
- 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 ScholarDigital Library
- Paul Clements and Linda Northrop. 2002. Software product lines. Addison-Wesley Boston.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- Eclipse Foundation. 2023. Eclipse 4 Application Platform (e4). https://eclipsesource.com/de/technology/e4/Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- Elisabeth Niehaus, Klaus Pohl, and Günter Böckle. 2005. Software Product Line Engineering: Foundations, Principles and Techniques, Kapitel Product Management.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- Kamil Rosiak and Ina Schaefer. 2023. Managing Product and Feature Clones in Highly-Variable Software Families (under review). In SPLC 2023.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
Index Terms
- The e4CompareFramework: Annotation-based Software Product-Line Extraction
Recommendations
A Literature Review and Comparison of Three Feature Location Techniques using ArgoUML-SPL
VaMoS '19: Proceedings of the 13th International Workshop on Variability Modelling of Software-Intensive SystemsOver the last decades, the adoption of Software Product Line (SPL) engineering for supporting software reuse has increased. An SPL can be extracted from one single product or from a family of related software products, and feature location strategies ...
Automated extraction of product comparison matrices from informal product descriptions
We propose a procedure for extracting comparison matrices from informal product descriptions.We evaluate our proposal against numerous categories of products mined from BestBuy.Matrices exhibit numerous comparable information and can supplement or even ...
Extractive software product line engineering using model-based delta module generation
VaMoS '17: Proceedings of the 11th International Workshop on Variability Modelling of Software-Intensive SystemsTo satisfy demand for customized products, companies commonly apply so-called clone-and-own strategies by copying functionality from existing products and modifying it to create product variants that have to be developed, maintained, and evolved in ...
Comments