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. Although resource consumption problems have been extensively studied in the Artificial Intelligence and Distributed Computing communities, the algorithms that these communities have developed, such as Multiple-choice Knapsack Problems (MMKP) approximation algorithms, have not been extensively applied to feature selection subject to resource constraints. The paper provides the following contributions to the study of automated feature selection for SPL variants: (1) we present a polynomial time approximation tec...
Jules White, B. Doughtery, Douglas C. Schmidt