首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 343 毫秒
1.
软件缺陷预测先前的研究工作主要关注软件缺陷分类问题,即判断一个软件模块是否含有缺陷。如何量化一个软件模块中含有软件缺陷的数量问题还未被很好地研究。针对该问题,提出了一种两阶段的软件模块缺陷数预测特征选择方法FSDNP:特征聚类阶段和特征选择阶段。在特征聚类阶段中,使用基于密度峰聚类的算法将高度相关的特征进行聚类;在特征选择阶段,设计了三种启发式的排序策略从簇中删除冗余的和无关的特征。在PROMISE数据集上,使用平均错误率和平均相对错误率指标,与6个经典的方法进行了比较。实验结果表明,FSDNP能够有效移除冗余的和无关的特征,构建高效的软件缺陷数预测模型。  相似文献   

2.
软件缺陷预测在提高软件质量和用户满意度、降低开发成本和风险等方面起着非常重要的作用,在学术界如火如荼地展开了众多理论和实证研究,但在产业界却发现其存在着实用性差、效率低、未考虑缺陷严重等级等不足。为了查找具体原因,首先依据预测目标的不同,将静态软件缺陷预测细分为缺陷倾向性预测、缺陷的数量/分布密度预测和缺陷模块排序预测;然后从软件度量指标的筛选、测评数据资源库、缺陷预测模型的构建和缺陷预测模型的评价等四方面综述了上述三类静态软件缺陷预测现有的研究工作,详细地指出了各自存在的问题,重点综述了缺陷倾向性预测模型的构建和缺陷模块排序模型的构建方面的工作;最后结合在产业界的应用情况,指出了静态软件缺陷预测面临的挑战和瓶颈,展望了进一步的研究方向。  相似文献   

3.
软件缺陷预测是提高软件测试效率,保证软件可靠性的重要途径。考虑到软件缺陷预测模型对软件模块错误分类代价的不同,提出了代价敏感分类的软件缺陷预测模型构建方法。针对代码属性度量数据,采用Bagging方式有放回地多次随机抽取训练样本来构建代价敏感分类的决策树基分类器,然后通过投票的方式集成后进行软件模块的缺陷预测,并给出模型构建过程中代价因子最优值的判定选择方法。使用公开的NASA软件缺陷预测数据集进行仿真实验,结果表明该方法在保证缺陷预测率的前提下,误报率明显降低,综合评价指标AUC和F值均优于现有方法。  相似文献   

4.
软件缺陷预测可以有效提高软件的可靠性,修复系统存在的漏洞。Boosting重抽样是解决软件缺陷预测样本数量不足问题的常用方法,但常规Boosting方法在处理领域类不平衡问题时效果不佳。为此,提出一种代价敏感的Boosting软件缺陷预测方法CSBst。针对缺陷模块漏报和误报代价不同的问题,利用代价敏感的Boosting方法更新样本权重,增大产生第一类错误的样本权重,使之大于无缺陷类样本权重与第二类错误样本的权重,从而提高模块的预测率。采用阈值移动方法对多个决策树基分类器的分类结果进行集成,以解决过拟合问题。在此基础上,通过分析给出模型构建过程中权重和阈值的最优化设置。在NASA软件缺陷预测数据集上进行实验,结果表明,在小样本的情况下,与CSBKNN、CSCE方法相比,CSBst方法的BAL预测指标分别提升7%和3%,且时间复杂度降低一个数量级。  相似文献   

5.
王铁建  吴飞  荆晓远 《计算机科学》2017,44(12):131-134, 168
提出一种多核字典学习方法,用以对软件模块是否存在缺陷进行预测。用于软件缺陷预测的历史数据具有结构复杂、类不平衡的特点,用多个核函数构成的合成核将这些数据映射到一个高维特征空间,通过对多核字典基的选择,得到一个类别平衡的多核字典,用以对新的软件模块进行分类和预测,并判定其中是否存在缺陷。在NASA MDP数据集上的实验表明,与其他软件缺陷预测方法相比,多核字典学习方法能够针对软件缺陷历史数据结构复杂、类不平衡的特点,较好地解决软件缺陷预测问题。  相似文献   

