EXtracting Product Lines from vAriaNTs (EXPLANT)
Project Summary
Software product lines (SPLs) enable systematic reuse and variability management of software artifacts. In practice, software is often reused in an ad-hoc manner by simply copying a system and adapting it to new requirements (called clone-and-own). Due to the lack of automatic and systematic management of artifacts, propagating changes (e.g., for bug fixing) and replacing functionality becomes expensive and error-prone.
The goal of our project is to migrate cloned product families into a structured, modular product line. Using code clone detection, architectural analyses, and domain knowledge we aim for a semi-automatic, semantics-preserving, stepwise transformation. In each step, a small semantics-preserving the code and/or the feature model is performed.
Cooperations and Funding
Project EXPLANT is funded by the German Research Council (Deutsche Forschungsgemeinschaft (DFG)) under the grants SA 465/49-1 and LE 3382/2-1. It is a cooperation between the Otto-von-Guericke-Universität Magdeburg (OvGU) and the Harz University of Applied Science.
Project members of the first phase:
At OvGU (DFG grant SA 465/49-1):
- Prof. Dr. Gunter Saake
- Dipl.-Inf. Wolfram Fenske
At Harz University of Applied Science (DFG grant LE 3382/2-1):
- Prof. Dr.-Ing. Thomas Leich
- M.Sc. Jacob Krüger
Since October 2017, Jacob Krüger attends Chalmers University of Technology for a research visit. The main purpose is to foster cooperations with industrial partners. Jacob Krüger's advisor at Chalmers University was
- Prof. Dr. Thorsten Berger
Project members of the second phase (EXPLANT 2.0):
At OvGU (DFG grant SA 465/49-1):
- Prof. Dr. Gunter Saake
- M.Sc. Jacob Krüger
At the Harz University of Applied Science (DFG grant LE 3382/2-1):
- Prof. Dr.-Ing. Thomas Leich
- M.Sc. Sebastian Krieter
Awards
We received several awards that are and will be reported on in academic and popular media:
- Hugo-Junckers award 2016 as innovative alliance for FeatureIDE that we use and extend in our project (10,000 EUR).
- Best paper award at the International Conference on Generative Programming 2017 (GPCE'17) for Dipl.-Inf. Wolfram Fenske for the paper How Preprocessor Annotations (Do Not) Affect Maintainability: A Case Study on Change-Proneness.
- Research Award of the Wernigeröder Stadtwerkestiftung 2017 for M.Sc. Jacob Krüger for the article Composing Annotations Without Regret? Practical Experiences Using FeatureC (3,000 EUR).
Publications
2021
- Sebastian Krieter, Rahel Arens, Michael
Nieke, Chico Sundermann, Tobias Heß, Thomas Thüm, and Christoph
Seidl.
Incremental
construction of modal implication graphs for evolving feature
models.
In Mohammad Mousavi and Pierre-Yves Schobbens, editors, SPLC '21: 25th
ACM International Systems and Software Product Line Conference, Leicester,
United Kingdom, September 6-11, 2021, Volume A, pages 64–74. ACM,
2021.
- Tobias Pett, Sebastian Krieter, Tobias
Runge, Thomas Thüm, Malte Lochau, and Ina Schaefer.
Stability of
Product-Line Samplingin Continuous Integration.
In Paul Grünbacher, Christoph Seidl, Deepak Dhungana, and Helena
Lovasz-Bukvova, editors, VaMoS'21: 15th International Working
Conference on Variability Modelling of Software-Intensive Systems, Virtual
Event / Krems, Austria, February 9-11, 2021, pages 18:1–18:9. ACM,
2021.
- Tobias Pett, Sebastian Krieter, Thomas
Thüm, Malte Lochau, and Ina Schaefer.
AutoSMP: an
evaluation platform for sampling algorithms.
In Mohammad Mousavi and Pierre-Yves Schobbens, editors, SPLC '21: 25th
ACM International Systems and Software Product Line Conference, Leicester,
United Kindom, September 6-11, 2021, Volume B, pages 41–44. ACM,
2021.
- Chico Sundermann, Tobias Heß,
Dominik Engelhardt, Rahel Arens, Johannes Herschel, Kevin Jedelhauser,
Benedikt Jutz, Sebastian Krieter, and Ina Schaefer.
Integration of UVL in
FeatureIDE.
In Mohammad Mousavi and Pierre-Yves Schobbens, editors, SPLC '21: 25th
ACM International Systems and Software Product Line Conference, Leicester,
United Kindom, September 6-11, 2021, Volume B, pages 73–79. ACM,
2021.
2020
- Jacob Krüger, Gül Calıklı,
Thorsten Berger, Thomas Leich, and Gunter Saake.
Effects of Explicit Feature Traceability on
Program Comprehension.
In Software Engineering, SE, pages 79–80. GI, February
2020.
- Sebastian Krieter.
Large-scale T-wise
interaction sampling using YASA.
In Roberto Erick Lopez-Herrejon, editor, SPLC '20: 24th ACM International
Systems and Software Product Line Conference, Montreal, Quebec, Canada,
October 19-23, 2020, Volume A, pages 29:1–29:4. ACM,
2020.
- Jacob Krüger, Christian Lausberger,
Ivonne von Nostitz-Wallwitz, Gunter Saake, and Thomas Leich.
Search. Review.
Repeat? An Empirical Study of Threats to Replicating SLR
Searches.
Empirical Software Engineering, 25(1):627–677, January 2020.
(PDF)
- Yusra Shakeel, Jacob Krüger, Ivonne
von Nostitz-Wallwitz, Gunter Saake, and Thomas Leich.
Automated Selection and
Quality Assessment of Primary Studies: A Systematic Literature
Review.
Journal of Data and Information Quality, 12(1):4:1–4:26, January
2020.
(PDF)
2019
- Jacob Krüger, Mustafa Al-Hajjaji,
Thomas Leich, and Gunter Saake.
Mutation Operators for
Feature-Oriented Software Product Lines.
In International Systems and Software Product Line Conference,
SPLC, pages 12–12. ACM, September 2019.
- Kai Ludwig, Jacob Krüger, and
Thomas Leich.
Covert and Phantom Features in
Annotations: Do They Impact Variability Analysis?.
In International Systems and Software Product Line Conference,
SPLC, pages 218–230. ACM, September 2019.
- Jacob Krüger, Gül
Calıklı, Thorsten Berger, Thomas Leich, and Gunter Saake.
Effects of Explicit
Feature Traceability on Program Comprehension.
In Joint European Software Engineering Conference and Symposium on the
Foundations of Software Engineering, ESEC/FSE, pages 338–349. ACM,
August 2019.
- Sebastian Nielebock, Dariusz
Krolikowski, Jacob Krüger, Thomas Leich, and Frank Ortmeier.
Commenting Source Code: Is It Worth It For Small Programming
Tasks?.
Empirical Software Engineering, 24(3):1418–1457, June 2019.
(PDF)
2018
- Jacob Krüger, Jens Wiemann, Wolfram
Fenske, Gunter Saake, and Thomas Leich.
Do You Remember This Source Code?.
In International Conference on Software Engineering, ICSE, pages
764–775. ACM, May 2018.
- Jacob Krüger.
Separation of Concerns: Experiences of the
Crowd.
In Symposium on Applied Computing, SAC, pages 2076–2077. ACM,
April 2018.
- Jacob Krüger, Marcus Pinnecke, Andy
Kenner, Christopher Kruczek, Fabian Benduhn, Thomas Leich, and Gunter Saake.
Composing Annotations Without Regret? Practical Experiences Using
FeatureC.
Software: Practice and Experience, 48(3):402–427, March 2018.
(PDF)
- Sebastian Krieter, Jacob Krüger,
and Thomas Leich.
Don’t Worry About It: Managing Variability
On-the-Fly.
In International Workshop on Variability Modelling of Software-Intensive
Systems, VaMoS, pages 19–26. ACM, February
2018.
- Jacob Krüger, Wanzi Gu, Hui Shen,
Mukelabai Mukelabai, Regina Hebig, and Thorsten Berger.
Towards a Better Understanding of Software Features and
Their Characteristics: A Case Study of Marlin.
In International Workshop on Variability Modelling of Software-Intensive
Systems, VaMoS, pages 105–112. ACM, February
2018.
2017
- Sebastian Krieter, Marcus Pinnecke,
Jacob Krüger, Joshua Sprey, Christopher Sontag, Thomas Thüm, Thomas
Leich, and Gunter Saake.
FeatureIDE: Empowering Third-Party Developers.
In International Systems and Software Product Line Conference,
SPLC, pages 42–45. ACM, September 2017.
- Jacob Krüger, Louis Nell, Wolfram
Fenske, Gunter Saake, and Thomas Leich.
Finding Lost Features in Cloned Systems.
In International Systems and Software Product Line Conference,
SPLC, pages 65–72. ACM, September 2017.
- Jacob Krüger, Sebastian Nielebock,
Sebastian Krieter, Christian Diedrich, Thomas Leich, Gunter Saake, Sebastian
Zug, and Frank Ortmeier.
Beyond Software Product Lines: Variability Modeling in
Cyber-Physical Systems.
In International Systems and Software Product Line Conference,
SPLC, pages 237–241. ACM, September 2017.
- Mustafa Al-Hajjaji, Jacob Krüger,
Fabian Benduhn, Thomas Leich, and Gunter Saake.
Efficient Mutation Testing in Configurable
Systems.
In International Workshop on Variability and Complexity in Software
Design, VACE, pages 2–8. IEEE, May 2017.
- Mustafa Al-Hajjaji, Jacob Krüger,
Sandro Schulze, Thomas Leich, and Gunter Saake.
Efficient Product-Line Testing using Clustering-Based
Product Prioritization.
In International Workshop on Automation of Software Test, AST,
pages 16–22. IEEE, May 2017.
- Jacob Krüger.
Lost in Source Code: Physically Separating Features in Legacy
Systems.
In International Conference on Software Engineering Companion,
ICSE-C, pages 461–462. IEEE, May 2017.
- Jacob Krüger, Niklas Corr, Ivonne
Schröter, and Thomas Leich.
Digging into the Eclipse Marketplace.
In Federico Balaguer, Roberto Di Cosmo, Alejandra Garrido, Fabio Kon, Gregorio
Robles, and Stefano Zacchiroli, editors, International Conference on
Open Source Systems: Towards Robust Practices, pages 60–65. Springer,
May 2017.
- Jacob Krüger, Stephan Dassow,
Karl-Albert Bebber, and Thomas Leich.
Daedalus or Icarus? Experiences on
Follow-The-Sun.
In International Conference on Global Software Engineering, ICGSE,
pages 31–35. IEEE, May 2017.
- Jacob Krüger, Ivonne Schröter,
Andy Kenner, and Thomas Leich.
Empirical Studies in Question-Answering Systems: A
Discussion.
In International Workshop on Conducting Empirical Studies in
Industry, CESI, pages 23–26. IEEE, May 2017.
- Ivonne Schröter, Jacob Krüger,
Janet Siegmund, and Thomas Leich.
Comprehending Studies on Program
Comprehension.
In International Conference on Program Comprehension, ICPC, pages
308–311. IEEE, May 2017.
- Ivonne Schröter, Jacob Krüger,
Philipp Ludwig, Marcus Thiel, Andreas Nürnberger, and Thomas Leich.
Identifying Innovative Documents: Quo
vadis?.
In Slimane Hammoudi, Michal Smialek, Olivier Camp, and Joaquim Filipe, editors,
International Conference on Enterprise Information Systems,
ICEIS, pages 653–658. ScitePress, April 2017.
- Wolfram Fenske, Jens Meinicke, Sandro
Schulze, Steffen Schulze, and Gunter Saake.
Variant-Preserving Refactorings for Migrating Cloned
Products to a Product Line.
In International Conference on Software Analysis, Evolution and
Reengineering (SANER), pages 316–326. IEEE,
2017.
- Wolfram Fenske, Sandro Schulze, and
Gunter Saake.
How Preprocessor Annotations (Do Not) Affect
Maintainability: A Case Study on Change-Proneness.
In International Conference on Generative Programming: Concepts &
Experience (GPCE), pages 77–90. ACM, October
2017.
2016
- Jacob Krüger, Ivonne Schröter,
Andy Kenner, Christopher Kruczek, and Thomas Leich.
FeatureCoPP: Compositional Annotations.
In International Workshop on Feature-Oriented Software
Development, FOSD, pages 74–84. ACM, October
2016.
- Jacob Krüger, Wolfram Fenske, Jens
Meinicke, Thomas Leich, and Gunter Saake.
Extracting Software Product Lines: A Cost Estimation
Perspective.
In International Systems and Software Product Line Conference,
SPLC, pages 354–361. ACM, September 2016.
- Jacob Krüger.
A Cost Estimation Model for the Extractive
Software-Product-Line Approach.
Master thesis, University of Magdeburg, Germany, February
2016.
2015
- Wolfram Fenske.
Code Smells in Highly Configurable
Software.
In Doctoral Symposium of the International Conference on Software
Maintenance and Evolution (ICSME), pages 602–605. IEEE, September
2015.
- Wolfram Fenske and Sandro Schulze.
Code Smells Revisited: A Variability
Perspective.
In International Workshop on Variability Modelling of Software-intensive
Systems (VaMoS), pages 3–10, New York, NY, USA, January 2015.
ACM.
- Wolfram Fenske, Sandro Schulze, Daniel
Meyer, and Gunter Saake.
When Code Smells Twice as Much: Metric-Based Detection
of Variability-Aware Code Smells.
In International Working Conference on Source Code Analysis and
Manipulation (SCAM), pages 171–180. IEEE,
2015.
2014
- Wolfram Fenske, Thomas Thüm, and
Gunter Saake.
A Taxonomy of Software Product Line
Reengineering.
In Proc. Int’l Work. on Variability Modeling of Software-Intensive
Systems (VaMoS ’14), pages 4:1–4:8, New York, NY, USA, January
2014. ACM.
Theses
2019
- Maria Kanyshkova.
Effect of Annotation-Based
Variability on Program Comprehension.
Master's thesis, University of Magdeburg, May 2019.
2018
- Philipp Müller.
Migrating Cloned Software Products: A Better Mousetrap
for Finding Similar Code.
Master's thesis, University of Magdeburg, School of Computer Science,
Magdeburg, Germany, June 2018.
2017
- Shravya
Rama.
Suggesting Suitable Learning Approaches To Improve Programming
Skills.
Master's thesis, University of Magdeburg, October 2017.
- Yusra
Shakeel.
Supporting Quality Assessment in Systematic Literature
Reviews.
Master's thesis, University of Magdeburg, October 2017.
- Daniel Püsche.
Featurebaum-basierte
Produktkonfiguration.
Bachelor's thesis, University of Magdeburg, May 2017.
- Jens Wiemann.
Measuring Code Familiarity in Forked Product
Variants.
Master's thesis, University of Magdeburg, April 2017.
- Christian Lausberger.
Konzeption von Suchprozessen und Suchstrategien
für systematische Literatur Reviews.
Master's thesis, University of Magdeburg, January 2017.
2016
- Hannes Klawuhn.
Verbindung von Variability-aware Code-Smells zu Problemen
in der Softwareentwicklung.
Master thesis, University of Magdeburg, Germany, June 2016.
In German.
- Jacob Krüger.
A Cost Estimation Model for the Extractive
Software-Product-Line Approach.
Master thesis, University of Magdeburg, Germany, February
2016.
- Steffen Schulze.
Feature-orientiertes Refactoring zur Migration von
Produktvarianten.
Master thesis, University of Magdeburg, Germany, February 2016.
In German.
2015
- Daniel Meyer.
Metrics-Based Code Smell Detection in Highly Configurable
Software Systems.
Master thesis, University of Magdeburg, Germany, December
2015.