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

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

技术编号:16365812 阅读:78 留言:0更新日期:2017-10-10 21:56
本发明专利技术针对软件缺陷数据集中不相关特征和冗余特征会降低软件缺陷个数预测模型的性能的问题,提出了一种面向软件缺陷个数预测的特征选择方法。首先利用特征与特征之间的关联性,对特征集进行谱聚类,将相互之间冗余度高的特征聚类到同一个簇中。在聚类的结果中,利用特征与软件缺陷个数之间的相关性,从每个簇中选出相关性最强的几个特征,这样既降低了特征之间的冗余度,又排除了不相关特征,得到最终的有益于缺陷个数预测模型性能的特征子集。本发明专利技术的技术方案具有简单、快速的特点,得到的特征子集有助于提高软件缺陷个数预测模型的性能。

A feature selection method for software defect number prediction

The invention aims at the problem that the irrelevant character and the redundant character of the software defect data set can reduce the performance of the software defect number prediction model, and puts forward a feature selection method for predicting the number of software defects. Firstly, the clustering of feature sets is performed by using the correlation between feature and feature, and the redundant features are clustered into the same cluster. In the clustering results, the correlation between features and software defects and the number of selected features of the strongest correlation from each cluster, so as to reduce the redundancy between features, and eliminate irrelevant features, get the final feature subset is beneficial to the performance prediction model of the number of defects. The technical proposal of the invention has the characteristics of simple and fast, and the feature subset obtained is helpful to improve the performance of the software defect number prediction model.

【技术实现步骤摘要】
一种面向软件缺陷个数预测的特征选择方法
本专利技术属于特征选择领域,特别是涉及一种面向软件缺陷个数预测的特征选择方法。
技术介绍
(1)软件缺陷预测技术:软件缺陷是计算机软件或程序中存在的某个破坏正常运行能力的问题、错误以及隐藏的功能缺陷。随着软件系统在工程应用中的不断扩大,软件缺陷导致的经济损失日益增加。据美国国家标准与技术所的一项研究表明,软件缺陷给美国每年造成的损失高达几百亿元,而其中超过三分之一的损失,如果提前稍加测试,即可避免。除了经济领域,还有一些软件是飞行控制系统软件和医疗设备软件,这些和人命相关的软件,一旦出现软件缺陷问题,就会给人民生命财产安全带来无端灾难,因此软件缺陷预测技术意义重大。软件缺陷预测技术是软件质量保证中的一项重要技术。软件缺陷预测通过分析软件历史仓库,建立缺陷预测模型,对新的软件模块进行缺陷预测。对预测出潜在缺陷的新的软件模块分配更多的测试资源,可以达到合理分配测试和维护资源的目的。目前为止,已有很多高效的软件缺陷方法被提出。但这些预测通常只给出有缺陷或无缺陷的二分类结果。现有技术表明,如果只按照有无缺陷来分配有限的测试资源,可能会造成资源分配的浪费本文档来自技高网...
一种面向软件缺陷个数预测的特征选择方法

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

【技术特征摘要】
1.一种面向软件缺陷个数预测的特征选择方法,其特征是,包括以下步骤:步骤1,挖掘软件历史数据,从中抽取出有用的软件模块;软件模块粒度可根据实际应用场景,可设置为文件、包、类或函数;然后标记这些软件模块的缺陷数目;步骤2,提取软件模块中与软件缺陷有关的特征,提取了20个度量属性:加权方法数(wmc),继承树深度(dit),孩子数(noc),对象类之间的耦合度(cbo),类的响应(rfc),内聚缺乏度(lcom),传入耦合(ca),传出耦合(ce),公开方法数(npm),代码行数(loc),数据访问度量(dam),聚合度量(moa),功能抽象度量(mfa),方法间的内聚度(cam),继承耦合(ic),方法间耦合(cbm),平均方法复杂度(amc),最大McCabe环形复杂度(max_cc),平均McCabe环形复杂度(avg_cc);这20个特征形成了形成原始的特征集;步骤3,利用线性Pearson系数计算特征之间的关联性,两个特征之间的冗余度越大,它们的关联性就越强,关联性计算公式为:其中,xik,xjk分别表示第k个软件模块Xk上特征fi的值和特征fj的值,分别表示在所有软件模块数据上特征fi的均值和fj的均值;rij表示特征fi和特征fj之间的关联度,取值介于-1和1之间;其越接近1或-1,关联性越强,越接近于0,关联性越弱;步骤4,利用谱聚类算法根据特征之间的关联性对这些特征进行聚...

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

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

1