6.
基于机器学习的软件缺陷预测是一种有效的提高软件可靠性的方法。该方法基于软件模块的统计特性预测软件模块可能出现的缺陷数或是否容易出现缺陷。通过对软件模块缺陷状况的预测,软件开发组织可以将有限的资源集中于容易出现缺陷的模块,从而有效地提高软件产品的质量。基于机器学习的软件缺陷预测近年来出现了很多研究成果,文章概述该领域近年来的主要研究成果,并根据各方法的特点进行了分类。  相似文献   

7.
基于已有软件缺陷数据,建立分类模型对待测软件模块进行预测,能够提高测试效率和降低测试成本。现有基于机器学习方法对软件缺陷预测的研究大部分基于二支决策方式,存在误分率较高等问题。本文针对软件缺陷数据具有代价敏感特性且软件度量取值为连续值等特性,提出了一种基于邻域三支决策粗糙集模型的软件缺陷预测方法,该方法对易分错的待测软件模块作出延迟决策,和二支决策方法相比,降低了误分类率。在NASA软件数据集上的实验表明所提方法能够提高分类正确率并减小误分类代价。  相似文献   

8.
宫丽娜  姜淑娟  姜丽 《软件学报》2019,30(10):3090-3114
随着软件规模的扩大和复杂度的不断提高,软件的质量问题成为关注的焦点,软件缺陷是软件质量的对立面,威胁着软件质量,如何在软件开发的早期挖掘出缺陷模块成为一个亟需解决的问题.软件缺陷预测通过挖掘软件历史仓库,设计出与缺陷相关的内在度量元,然后借助机器学习等方法来提前发现与锁定缺陷模块,从而合理地分配有限的资源.因此,软件缺陷预测是软件质量保证的重要途径之一,近年来已成为软件工程中一个非常重要的研究课题.汇总近8年(2010年~2017年)国内外的缺陷预测技术的研究成果,并以缺陷预测的形式为主线进行分析,首先介绍了软件缺陷预测模型的框架;然后从软件缺陷数据集、构建模型的方法及评价指标这3个方面对已有的研究工作进行分类归纳和比较;最后探讨了软件缺陷预测的未来可能的研究方向、机遇和挑战.  相似文献   

9.
即时软件缺陷预测是保障软件安全与质量相统一的必要途径,在软件工程领域受到越来越多的关注.然而,现有数据集存在特征冗余和特征相关性低的情况,极大影响了即时软件缺陷预测模型的分类性能和稳定性.此外,分析缺陷数据特征对模型的影响尤为重要,但如今对软件缺陷预测模型进行解释性研究较少.针对这些问题,文章基于6个开源项目的227417个代码级变更的大规模实证研究,创新性地选择了SHAP+SMOTEENN+XGBoost(SHAP-SEBoost)构建即时软件缺陷预测模型.首先通过SHAP(SHapley Additive exPlanation)模型可解释器分析初始数据集特征,并根据分析结果对数据集进行相应的特征选择与组合.然后,利用SMOTEENN对类不平衡的缺陷数据进行正负样本均衡化,使用集成学习算法XGBoost对实验数据进行预测建模.最后,使用SHAP对本文模型进行可解释性分析.实验结果表明SHAP-SEBoost有效地提高了分类性能,与基线模型以及近年优秀模型相比AUC平均提高11.6%,F1平均提升33.5%.  相似文献   

10.
简艺恒  余啸 《计算机应用》2018,38(9):2637-2643
预测软件缺陷的数目有助于软件测试人员更多地关注缺陷数量多的模块,从而合理地分配有限的测试资源。针对软件缺陷数据集不平衡的问题,提出了一种基于数据过采样和集成学习的软件缺陷数目预测方法——SMOTENDEL。首先,对原始软件缺陷数据集进行n次过采样,得到n个平衡的数据集;然后基于这n个平衡的数据集利用回归算法训练出n个个体软件缺陷数目预测模型;最后对这n个个体模型进行结合得到一个组合软件缺陷数目预测模型,利用该组合预测模型对新的软件模块的缺陷数目进行预测。实验结果表明SMOTENDEL相比原始的预测方法在性能上有较大提升,当分别利用决策树回归(DTR)、贝叶斯岭回归(BRR)和线性回归(LR)作为个体预测模型时,提升率分别为7.68%、3.31%和3.38%。  相似文献   

