The role of customization analysis for SPL evolution
The long life-span of Software Product Lines (SPLs) makes evolution a top priority. Evolution can come in many flavours. In their infancy, SPLs strive to fix defects. At adulthood, SPLs might have less defects, but their wider customer base more likely increases the chances for new functionality requests. The point is that it is not always possible to handle this evolution directly through the reusable SPL core assets. Time-to-market pressure, expedite bug fixes or single-product behaviour might lead evolution to first happen at the product level, and to be later merged and refactored during the next core-asset release. Deciding when and what should go into the next release is far from trivial. A main decision-making input is the effort that has been put into product customization, i.e. how core assets have been upgraded to promptly account for the products’ demands. This work proposes the use of data warehouses to analyze this customization effort. Requirement Analysis, Dimensional Modeling and Reporting Tools are discussed, that end up in CustomDIFF, a data warehouse tool that uses Git as the operational system and pure::variants as the SPL framework. This research is motivated and validated in the context of Danfoss Drives.