Filtered Cartesian Flattening: An Approximation Technique for Optimally Selecting Features while Adhering to Resource Constraints.
Jules White, Brian Doughtery, Douglas C. Schmidt · 2008
Software Product-lines (SPLs) use modular software components that can be reconfigured into different variants for different requirements sets. Feature modeling is a common method for capturing the configuration rules for an SPL architecture. A key challenge for developers is determining how to optimally select a set of features while simultaneously honoring resource constraints. For example, optimally selecting a set of features that fit the development budget is an NP problem. The paper provides the following contributions to the study of automated feature selection for SPL variants: (1) we present a polynomial time approximation technique called Filtered Cartesian Flattening (FCF) for deriving approximately optimal solutions to feature selection problems with resource constraints, (2) we show that FCF can operate on large feature models that would not be possible with existing algorithmic approaches, and (3) we present empirical results from initial experiments performed using FCF. Our results show that FCF is 93%+ optimal on feature models with 5,000 features. 1