11.
光伏组件在日常运行中不可避免会产生各种缺陷,热斑缺陷就是其中一种.现有的研究主要针对光伏组件在生产工艺流程中出现的缺陷,对日常运行中光伏组件产生的缺陷检测算法研究很少并且存在泛化能力差、准确率不足等问题.本文在原始Faster RCNN的基础上,结合图像预处理、迁移学习、改进特征提取网络模型以及改进锚框选区方案,得到热斑缺陷检测模型.实验证明,使用本文模型在自制的测试集上平均检测准确率可达97.34%,相比原始Faster RCNN提高了4.51%.  相似文献   

12.
为提高软件缺陷严重程度的预测性能,通过充分考虑软件缺陷严重程度标签间的次序性,提出一种基于有序回归的软件缺陷严重程度预测方法ORESP.该方法首先使用基于Spearman的特征选择方法来识别并移除数据集内的冗余特征,随后使用基于比例优势模型的神经网络来构建预测模型.通过与五种经典分类方法的比较,所提的ORESP方法在四种不同类型的度量下均可取得更高的预测性能,其中基于平均0-1误差(MZE)评测指标,预测模型性能最大可提升10.3%;基于平均绝对误差(MAE)评测指标,预测模型性能最大可提升12.3%.除此之外,发现使用基于Spearman的特征选择方法可以有效提升ORESP方法的预测性能.  相似文献   

13.
刘成斌  郑巍  樊鑫  杨丰玉 《计算机应用》2019,39(12):3633-3638
针对软件系统模块间具有依赖关系的问题,通过对软件系统网络结构进行分析,构建了基于网络表征学习的混合缺陷预测模型。首先,将软件系统以模块为单位转换成软件网络;然后,使用网络表征技术来无监督学习软件网络中每个模块的系统结构特征;最后,结合系统结构特征和卷积神经网络学习的语义特征构建一个混合缺陷预测模型。实验结果表明:在Apache三个开源软件poi、lucene和synapse上所提混合缺陷预测模型具有更好的缺陷预测效果,其F1指标比最优模型——基于卷积神经网络(CNN)的缺陷预测模型分别提高了3.8%、1.0%、4.1%。软件网络结构特征分析为缺陷预测模型的构建提供了有效的研究思路。  相似文献   

14.
软件缺陷预测是软件质量保障领域的热点研究课题,缺陷预测模型的质量与训练数据有密切关系。用于缺陷预测的数据集主要存在数据特征的选择和数据类不平衡问题。针对数据特征选择问题,采用软件开发常用的过程特征和新提出的扩展过程特征,然后采用基于聚类分析的特征选择算法进行特征选择;针对数据类不平衡问题,提出改进的Borderline-SMOTE过采样方法,使得训练数据集的正负样本数量相对平衡且合成样本的特征更符合实际样本特征。采用bugzilla、jUnit等项目的开源数据集进行实验,结果表明:所采用的特征选择算法在保证模型F-measure值的同时,可以降低57.94%的模型训练时间;使用改进的Borderline-SMOTE方法处理样本得到的缺陷预测模型在Precision、Recall、F-measure、AUC指标上比原始方法得到的模型平均分别提高了2.36个百分点、1.8个百分点、2.13个百分点、2.36个百分点;引入了扩展过程特征得到的缺陷预测模型比未引入扩展过程特征得到的模型在F-measure值上平均提高了3.79%;与文献中的方法得到的模型相比,所提方法得到的模型在F-measure值上平均提高了15.79%。实验结果证明所提方法能有效提升缺陷预测模型的质量。  相似文献   

