Semantics-Based Version Control for Feature Model Evolution Plans


  • Eirik Halvard Sæther Norsk Rikskringkasting (NRK)
  • Ingrid Chieh Yu Department of Informatics, University of Oslo
  • Crystal Chang Din Department of Informatics, University of Bergen


Software Product Lines, Software Evolution, Evolution Planning, Version Control


A software product line (SPL) models closely related software systems by capitalizing on the high similarity of the products by organizing them into common and variable parts. To ensure successful long-term development, it is beneficial to not just capture the current software product line, but the planned evolution of the SPL as well. Evolution planning of an SPL is often a dynamic, changing process due to changes in product requirements. In addition, planning is typically a collaborative effort with multiple engineers working separately and independently of each other. To improve development, their individual contributions would need to be unified. This can be a complex task, especially without proper synchronization tools. In this paper, we provide a semantics-based merge algorithm for evolution plans. Given two versions of an evolution plan and the common evolution plan they are derived from, the merge algorithm attempts to merge all the different changes from both versions. The merge algorithm will be an essential component in a version control system, allowing several contributors to unify their versions into a sound evolution plan.


Download data is not yet available.