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 language | English |
---|---|
Title of host publication | 2023 IEEE 23rd International Working Conference on Source Code Analysis and Manipulation, SCAM 2023 |
Editors | Leon Moonen, Christian Newman, Alessandra Gorla |
Publisher | Institute of Electrical and Electronics Engineers |
Pages | 84-95 |
Number of pages | 12 |
ISBN (Electronic) | 979-8-3503-0506-7 |
DOIs | |
Publication status | Published - 20 Dec 2023 |
Event | 23rd International Working Conference on Source Code Analysis and Manipulation, SCAM 2023 - Bogotá, Colombia Duration: 2 Oct 2023 → 3 Oct 2024 |
Conference
Conference | 23rd International Working Conference on Source Code Analysis and Manipulation, SCAM 2023 |
---|---|
Abbreviated title | SCAM 2023 |
Country/Territory | Colombia |
City | Bogotá |
Period | 2/10/23 → 3/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