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

一种面向软件缺陷预测的混合特征选择方法技术

技术编号:16644517 阅读:98 留言:0更新日期:2017-11-26 16:53
本发明专利技术涉及一种面向软件缺陷预测的混合特征选择方法,首先从原始特征集中选择最相关的m个特征,丢弃掉不相关特征;随后根据特征与特征之间的关联性,对这m个特征进行聚类,将相互之间冗余度高的特征聚类到同一个簇中。最后利用包裹式特征选择的思想,从当前特征子集中删除每个簇中一个最不相关的特征,形成新的特征子集,然后用准确率这个评价函数对该特征子集进行评价,本发明专利技术得到的最终特征子集既排除了不相关特征,又降低了特征之间的冗余度。同时,从不同簇里删除一个最不相关的特征形成新的特征子集,可以有效减少被搜索的特征子集的数量。

A hybrid feature selection method for software defect prediction

The invention relates to a hybrid feature selection method for predicting software defects, first from the original feature set to select the most relevant m features, discard irrelevant features; then according to the relationship between the feature and the characteristics of the cluster of the M features, will feature clustering between high redundancy in the same cluster. Finally, by wrapping the idea of feature selection and feature subset deletion from the current one of the most relevant features of each cluster, forming a new feature subset, and then use the accuracy of the evaluation function of the feature subset, the final feature subset obtained by the invention not only eliminated the irrelevant features, but also reduce the redundancy degree between features. At the same time, deleting the most irrelevant feature from different clusters to form a new feature subset can effectively reduce the number of feature subsets that are searched.

【技术实现步骤摘要】
一种面向软件缺陷预测的混合特征选择方法
本专利技术属于特征选择领域,特别是涉及一种面向软件缺陷预测的混合特征选择方法。
技术介绍
(1)软件缺陷预测技术软件缺陷是计算机软件或程序中存在的某个破坏正常运行能力的问题、错误以及隐藏的功能缺陷。随着软件系统在工程应用中的不断扩大,软件缺陷导致的经济损失日益增加。软件缺陷预测技术是软件质量保证中的一项重要技术。软件缺陷预测通过分析软件历史仓库,建立缺陷预测模型,对新的软件模块进行缺陷预测。对预测出潜在缺陷的新的软件模块分配更多的测试资源,可以达到合理分配测试和维护资源的目的。目前为止,已有很多高效的软件缺陷方法被提出。软件缺陷预测过程的第一步是收集和标注软件模块。一个软件模块能够被标记为有缺陷和无缺陷。第二步,抽取软件模块的度量属性。到目前为止,研究人员从不同的角度提出了许多软件度量属性,而与软件缺陷预测密切相关的度量属性主要有代码度量、McCabe度量和Halstead度量三种。代码度量是最直接、应用最普遍的度量属性。通过对程序进行简单的计数,我们可以得到相关代码的度量值。它包含总行数(LOC)、空白行数目(LOCb)、注释行数目(LOCc本文档来自技高网...
一种面向软件缺陷预测的混合特征选择方法

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

【技术特征摘要】
1.一种面向软件缺陷预测的混合特征选择方法,其特征是,包括以下步骤:步骤1,挖掘软件历史数据,从中抽取出有用的软件模块;软件模块粒度根据实际应用场景,设置为文件、包、类或函数;然后标记这些软件模块的类标号:标记有缺陷的软件模块的类标号为Y,标记无缺陷的软件模块的类标号为N;步骤2,提取软件模块中与软件缺陷有关的特征,提取了19个度量属性:加权方法数(wmc),继承树深度(dit),孩子数(noc),对象类之间的耦合度(cbo),类的响应(rfc),内聚缺乏度(lcom),传入耦合(ca),传出耦合(ce),公开方法数(npm),代码行数(loc),数据访问度量(dam),聚合度量(moa),功能抽象度量(mfa),方法间的内聚度(cam),继承耦合(ic),方法间耦合(cbm),平均方法复杂度(amc),最大McCabe环形复杂度(max_cc),平均McCabe环形复杂度(avg_cc);这19个特征形成了原始的特征集;定义提取模块特征和标记软件模块是否有缺陷后形成了包含有n个软件模块的软件缺陷数据集D;步骤3,利用互信息计算原始特征集中每个特征与类标号之间的相关性,对原始特征集中的特征进行排序,选出相关性最高的m个特征;互信息的计算公式为其中Ii为特征fi与类标号之间的相关性,P(fij,Y)是类标号为Y且特征fi的特征值为fij的软件模块的数目与类标号为Y的软件模块的数目的比值,P(fij)是特征fi的特征值为fij的软件模块的数目与软件缺陷数据集中包含的软件模块的数目的比值,P(fij,N)是类标号为N且特征fi的特征值为fij的软件模块的数目与类标号为N的软件模块的数目的比值,P(Y)是类标号为Y的软件模块的数目与软件缺陷数据集中包含的软件模块的数目的比值,P(N)是类标号为N的软件模块的数目与软件缺陷数据集中包含的软件模块的数目的比值;步骤4,根据特征之间的关联性利用K-means算法对步骤3中选出的相关性最大的m个特征进行聚类,形成k个簇,具体包括:步骤4.1,利用互信息计算特征fi与特征fj之间的关联性;其计算公式为Iij=I(fi;其中P(fim,fjm)为特征fj的特征值为fjm且特征fi的特征值为fim的软件模块数目与软件缺陷数据集中包含的软件...

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

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

1