由于多个非功能需求间往往相互制约甚至发生冲突,特征选择的本质是多目标优化过程.优化过程的搜索空间被特征间错综复杂的依赖和约束关系以及明确的功能需求大大限制.另外,有些非功能需求有明确的数值约束,而有些则仅要求尽可能地得到优化.多样的非功能需求约束类型也给优化选择过程带来极大的挑战.提出一种含修正算子的多目标优化算法MOOFs.首先,设计特征间依赖和约束关系描述语言DL-DCF来统一规范特征选择过程中必须遵守的规则,所有的非功能需求都转化为优化目标,相关的数值约束则作为优化过程中特征选择方案的过滤器.另外,设计了修正算子用于保证选择出的特征配置方案必满足产品线的特征规则约束.通过与4种常用的多目标优化算法在4个不同规模的特征模型上的运行结果进行对比,表明该方法能够更快地产生满足约束的优化解,且优化解具备更好的收敛性与多样性.
关键词:软件产品线特征选择多目标优化算法非功能需求功能需求
Multi-Objective Optimization Algorithm for Feature Selection in Software Product Lines
LIAN Xiao-Li,ZHANG Li
School of Computer Science and Engineering, Beihang University, Beijing 100191, China
Foundation item: National Natural Science Foundation of China (61370058)
Abstract:	In software product lines, the core of product customization is to select appropriate features.Due to the various competing and even conflicting non-functional requirements (NFRs), feature selection, in essential, is a multi-objective optimization process.What's more, the search spa