Classifying edits to variability in source code
Paul Maximilian Bittner, Christof Tinnes, Alexander Schultheiß, Sören Viegener, Timo Kehrer, Thomas Thüm
Abstract
For highly configurable software systems, such as the Linux kernel, maintaining and evolving variability information along changes to source code poses a major challenge. While source code itself may be edited, also feature-to-code mappings may be introduced, removed, or changed. In practice, such edits are often conducted ad-hoc and without proper documentation. To support the maintenance and evolution of variability, it is desirable to understand the impact of each edit on the variability. We propose the first complete and unambiguous classification of edits to variability in source code by means of a catalog of edit classes. This catalog is based on a scheme that can be used to build classifications that are complete and unambiguous by construction. To this end, we introduce a complete and sound model for edits to variability. In about 21.5ms per commit, we validate the correctness and suitability of our classification by classifying each edit in 1.7 million commits in the change histories of 44 open-source software systems automatically. We are able to classify all edits with syntactically correct feature-to-code mappings and find that all our edit classes occur in practice.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Your agent calls
Lunesearch_papers
Free to start. No credit card required.
Terminal
Install the CLIlune papers get ca83225f-1889-4568-9ff0-a9bfaa8fa6e0Cited by top-tier papers2
- Tseitin or not Tseitin? The Impact of CNF Transformations on Feature-Model AnalysesElias Kuiter, Sebastian Krieter, Chico Sundermann, Thomas Thüm et al.ASE 2022 · 24 citations
- On the Expressive Power of Languages for Static VariabilityPaul Maximilian Bittner, Alexander Schultheiß, Benjamin Moosherr, Jeffrey M. Young et al.OOPSLA 2024 · 1 citation
Related papers
- Learning to Update Natural Language Comments Based on Code ChangesSheena Panthaplackel, Pengyu Nie, Milos Gligoric, Junyi Jessy Li et al.ACL 2020 · 1 citation
- Feature trace recordingPaul Maximilian Bittner, Alexander Schultheiß, Thomas Thüm, Timo Kehrer et al.FSE 2021 · 12 citations
- Accurate method and variable tracking in commit historyMehran Jodavi, Nikolaos TsantalisFSE 2022 · 12 citations
- Profiles of Schema Evolution in Free Open Source Software ProjectsPanos VassiliadisICDE 2021 · 9 citations
- RAT: A Refactoring-Aware Traceability Model for Bug LocalizationFeifei Niu, Wesley K. G. Assunção, LiGuo Huang, Christoph Mayr-Dorn et al.ICSE 2023 · 16 citations
