Evolutionary Feature Dependencies: Analyzing Feature Co-Changes in C Systems

Sandro Schulze, Phillipp Engelke, Jacob Krüger

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

1 Citation (Scopus)
27 Downloads (Pure)

Abstract

Configurable software systems and software product lines build on features as first class entities for reasoning about commonalities and variability among system variants. While it is desirable to have modular features, this is not always achievable and research has shown that features interact frequently, which can come with negative effects like security vulnerabilities or bugs. Intensive research has been conducted regarding how and when features interact, focusing primarily on the implementation level and the variability mechanism therein. However, besides such structural, explicit feature dependencies represented in the code, there may also be more subtle, implicit feature dependencies. In this paper, we build on the idea that the co-evolution of features (i.e., co-changes between features) can reveal implicit dependencies, and thus point to poor design decisions that result in additional maintenance effort. We present a technique for analyzing feature co-changes based on repository mining and association rule mining to identify features that commonly change together and to reveal implicit dependencies. Moreover, we provide a large-scale multi-case study on five C systems (e.g., Linux kernel) to evaluate whether and how frequent such evolutionary dependencies occur. Our results reveal that a) feature co-changes occur quite frequently (25 to 70% of commits), b) a considerable amount of changes are supported by association rules (i.e, do not occur by chance), and c) several of these co-changes cannot be explained via explicit feature interactions. Overall, our technique and study complement existing research on feature dependencies and interactions by providing means for understanding implicit dependencies that are represented by feature co-evolution.
Original languageEnglish
Title of host publication2023 IEEE 23rd International Working Conference on Source Code Analysis and Manipulation, SCAM 2023
EditorsLeon Moonen, Christian Newman, Alessandra Gorla
PublisherInstitute of Electrical and Electronics Engineers
Pages84-95
Number of pages12
ISBN (Electronic)979-8-3503-0506-7
DOIs
Publication statusPublished - 20 Dec 2023
Event23rd International Working Conference on Source Code Analysis and Manipulation, SCAM 2023 - Bogotá, Colombia
Duration: 2 Oct 20233 Oct 2024

Conference

Conference23rd International Working Conference on Source Code Analysis and Manipulation, SCAM 2023
Abbreviated titleSCAM 2023
Country/TerritoryColombia
CityBogotá
Period2/10/233/10/24

Keywords

  • Software evolution
  • Repository mining
  • Code analysis
  • Configurable software systems
  • Assoication rule mining
  • code analysis
  • repository mining
  • configurable software systems
  • association rule mining
  • software evolution

Fingerprint

Dive into the research topics of 'Evolutionary Feature Dependencies: Analyzing Feature Co-Changes in C Systems'. Together they form a unique fingerprint.

Cite this