Project Details
VariantSync 2: Automating the Synchronization of Software Variants
Applicant
Professor Dr.-Ing. Thomas Thüm
Subject Area
Software Engineering and Programming Languages
Term
since 2018
Project identifier
Deutsche Forschungsgemeinschaft (DFG) - Project number 415562030
Today's software is often released in multiple variants to meet all customer requirements. Software product lines have the potential to decrease development costs and time-to-market, and have been actively researched for more than two decades. Nevertheless, practitioners frequently rely on ad-hoc reuse based on a principle which is known as clone-and-own, where new variants of a software family are created by copying and adapting an existing variant. However, if a critical number of variants is reached, their maintenance and evolution becomes impractical, if not impossible; and the migration to a product line is often infeasible. With the research conducted in VariantSync, we aim to enable a fundamentally new development approach which bridges the gap between clone-and-own and product lines, combining the minimal overhead of clone-and-own with the systematic handling of variability of software product lines in a highly flexible methodology. The key idea is to transparently integrate central product-line concepts such as features and configurations with variant management facilities known from version control systems in order to automatically synchronize a set of evolving variants. With VariantSync I, we are closer to our vision but also identified two major challenges not being envisioned nor addressed yet. First, developers who developed cloned variants in an ad-hoc fashion in the past may not be able to immediately specify domain knowledge with 100% confidence and hence we need to incorporate uncertainty in domain knowledge. Second, even though the vision of VariantSync is to automate the synchronization of variants, we cannot expect variants to be 100% synchronized and need to incorporate that variants drift away from each other over time. Both challenges are crucial for our overall vision and shall be investigated in VariantSync II. We will first use an explorative approach to get a better understanding and formal model of both uncertainty and variant drift, before employing a design-science approach, which we instantiate as common in research on software engineering. We will develop and implement our conceptual solutions for handling and mitigating uncertainty and variant drift in terms of research prototypes, which shall be empirically evaluated in controlled experiments. We believe that our research results have the potential to effectively change the way practitioners develop multi-variant software systems for which it is hard to foresee which variants will be added or released in the future.
DFG Programme
Research Grants
International Connection
Switzerland
Partner Organisation
Schweizerischer Nationalfonds (SNF)
Cooperation Partner
Professor Dr. Timo Kehrer