WG211/M11Kaestner
Variability Mining by Christian Kaestner
Software product line engineering is an efficient means to generate a set of tailored software products from a common implementation. However, adopting a product-line approach poses a major challenge and significant risks, since typically legacy code must be migrated toward a product line. Our aim is to lower the adoption barrier by providing tool support. In this talk, we explore different strategies from different legacy systems with and without variability. We extract existing variability from legacy systems, where it was implemented with conditional compilation or plain parameters, we locate features in legacy code that did not have variability, and we analyze deltas of cloned applications to migrate to a product line. If possible, we include domain knowledge in each extraction step.