The life cycle of features in highly-configurable software systems evolving in space and time

Gabriela Michelon, Wesley Klewerton Guez Assuncao, David Obermann, Lukas Linsbauer, Paul Grünbacher, Alexander Egyed

Research output: Chapter in Book/Report/Conference proceedingConference proceedingspeer-review

Abstract

Feature annotation based on preprocessor directives is the most common mechanism in Highly-Configurable Software Systems (HCSSs) to manage variability. However, it is challenging to understand, maintain, and evolve feature fragments guarded by #ifdef directives. Yet, despite HCSSs being implemented in Version Control Systems, the support for evolving features in space and time is still limited. To extend the knowledge on this topic, we analyze the feature life cycle in space and time. Specifically, we introduce an automated mining approach and apply it to four HCSSs, analyzing commits of their entire development life cycle (13 to 20 years and 37,500 commits). This goes beyond existing studies, which investigated only differences between specific releases or entire systems. Our results show that features undergo frequent changes, often with substantial modifications of their code. The findings of our empirical analyses stress the need for better support of system evolution in space and time at the level of features. In addition to these analyses, we contribute an automated mining approach for the analysis of system evolution at the level of features. Furthermore, we also make available our dataset to foster new studies on feature evolution in HCSSs.
Original languageEnglish
Title of host publicationGPCE '21: Concepts and Experiences, Chicago, IL, USA, October 17 - 18, 2021
Editors Eli Tilevich and Coen De Roover
PublisherACM
Pages2-15
Number of pages14
DOIs
Publication statusPublished - Oct 2021

Fields of science

  • 102 Computer Sciences
  • 102022 Software development

JKU Focus areas

  • Digital Transformation

Cite this