EXtracting product lines from vAriaNTs (EXPLANT)

The project EXtracting Product Lines from vAriaNTs (EXPLANT) funded by the German Research Foundation (DFG) is currently in its second phase. In this project, we are concerned with the stepwise migration of cloned variants into a software product line (i.e., the extractive approach of adopting systematic software reuse). While the extractive approach is the most common one in practice, many of its characteristics (e.g., processes, costs, best practices) are still unclear and tool support is limited (e.g., for feature location, refactoring, quality assurance). Within this extended abstract, we report on a selection of results we achieved in EXPLANT so far, and highlight our goals as well as opportunities for research collaborations in the second phase.

[1]  Klaus Schmid,et al.  Software product lines in action - the best industrial practice in product line engineering , 2007 .

[2]  Jacob Krüger Separation of concerns: experiences of the crowd , 2018, SAC.

[3]  Thomas Leich,et al.  Do You Remember This Source Code? , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE).

[4]  Jacob Krüger,et al.  Principles of feature modeling , 2019, ESEC/SIGSOFT FSE.

[5]  Jacob Krüger,et al.  Effects of explicit feature traceability on program comprehension , 2019, ESEC/SIGSOFT FSE.

[6]  Jacob Krüger,et al.  Where is my feature and what is it about? A case study on recovering feature facets , 2019, J. Syst. Softw..

[7]  Jacob Krüger,et al.  Features and How to Find Them , 2019, Software Engineering for Variability Intensive Systems.

[8]  Jacob Krüger,et al.  Finding Lost Features in Cloned Systems , 2017, SPLC.

[9]  Krzysztof Czarnecki,et al.  Cool features and tough decisions: a comparison of variability modeling approaches , 2012, VaMoS.

[10]  Wolfgang Schröder-Preikschat,et al.  A quantitative analysis of aspects in the eCos kernel , 2006, EuroSys.

[11]  Dirk Muthig,et al.  Assessing merge potential of existing engine control systems into a product line , 2006, SEAS '06.

[12]  Jacob Krüger,et al.  Physical separation of features: a survey with CPP developers , 2018, SAC.

[13]  Jacob Krüger,et al.  Activities and costs of re-engineering cloned variants into an integrated platform , 2020, VaMoS.

[14]  Krzysztof Czarnecki,et al.  An Exploratory Study of Cloning in Industrial Software Product Lines , 2013, 2013 17th European Conference on Software Maintenance and Reengineering.

[15]  Gunter Saake,et al.  How preprocessor annotations (do not) affect maintainability: a case study on change-proneness , 2017, GPCE.

[16]  Gunter Saake,et al.  Feature-Oriented Software Product Lines , 2013, Springer Berlin Heidelberg.

[17]  Jacob Krüger,et al.  Are You Talking about Software Product Lines?: An Analysis of Developer Communities , 2019, VaMoS.

[18]  Gunter Saake,et al.  Variant-preserving refactorings for migrating cloned products to a product line , 2017, 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER).

[19]  Jacob Krüger,et al.  Towards automated test refactoring for software product lines , 2018, SPLC.

[20]  Krzysztof Czarnecki,et al.  A survey of variability modeling in industrial practice , 2013, VaMoS.

[21]  Charles W. Krueger,et al.  Easing the Transition to Software Mass Customization , 2001, PFE.

[22]  Yang Li,et al.  Reverse Engineering Variability from Natural Language Documents: A Systematic Literature Review , 2017, SPLC.

[23]  Thomas Leich,et al.  Mastering Software Variability with FeatureIDE , 2017, Springer International Publishing.

[24]  Thomas Leich,et al.  Extracting software product lines: a cost estimation perspective , 2016, SPLC.

[25]  Elias Kuiter,et al.  Getting rid of clone-and-own: moving to a software product line for temperature monitoring , 2018, SPLC.

[26]  Jacob Krüger,et al.  Composing annotations without regret? Practical experiences using FeatureC , 2018, Softw. Pract. Exp..