„Consolidating Customized Product Copies to Software Product Lines“ at WSRE 2014
Publiziert bei dem 16. Workshop Software-Reengineering & Evolution
28. – 30. April 2014 in Bad Honnef, Deutschland
Benjamin Klatt, Klaus Krogmann
FZI Forschungszentrum Informatik, Software Engineering
Haid-und-Neu-Str. 10-14, 76131 Karlsruhe, Germany
Erich-Ponto-Str. 19, 01097 Dresden, Germany
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 low-level 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.