CCFinder: a multilinguistic token-based code clone detection system for large scale source code
IEEE Transactions on Software Engineering
S.P.L.O.T.: software product lines online tools
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
Variability management in software product lines: a systematic review
Proceedings of the 13th International Software Product Line Conference
Variability modeling in the real: a perspective from the operating systems domain
Proceedings of the IEEE/ACM international conference on Automated software engineering
A theory of software product line refinement
ICTAC'10 Proceedings of the 7th International colloquium conference on Theoretical aspects of computing
Evolution of the linux kernel variability model
SPLC'10 Proceedings of the 14th international conference on Software product lines: going beyond
Feature-to-code mapping in two large product lines
SPLC'10 Proceedings of the 14th international conference on Software product lines: going beyond
An introduction to software product line refactoring
GTTSE'09 Proceedings of the 3rd international summer school conference on Generative and transformational techniques in software engineering III
Investigating the safe evolution of software product lines
Proceedings of the 10th ACM international conference on Generative programming and component engineering
Make it or Break it: Mining Anomalies from Linux Kbuild
WCRE '11 Proceedings of the 2011 18th Working Conference on Reverse Engineering
Mining Kbuild to Detect Variability Anomalies in Linux
CSMR '12 Proceedings of the 2012 16th European Conference on Software Maintenance and Reengineering
Feature-oriented software evolution
Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems
Coevolution of variability models and related artifacts: a case study from the Linux kernel
Proceedings of the 17th International Software Product Line Conference
Extracting feature model changes from the Linux kernel using FMDiff
Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems
Hi-index | 0.00 |
A complete understanding of evolution of variability requires analysis over all project spaces that contain it: source code, build system and the variability model. Aiming at better understanding of how complex variant-rich software evolve, we set to study one, the Linux kernel, in detail. We qualitatively analyze a number of evolution steps in the kernel history and present our findings as a preliminary sample of a catalog of evolution patterns. Our patterns focus on how the variability evolves when features are removed from the variability model, but are kept as part of the software. The identified patterns relate changes to the variability model, the build system, and implementation code. Despite preliminary, they already indicate evolution steps that have not been captured by prior studies, both empirical and theoretical.