Evaluating Delta-Oriented Programming for Evolving Software Product Lines - Diniz, Joao P.; Vale, Gustavo; Gaia, Felipe; Figueiredo, Eduardo (2017 IEEE/ACM 2nd International Workshop on Variability and Complexity in Software Design (VACE), 2017)
Managing variability is a hard task for every technique that develops variability-rich systems, such as software product lines (SPL), especially in its evolution. Hence, to be effective a technique should provide stability and respect the Open-Closed principle. Among the techniques to develop SPLs, delta-oriented programming (DOP) seems to be promising given its flexibility. There are two strategies in DOP development: starting from a simple core and from a complex core. Simple core is the implementation of a minimum valid product. Complex core, on the other hand, can include many varying features. This study aims to evaluate the stability of delta-oriented SPLs in evolutionary scenarios. To do that, we develop, evolve, and compare 5 releases of an SPL using both strategies to develop DOP. Our evaluation focuses on size, change propagation, and modularity of all releases. The results show that DOP has means to develop stable SPLs. In addition, simple core is usually better than complex core in most cases.