Feature dependencies as change propagators : an exploratory study of software product lines

Cafeo, Bruno and Cirilo, Elder and Garcia, Alessandro and Dantas, Francisco and Lee, Jaejoon (2016) Feature dependencies as change propagators : an exploratory study of software product lines. Information and Software Technology, 69. pp. 37-49. ISSN 0950-5849

[thumbnail of IST_Paper]
Preview
PDF (IST_Paper)
IST_Paper.pdf - Accepted Version
Available under License Creative Commons Attribution-NonCommercial-NoDerivs.

Download (1MB)

Abstract

Context A Software Product Line (SPL) is a set of software systems that share common functionalities, so-called features. When features are related, we consider this relation a feature dependency. Whenever a new feature is added, the presence of feature dependencies in the source code may increase the maintenance effort. In particular, along the maintenance of SPL implementation, added features may induce changes in other features, the so-called change propagation. Change propagation is the set of ripple changes required to other features whenever a particular feature is added or changed. Objective The relationship between feature dependency and change propagation is not well understood. Therefore, the objective of our study is to examine the relation between feature dependency and change propagation. Method We investigate change propagation through feature dependencies in additive changes on five evolving SPLs. We analysed a wide range of additive changes in 21 representations of those SPLs. This analysis enabled us to understand whether and how features dependencies and change propagations are related. Results The results have empirically confirmed for the first time the strong relation between feature dependency and change propagation. We also identified what are the circumstances involving dependent features that are more likely to cause change propagation. Surprisingly, the results also suggested that the extent of change propagation across SPL features might be higher than the one found in previous studies of dependent modules in non-SPLs. We also found a concentration of change propagation in a few feature dependencies. Conclusion Even though the results show that there is a strong relation between feature dependencies and change propagation, such relation is not alike for all dependencies. This indicates that (i) a general feature dependency minimisation might not ameliorate the change propagation, and (ii) feature dependency properties must be analysed beforehand to drive maintenance effort to important dependencies.

Item Type:
Journal Article
Journal or Publication Title:
Information and Software Technology
Additional Information:
This is the author’s version of a work that was accepted for publication in Information and Software Technology. Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in this document. Changes may have been made to this work since it was submitted for publication. A definitive version was subsequently published in Information and Software Technology, 69, 2015 DOI: 10.1016/j.infsof.2015.08.009
Uncontrolled Keywords:
/dk/atira/pure/subjectarea/asjc/1700/1712
Subjects:
?? software product linemaintenancefeature dependencychange propagationsoftwareinformation systemscomputer science applications ??
ID Code:
77890
Deposited By:
Deposited On:
26 Jan 2016 13:16
Refereed?:
Yes
Published?:
Published
Last Modified:
27 Aug 2024 23:50