Components and generative programming (invited paper)
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
MSR '05 Proceedings of the 2005 international workshop on Mining software repositories
Automatic Identification of Bug-Introducing Changes
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
Learning from bug-introducing changes to prevent fault prone code
Ninth international workshop on Principles of software evolution: in conjunction with the 6th ESEC/FSE joint meeting
An analysis of the variability in forty preprocessor-based software product lines
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Variability modeling in the real: a perspective from the operating systems domain
Proceedings of the IEEE/ACM international conference on Automated software engineering
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
Proceedings of the sixth conference on Computer systems
Variability-aware parsing in the presence of lexical macros and conditional compilation
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Make it or Break it: Mining Anomalies from Linux Kbuild
WCRE '11 Proceedings of the 2011 18th Working Conference on Reverse Engineering
Understanding linux feature distribution
Proceedings of the 2012 workshop on Modularity in Systems Software
Mining Kbuild to Detect Variability Anomalies in Linux
CSMR '12 Proceedings of the 2012 16th European Conference on Software Maintenance and Reengineering
The evolution of Java build systems
Empirical Software Engineering
A robust approach for variability extraction from the Linux build system
Proceedings of the 16th International Software Product Line Conference - Volume 1
Hi-index | 0.00 |
Configurable software systems allow users to customize them according to their needs. Supporting such variability is commonly divided into three parts: configuration space, build space, and code space. In this research abstract, we describe our work in exploring what information these spaces contain in practice, and if this information is consistent. This involves investigating how these spaces work together to ensure that variability is correctly implemented, and to avoid any inconsistencies or anomalies. Our work identifies how variability is implemented in several configurable systems, and initially focuses on less studied parts such as the build system. Our goals include: 1) investigating what information each space provides, 2) quantifying the variability in the build system, 3) studying the effect of build system constraints on variability anomalies, and 4) analyzing how variability anomalies are introduced and fixed. Achieving these goals would help developers make informed decisions when designing variable software, and improve maintainability of existing configurable systems.