当前位置: 首页 > 专利查询>武汉大学专利>正文

一种基于特征选择和集成学习的软件缺陷个数预测方法技术

技术编号:16367885 阅读:145 留言:0更新日期:2017-10-13 09:48
本发明专利技术属于软件缺陷预测技术领域,特别是涉及一种基于特征选择和集成学习的软件缺陷个数预测方法,针对软件缺陷个数的预测中不相关的模块特征损害了缺陷预测模型性能,回归模型均具有不同的预测能力,无法选择最佳回归算法等问题,首先利用基于包裹式的特征选择方法过滤不相关和冗余的特征,然后采用六种不同的回归算法:线性回归、岭回归、决策树回归、梯度boosting回归、最近邻回归和多层感知器回归,采用集成学习技术,根据特征筛选后的数据实例,构建综合回归模型。相比于单个的回归模型,本发明专利技术提高了软件缺陷个数预测的准确性。

A method of software defect number prediction based on feature selection and ensemble learning

The invention belongs to the field of software defect prediction technology, especially relates to a number of software defect prediction method of feature selection and ensemble learning based on feature prediction module for a number of software defects in related damage prediction model defects, regression model has different prediction ability, not choosing the best regression algorithm. First of all, using the method of feature selection filtering feature package based on irrelevant and redundant, then using six different regression algorithms: linear regression, ridge regression, decision tree regression, boosting regression, gradient nearest neighbor regression and multilayer perceptron regression, using ensemble learning technique, according to data feature selection after construction example comprehensive regression model. Compared with a single regression model, the invention improves the accuracy of software defect number prediction.

【技术实现步骤摘要】

本专利技术属于软件缺陷预测
,特别是涉及一种基于特征选择和集成学习的软件缺陷个数预测方法
技术介绍
(1)软件缺陷个数预测技术软件已经成为影响国民经济、军事、政治乃至社会生活的重要因素。高可靠和复杂的软件系统依赖于其采用的软件的可靠性。软件的缺陷是导致相关系统出错、失效、崩溃甚至机毁人亡的潜在根源。所谓缺陷,到目前为止,学术界,产业界有很多相关的术语和定义,比如故障、缺陷、bug、错误、失误、失效、失败等。根据ISO9000对缺陷的定义为:满足与预期或者规定用途有关的要求,缺陷是软件中已经存在的一个部分,可以通过修改软件而滤除。然而软件技术发展至今,任何检验、验证手段都不可能发现并排除所有的缺陷,软件作为一种无形的产物,虽然不会磨损用坏,却随时可能因为我们不易查知的原因出现故障甚至失效。事实上,从第一个软件诞生,就伴随出现软件缺陷的检测和预测技术。检测技术在于发现缺陷,而预测技术则在于预测还未发现的缺陷。20世纪70年代,出现了利用统计学习技术,根据历史数据以及已经发现的缺陷等软件度量数据预测软件系统的缺陷数目及类型。缺陷预测技术的目的在于统计计算机软件系统的缺陷数,以决定本文档来自技高网...
一种基于特征选择和集成学习的软件缺陷个数预测方法

【技术保护点】
一种基于特征选择和集成学习的软件缺陷个数预测方法,其特征在于,包括以下步骤:步骤1,挖掘软件历史数据,从中抽取出n个有用的软件模块;软件模块粒度可根据实际应用场景,可设置为文件、包、类或函数;然后标记软件模块中缺陷的个数;步骤2,提取软件模块中与软件缺陷有关的特征,提取了20个属性特征:加权方法数(wmc),继承树深度(dit),孩子数(noc),对象类之间的耦合度(cbo),类的响应(rfc),内聚缺乏度(lcom),传入耦合(ca),传出耦合(ce),公开方法数(npm),代码行数(loc),数据访问度量(dam),聚合度量(moa),功能抽象度量(mfa),方法间的内聚度(cam),继承...

【技术特征摘要】
1.一种基于特征选择和集成学习的软件缺陷个数预测方法,其特征在于,包括以下步骤:步骤1,挖掘软件历史数据,从中抽取出n个有用的软件模块;软件模块粒度可根据实际应用场景,可设置为文件、包、类或函数;然后标记软件模块中缺陷的个数;步骤2,提取软件模块中与软件缺陷有关的特征,提取了20个属性特征:加权方法数(wmc),继承树深度(dit),孩子数(noc),对象类之间的耦合度(cbo),类的响应(rfc),内...

【专利技术属性】
技术研发人员:余啸刘进井溢洋崔晓晖邱昌
申请(专利权)人:武汉大学
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1