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 Hochschule Harz.
Project members at the OvGU (DFG grant SA 465/49-1):
- Prof. Dr. Gunter Saake
- Dipl.-Inf. Wolfram Fenske
Project members at the Hochule Harz (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 is
- Prof. Dr. Thorsten Berger
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
- 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.
- 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)
- 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.
- Elias Kuiter, Sebastian Krieter, Jacob
Krüger, Thomas Leich, and Gunter Saake.
Foundations of Collaborative,
Real-Time Feature Modeling.
In International Systems and Software Product Line Conference,
SPLC, pages 257–264. 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)
- 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.
- 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.
- 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.
- 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.
- 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
- Maria Kanyshkova.
Effect of Annotation-Based Variability on
Program Comprehension.
Master's thesis, University of Magdeburg, May 2019.
- 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.
- 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.
- 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.
- Daniel Meyer.
Metrics-Based Code Smell Detection in Highly Configurable Software
Systems.
Master thesis, University of Magdeburg, Germany, December
2015.