Consolidating Customized Product Copies to Software Product Lines.

Benjamin Klatt, Klaus Krogmann, Christian Wende · Softwaretechnik-Trends · 2014

Reusing existing software solutions as initial point for new projects is a frequent approach in software business. Copying existing code and adapting it to customer-specific needs allows for flexible and efficient software customization in the short term. But in the long term, a Software Product Line (SPL) approach with a single code base and explicitly managed variability reduces maintenance effort and eases instantiation of new products. However, consolidating custom copies into an SPL afterwards, is not trivial and requires a lot of manual effort. For example, identifying relevant differences between customized copies requires to review a lot of code. State-of-the-art software difference analysis neither considers characteristics specific for copy-based customizations nor supports further interpretations of the differences found (e.g. relating thousands of lowlevel code changes). Furthermore, deriving a reasonable variability design requires experience and is not a software developer’s everyday task. In this paper, we present our product copy consolidation approach for software developers. It contributes i) a difference analysis adapted for code copy differencing, ii) a variability analysis to identify related differences, and iii) the derivation of a reasonable variability design.

Read the paper · More papers on PaperTik