● 摘要
软件系统的发展使得系统中的软件成分不断增加,系统对于软件的依赖程度越来越大,对软件质量的要求也越来越高。在软件的开发过程中越早引入的错误,发现和纠正它们所需要的代价就越大。因此在软件开发过程的早期对软件质量进行有效地预测与控制是至关重要的。软件质量预测致力于在软件开发的早期发现有失效倾向的模块,从而在后续的开发和确认验证活动中能够优化资源配置,指导软件质量改进。本文进行的软件质量预测模型研究主要针对的是面向模块风险性的软件质量预测模型,是基于软件度量对软件模块故障倾向进行预测的分类模型。本文在研究软件质量预测建模一般方法的基础上,针对软件质量预测模型存在的共性问题,提出解决方案。模型的算法选择问题一直软件质量预测模型构造的难点,预测算法在不同目标产品上常常表现出非常大的差异性。本文通过引入机器学习中的集成学习机制,提出一种基于多特征空间和多学习器的软件质量预测模型框架,用不同的度量元集合和不同的分类器构建软件质量预测集成模型,尽可能增大了集成学习所需的多样性。应用集成学习模型,能消除模型选择问题的困扰,并能解决单一算法适应度低的问题,增加模型的健壮性和泛化性能。此外,软件质量预测具有度量元众多并且数据类别分布极不平均(非平衡数据)的特点,本文提出了一种针对非平衡数据的基于AdaBoost特征提取技术的软件质量预测模型,该模型是特征提取技术,非平衡数据解决技术和AdaBoost集成算法的融合。考虑特征提取的AdaBoost算法能够最大化的考虑所选特征和分类器的直接关联,保留最有效的信息,减轻“维度灾难”,去除不相关度量对预测的干扰。在考虑特征提取的AdaBoost算法基础上,通过设置样本代价调整系数构建针对非平衡数据的基于AdaBoost特征提取技术的软件质量预测模型,使分类器更偏好于少数类样本,有效解决非平衡数据问题。
相关内容
相关标签