FEVER: An approach to analyze feature-oriented changes and artefact co-evolution in highly configurable systems

Research output: Contribution to journalArticleScientificpeer-review

19 Citations (Scopus)
71 Downloads (Pure)

Abstract

The evolution of highly configurable systems is known to be a challenging task. Thorough understanding of configuration options their relationships, and their implementation in various types of artefacts (variability model, mapping, and implementation) is required to avoid compilation errors, invalid products, or dead code. Recent studies focusing on co-evolution of artefacts detailed feature-oriented change scenarios, describing how related artefacts might change over time. However, relying on manual analysis of commits, such work do not provide the means to obtain quantitative information on the frequency of described scenarios nor information on the exhaustiveness of the presented scenarios for the evolution of a large scale system. In this work, we propose FEVER and its instantiation for the Linux kernel. FEVER extracts detailed information on changes in variability models (KConfig files), assets (pre-processor based C code), and mappings (Makefiles). We apply this methodology to the Linux kernel and build a dataset comprised of 15 releases of the kernel history. We performed an evaluation of the FEVER approach by manually inspecting the data and compared it with commits in the system’s history. The evaluation shows that FEVER accurately captures feature related changes for more than 85% of the 810 manually inspected commits. We use the collected data to reflect on occurrences of co-evolution in practice. Our analysis shows that complex co-evolution scenarios occur in every studied release but are not among the most frequent change scenarios, as they only occur for 8 to 13% of the evolving features. Moreover, only a minority of developers working on a given release will make changes to all artefacts related to a feature (between 10% and 13% of authors). While our conclusions are derived from observations on the evolution of the Linux kernel, we believe that they may have implications for tool developers as well as guide further research in the field of co-evolution of artefacts.
Original languageEnglish
Pages (from-to)905-952
Number of pages48
JournalEmpirical Software Engineering
Volume23
Issue number2
DOIs
Publication statusPublished - 2018

Keywords

  • Highly variable systems
  • Co-evolution
  • Feature
  • Variability

Fingerprint

Dive into the research topics of 'FEVER: An approach to analyze feature-oriented changes and artefact co-evolution in highly configurable systems'. Together they form a unique fingerprint.

Cite this