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
  • Bruno Cafeo
  • Elder Cirilo
  • Alessandro Garcia
  • Francisco Dantas
  • Jaejoon Lee
Close
<mark>Journal publication date</mark>1/01/2016
<mark>Journal</mark>Information and Software Technology
Volume69
Number of pages13
Pages (from-to)37-49
Publication StatusPublished
Early online date25/09/15
<mark>Original language</mark>English

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.

Bibliographic note

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