Home > Research > Publications & Outputs > Feature dependencies as change propagators

Electronic data

  • IST_Paper

    Rights statement: 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

    Accepted author manuscript, 1.49 MB, PDF document

    Available under license: CC BY-NC-ND: Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License

Links

Text available via DOI:

View graph of relations

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

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Published

Standard

Feature dependencies as change propagators: an exploratory study of software product lines. / Cafeo, Bruno ; Cirilo, Elder ; Garcia, Alessandro et al.
In: Information and Software Technology, Vol. 69, 01.01.2016, p. 37-49.

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Harvard

Cafeo, B, Cirilo, E, Garcia, A, Dantas, F & Lee, J 2016, 'Feature dependencies as change propagators: an exploratory study of software product lines', Information and Software Technology, vol. 69, pp. 37-49. https://doi.org/10.1016/j.infsof.2015.08.009

APA

Cafeo, B., Cirilo, E., Garcia, A., Dantas, F., & Lee, J. (2016). Feature dependencies as change propagators: an exploratory study of software product lines. Information and Software Technology, 69, 37-49. https://doi.org/10.1016/j.infsof.2015.08.009

Vancouver

Cafeo B, Cirilo E, Garcia A, Dantas F, Lee J. Feature dependencies as change propagators: an exploratory study of software product lines. Information and Software Technology. 2016 Jan 1;69:37-49. Epub 2015 Sept 25. doi: 10.1016/j.infsof.2015.08.009

Author

Cafeo, Bruno ; Cirilo, Elder ; Garcia, Alessandro et al. / Feature dependencies as change propagators : an exploratory study of software product lines. In: Information and Software Technology. 2016 ; Vol. 69. pp. 37-49.

Bibtex

@article{c0461aa2fbbb4b6ba3c3f5e6cd454cef,
title = "Feature dependencies as change propagators: an exploratory study of software product lines",
abstract = "ContextA 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.ObjectiveThe 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.MethodWe 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.ResultsThe 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.ConclusionEven 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.",
keywords = "Software Product Line, Maintenance, Feature dependency, Change propagation",
author = "Bruno Cafeo and Elder Cirilo and Alessandro Garcia and Francisco Dantas and Jaejoon Lee",
note = "This is the author{\textquoteright}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",
year = "2016",
month = jan,
day = "1",
doi = "10.1016/j.infsof.2015.08.009",
language = "English",
volume = "69",
pages = "37--49",
journal = "Information and Software Technology",
issn = "0950-5849",
publisher = "Elsevier",

}

RIS

TY - JOUR

T1 - Feature dependencies as change propagators

T2 - an exploratory study of software product lines

AU - Cafeo, Bruno

AU - Cirilo, Elder

AU - Garcia, Alessandro

AU - Dantas, Francisco

AU - Lee, Jaejoon

N1 - 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

PY - 2016/1/1

Y1 - 2016/1/1

N2 - ContextA 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.ObjectiveThe 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.MethodWe 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.ResultsThe 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.ConclusionEven 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.

AB - ContextA 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.ObjectiveThe 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.MethodWe 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.ResultsThe 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.ConclusionEven 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.

KW - Software Product Line

KW - Maintenance

KW - Feature dependency

KW - Change propagation

U2 - 10.1016/j.infsof.2015.08.009

DO - 10.1016/j.infsof.2015.08.009

M3 - Journal article

VL - 69

SP - 37

EP - 49

JO - Information and Software Technology

JF - Information and Software Technology

SN - 0950-5849

ER -