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

Sandro Schulze, Phillipp Engelke, Jacob Krüger

Onderzoeksoutput: Hoofdstuk in Boek/Rapport/CongresprocedureConferentiebijdrageAcademicpeer review

1 Citaat (Scopus)
30 Downloads (Pure)

Samenvatting

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.
Originele taal-2Engels
Titel2023 IEEE 23rd International Working Conference on Source Code Analysis and Manipulation, SCAM 2023
RedacteurenLeon Moonen, Christian Newman, Alessandra Gorla
UitgeverijInstitute of Electrical and Electronics Engineers
Pagina's84-95
Aantal pagina's12
ISBN van elektronische versie979-8-3503-0506-7
DOI's
StatusGepubliceerd - 20 dec. 2023
Evenement23rd International Working Conference on Source Code Analysis and Manipulation, SCAM 2023 - Bogotá, Colombia
Duur: 2 okt. 20233 okt. 2024

Congres

Congres23rd International Working Conference on Source Code Analysis and Manipulation, SCAM 2023
Verkorte titelSCAM 2023
Land/RegioColombia
StadBogotá
Periode2/10/233/10/24

Vingerafdruk

Duik in de onderzoeksthema's van 'Evolutionary Feature Dependencies: Analyzing Feature Co-Changes in C Systems'. Samen vormen ze een unieke vingerafdruk.

Citeer dit