The present invention relates to a method of software defect prediction based on cost sensitive semi supervised, which comprises the following steps: S1 through the version control tool to collect prediction software source code files; the S2 S1 source code file is composed of I modules, extracting volume element values from the source code file; S3 by sampling the metric value selection module obtains sampling result set; S4 tagging after sampling results set and unlabeled samples set to establish the training set; S5 objective function is put forward, which solved the objective function value classification function minimum, S6 through the classification function prediction module treated concentration prediction, and the output of the prediction results. Semi supervised and cost sensitive thought of building a software defect prediction model of the fusion method, and solve the difficult to obtain the defect data in software defect prediction and class imbalance problem two, which greatly improves the accuracy of the prediction results.
【技术实现步骤摘要】
本专利技术涉及软件预测,具体涉及基于代价敏感半监督的软件缺陷预测方法。
技术介绍
然而,随着软件规模的不断增大,复杂程度的不断提高、以及市场对软件开发周期尽可能缩短的需求,对于软件质量进行预测和控制的难度逐渐提高,成本也不断加大。而且,软件技术发展至今,无论是小程序还是大型系统,软件中的缺陷软件中的缺陷已经成为软件开发过程中必不可少的副产品,而且不存在一种检验或验证的方法能够发现并排除全部的缺陷。更糟糕的是,软件缺陷发现得越晚,修复的成本越高。因此,如何在有限的人员、时间和成本条件下,有效地对软件进行充分的测试并尽可能全面地发现软件中存在的缺陷,始终是软件质量控制学科乃至整个软件工程领域所面临的难题。目前已经研究出多种方式能够有效提高软件质量,但是最好的方法是“预防缺陷”。软件缺陷预测就是有效预防缺陷的一种方法。软件缺陷检测旨在软件开发过程中自动检测程序模块中是否包含缺陷而不需要真正运行程序。通过预测软件模块是否包含缺陷可以有效合理地分配有限的测试资源,提高软件开发质量。从近年来国内外缺陷预测领域的研究中容易发现,无论是统计学习方法,还是机器学习方法都还存在着不足和挑战,主要总结为以下几点:1)依赖大量历史缺陷信息,而在实际应用中难以获取甚至不能获取一定数量的标签数据进行学习,在没有足够学习样本的情况下预测精度不高。2)缺陷数据具有明显的类不平衡特性,这使得传统机器学习方法在缺陷预测问题上召回率不高。3)越来越多的软件度量引入到缺陷预测领域,容易造成维度灾难。目前大部分预测方法旨在获得高准确率或者低错误率,而现实应用中不同类型的错误分类往往会造成不同的代 ...
【技术保护点】
基于代价敏感半监督的软件缺陷预测方法,其特征在于,包括如下步骤:S1:通过版本控制工具收集待预测软件的源代码文件;S2:所述S1得到的源代码文件由I个模块组成,从所述源代码文件中提取度量元值,所有度量元值构成一个集合X,X={x1,1,x2,2,...xi,j,...xI,J} (1);xij表示第j个度量元在第i个模块上的度量元值,I表示待预测软件中源代码文件的总数,J表示提取的度量元的总数;每个模块对应一个度量元向量,定义xi表示第i个模块的度量元向量,xi={xij|j=1,2,3...J};S3:采样;S3a:确定xij,i=1,2,...I,J=1,2,...J大于其在所有模块上的度量元值的中位数Mj的数量;I)令i=1;II)令j=1;III)令Ki=0;IV)如果xij≥Mj,则Ki=Ki+1,并令j=j+1,执行下一步;否则,令j=j+1,并执行下一步;V)如果j≤J,则返回Ⅳ);否则令i=i+1,并执行下一步;VI)如果i≤I,则返回Ⅱ);否则执行下一步;VII)输出Ki;S3b:Ki值对应第i个模块,i=1,2…I,根据Ki值从大到小的顺序对Ki值对应的模块进 ...
【技术特征摘要】
1.基于代价敏感半监督的软件缺陷预测方法,其特征在于,包括如下步骤:S1:通过版本控制工具收集待预测软件的源代码文件;S2:所述S1得到的源...
【专利技术属性】
技术研发人员:徐玲,廖胜平,洪明坚,葛永新,杨梦宁,张小洪,杨丹,王洪星,黄晟,周末,
申请(专利权)人:重庆大学,
类型:发明
国别省市:重庆;50
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。