VariantSync
Automating the Synchronization of Software Variants
|
Software product lines have been actively researched for more than two decades with the goal of systematic software reuse through managed software variability. 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.
With 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 the central product-line concept of a feature with variant management facilities known from version control systems in order to automatically synchronize a set of evolving variants. Thereby, we explore the continuum between softwa product lines and ad-hoc clone-and-own wrt. three dimensions; feature mapping, synchronization, and development organization. We believe that our research results have the potential to effectively change the way how practitioners will develop multi-variant software systems for which it is hard to foresee which variants will be added or released in the future.