15.
软件缺陷预测是软件质量保障领域的热点研究课题,缺陷预测模型的质量与训练数据有密切关系。用于缺陷预测的数据集主要存在数据特征的选择和数据类不平衡问题。针对数据特征选择问题,采用软件开发常用的过程特征和新提出的扩展过程特征,然后采用基于聚类分析的特征选择算法进行特征选择;针对数据类不平衡问题,提出改进的Borderline-SMOTE过采样方法,使得训练数据集的正负样本数量相对平衡且合成样本的特征更符合实际样本特征。采用bugzilla、jUnit等项目的开源数据集进行实验,结果表明:所采用的特征选择算法在保证模型F-measure值的同时,可以降低57.94%的模型训练时间;使用改进的Borderline-SMOTE方法处理样本得到的缺陷预测模型在Precision、Recall、F-measure、AUC指标上比原始方法得到的模型平均分别提高了2.36个百分点、1.8个百分点、2.13个百分点、2.36个百分点;引入了扩展过程特征得到的缺陷预测模型比未引入扩展过程特征得到的模型在F-measure值上平均提高了3.79%;与文献中的方法得到的模型相比,所提方法得到的模型在F-measure值上平均提高了15.79%。实验结果证明所提方法能有效提升缺陷预测模型的质量。  相似文献   

16.
王培  金聪  葛贺贺 《计算机应用》2012,32(6):1738-1740
软件开发过程中准确有效地预测具有缺陷倾向的软件模块是提高软件质量的重要方法。属性选择能够显著地提高软件缺陷预测模型的精确度和效率。提出了一种基于互信息的属性选择方法,将选择出的最优属性子集用于软件缺陷预测模型。方法采用了前向搜索策略,并在评价函数中引入非线性平衡系数。实验结果表明,基于互信息的属性选择方法提供的属性子集能提高各类软件缺陷预测模型的预测精度和效率。  相似文献   

17.
软件缺陷预测通过预先识别出被测项目内的潜在缺陷程序模块,有助于合理分配测试资源,并最终提高被测软件产品的质量。但在搜集缺陷预测数据集的时候,由于考虑了大量与代码复杂度或开发过程相关的度量元,造成数据集内存在维数灾难问题。借助基于搜索的软件工程思想,提出一种新颖的基于搜索的包裹式特征选择框架SBFS。该框架在实现时,首先借助SMOTE方法来缓解数据集内存在的类不平衡问题,随后借助基于遗传算法的特征选择方法,基于训练集选出最优特征子集。在实证研究中,以NASA数据集作为评测对象,以基于前向选择策略的包裹式特征选择方法FW、基于后向选择策略的包裹式特征选择BW、不进行特征选择的Origin作为基准方法。最终实证研究结果表明:SBFS方法在90%的情况下,不差于Origin法。在82.3%的情况下,不差于BW法。在69.3%的情况下,不差于FW法。除此之外,我们发现若基于决策树分类器,则应用SMOTE方法后,可以在71%的情况下,提高模型性能。而基于朴素贝叶斯和Logistic回归分类器,则应用SMOTE方法后,仅可以在47%和43%的情况下,提高模型的预测性能。  相似文献   

18.
A timely detection of high-risk program modules in high-assurance software is critical for avoiding the high consequences of operational failures. While software risk can initiate from external sources, such as management or outsourcing, software quality is adversely affected when internal software risks are realized, such as improper practice of standard software processes or lack of a defined software quality infrastructure. Practitioners employ various techniques to identify and rectify high-risk or low-quality program modules. Effectiveness of detecting such modules is affected by the software measurements used, making feature selection an important step during software quality prediction. We use a wrapper-based feature ranking technique to select the optimal set of software metrics to build defect prediction models. We also address the adverse effects of class imbalance (very few low-quality modules compared to high-quality modules), a practical problem observed in high-assurance systems. Applying a data sampling technique followed by feature selection is a relatively unique contribution of our work. We present a comprehensive investigation on the impact of data sampling followed by attribute selection on the defect predictors built with imbalanced data. The case study data are obtained from several real-world high-assurance software projects. The key results are that attribute selection is more efficient when applied after data sampling, and defect prediction performance generally improves after applying data sampling and feature selection.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号