CN106201897B - 基于主成分分布函数的软件缺陷预测不平衡数据处理方法 - Google Patents

基于主成分分布函数的软件缺陷预测不平衡数据处理方法 Download PDF

Info

Publication number
CN106201897B
CN106201897B CN201610596919.0A CN201610596919A CN106201897B CN 106201897 B CN106201897 B CN 106201897B CN 201610596919 A CN201610596919 A CN 201610596919A CN 106201897 B CN106201897 B CN 106201897B
Authority
CN
China
Prior art keywords
sample set
original
defective sample
defective
principal component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201610596919.0A
Other languages
English (en)
Other versions
CN106201897A (zh
Inventor
张德平
张晓风
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Aeronautics and Astronautics
Original Assignee
Nanjing University of Aeronautics and Astronautics
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Aeronautics and Astronautics filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN201610596919.0A priority Critical patent/CN106201897B/zh
Publication of CN106201897A publication Critical patent/CN106201897A/zh
Application granted granted Critical
Publication of CN106201897B publication Critical patent/CN106201897B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了基于主成分分布函数的软件缺陷预测不平衡数据处理方法,属于软件工程应用的技术领域。本发明对从软件数据集中获取的数据进行预处理得到原始样本集;采用PCA算法对原始样本集进行降维处理得到包含无缺陷样本集和有缺陷样本集的主成分数据集;对无缺陷样本集进行欠抽样,剔除无缺陷样本集的边界样本和噪声样本;对有缺陷样本集对应的主成分数据进行分布拟合得到新的有缺陷样本集;筛选新的有缺陷样本集得到新样本集;计算新样本集中各样本与原始样本集的欧式距离以剔除新样本集中的噪声样本。采用本发明公开的不平衡数据处理方法能够有效提高软件缺陷预测的精度。

Description

基于主成分分布函数的软件缺陷预测不平衡数据处理方法
技术领域
本发明公开了基于主成分分布函数的软件缺陷预测不平衡数据处理方法,属于软件工程应用的技术领域。
背景技术
随着信息技术的迅速发展,计算机软件的应用越来越广泛。高效、安全的软件系统高度依赖于软件的可靠性,而影响软件可靠性的软件缺陷已成为导致系统错误、失败、崩溃、甚至是灾难的根本原因。对软件缺陷进行准确的预测有助于减少测试工作量,降低成本。目前软件缺陷预测面临着一个严重且无法回避的问题,即数据的不平衡问题。数据的不平衡性是指,数据集类别分布不均匀,使得其中某个类别占支配地位。数据的不平衡问题会严重干扰软件缺陷的预测精度,对少的那一类非常不利,但是通常少数类更会受到关注。如,假设在软件缺陷数据集中,无缺陷的样本数要远大于有缺陷的样本数,则在缺陷预测时,即使分类器把所有的样本都预测为无缺陷,预测的精度仍然很高,这对于软件缺陷预测研究是非常危险的,因为准确预测出有缺陷的样本才是软件缺陷预测真正的目的。
综上,在当今软件产品飞速发展的情况下,提高软件的可靠性已迫在眉睫。软件缺陷预测作为提高可靠性的重要方式也得到越来越多的关注,而数据的不平衡性又是软件缺陷预测研究面临的无法规避、必须解决的问题。
现有的处理数据不平衡的算法主要针对于三个方面:(1)改变原有的数据分布,即通过过抽样和欠抽样或是同时使用过抽样和欠抽样,改变原有数据类别分布。主要的过抽样方法有随机过抽样、Smote算法、Borderline-Smote算法、Random-Smote算法;主要的欠抽样方法有随机欠抽样、压缩最近邻(CNN)方法、Tomek方法、邻域清理(NCL)算法、以及过抽样和欠抽样结合的方法,如Smote+Tomek、Smote+ENN。(2)设计新的分类算法,主要包括代价敏感学习,单类学习,集成学习,其中用的最多的就是集成学习,包括AdaBoost、AdaCost、RareBoost。(3)设计新的分类器评价指标,如F-value、G-mean、AUC。
本发明旨在提出一种能够提高软件缺陷预测精度的不平衡数据处理方法。
发明内容
本发明的发明目的是针对上述背景技术的不足,提供了基于主成分分布函数的软件缺陷预测不平衡数据处理方法,采用本发明公开的不平衡数据处理方法能够有效提高软件缺陷预测的精度,解决了数据平衡干扰软件缺陷预测精度的技术问题。
本发明为实现上述发明目的采用如下技术方案:
基于主成分分布函数的软件缺陷预测不平衡数据处理方法,包括如下步骤:
A、对从软件数据集中获取的数据进行预处理得到原始样本集;
B、采用PCA算法对原始样本集进行降维处理得到包含原始无缺陷样本集和原始有缺陷样本集的主成分数据集;
C、对原始无缺陷样本集进行欠抽样,剔除原始无缺陷样本集的边界样本和噪声样本;
D、对原始有缺陷样本集对应的主成分数据进行分布拟合得到新的有缺陷样本集;
E、筛选新的有缺陷样本集;
F、计算筛选后新的有缺陷样本集中各样本与原始样本集的欧式距离,剔除筛选后新的有缺陷样本集中的噪声样本得到新合成的有缺陷样本集;
G、融合得到新合成的有缺陷样本集、原始有缺陷样本集、欠抽样后的无缺陷样本集得到预测数据集。
进一步的,所述基于主成分分布函数的软件缺陷预测不平衡数据处理方法中,步骤C采用Tomek算法剔除原始无缺陷样本集的边界样本和噪声样本。
再进一步的,所述基于主成分分布函数的软件缺陷预测不平衡数据处理方法中,步骤D的具体方法为:将原始有缺陷样本集对应的主成分数据平移至非负区域,对平移后的主成分数据进行分布拟合得到每个主成分的最优拟合分布函数,将每个最优拟合分布函数生成的随机数平移至主成分数据所属区域,以主成分数据所属区域内的随机数构成新的有缺陷样本集。
更进一步的,所述基于主成分分布函数的软件缺陷预测不平衡数据处理方法中,步骤E采用3倍标准差原则筛选新的有缺陷样本集,具体为:计算新的有缺陷样本集中同一属性下所有随机数的均值和方差,剔除处于均值±3倍标准差区间之外的随机数。
作为所述基于主成分分布函数的软件缺陷预测不平衡数据处理方法的再进一步优化方案,步骤F的具体方法为:在当前有缺陷样本到无缺陷样本集的最短距离小于当前有缺陷样本到原始有缺陷样本集的最短距离时,剔除当前新样本。
本发明采用上述技术方案,具有以下有益效果:本发明首先利用主成分分析技术降低数据的维度,避免在实验中出现维度灾难;利用Tomek算法去除无缺陷样本集中的边界样本和噪声样本,从而避免了丢失无缺陷样本集的部分信息;利用拟合的分布函数生成随机数以合成新的有缺陷样本集,并利用“3倍标准差”原则去掉位于数据两端的值,与原始数据的分布非常接近;通过计算新合成的有缺陷样本与原始样本集的欧式距离,去除掉新合成的有缺陷样本集中的噪声样本,避免了新合成的有缺陷样本混入到无缺陷样本集中,影响最终的缺陷预测效果。
附图说明
图1是基于主成分分布函数的软件缺陷预测不平衡数据处理方法流程图。
具体实施方式
下面结合附图对发明的技术方案进行详细说明。如图1所示,本发明首先利用主成分分析技术降低数据的维度,避免在实验中出现维度灾难;利用Tomek算法去除无缺陷样本集中的边界样本和噪声样本,从而避免了丢失无缺陷样本集的部分信息;利用拟合的分布函数生成随机数以合成新的有缺陷样本集,并利用“3倍标准差”原则去掉位于数据两端的值,与原始数据的分布非常接近;通过计算新合成的有缺陷样本与原始样本集的欧式距离,去除掉新合成的有缺陷样本集中的噪声样本,避免了新合成的有缺陷样本混入到无缺陷样本集中,影响最终的缺陷预测效果。
第一步,从软件数据集中获取软件缺陷预测属性集以及对应软件模块数据,对每个样本数据做标签处理,即是否有缺陷,并对得到的数据进行包括去除异常值,缺失值以及重复值的预处理,得到原始样本集。
第二步,利用主成分分析算法(PCA,Principal Component Analysis)对原始数据进行降维,得到的主成分是原始样本数值的线性组合,设定主成分的累积贡献率为85%,从而确定最终的主成分数据集,在之后的所有实验中,此数据集代替原始样本集,主成分数据集包含无缺陷数据集和有缺陷数据集。
第三步,利用Tomek算法对无缺陷样本数据集进行欠抽样,计算所有无缺陷样本与有缺陷样本集的Tomek link,与有缺陷样本集能够构成Tomek link的无缺陷样本为边界样本和噪声样本,应该剔除:首先计算无缺陷样本zj到所有有缺陷样本的最短距离rag1,并找到该距离对应的有缺陷样本xk,然后计算zj到自身类中所有样本(除去自身)的最短距离rag2,若rag1>rag2,则说明当前无缺陷样本zj不能和有缺陷样本集中的样本构成Tomeklink;若rag1<rag2,则继续计算刚刚找到的有缺陷样本xk到所有无缺陷样本的最短距离rag3,若rag3<rag1,则说明当前无缺陷样本zj不能和有缺陷样本集中的样本构成Tomeklink;若rag3>rag1,则继续计算xk到自身类中所有样本(除去自身)的最短距离rag4,若rag4<rag1,则说明当前无缺陷样本zj不能和有缺陷样本集中的样本构成Tomek link;若rag4>rag1,则说明当前的无缺陷样本zj和有缺陷样本xk构成了一个Tomek link,无缺陷样本zj是边界样本或是噪声样本,应剔除。
第四步,对有缺陷样本集对应的主成分数据集进行分布拟合:在拟合时,先将所有的主成分数据向右平移一定的单位,即加上一定的数值,以确保主成分数据集中不存在负值,并对平移后的主成分数据进行分布拟合,如此便可拟合几乎所有主成分的最优分布函数了,拟合函数的方法采用Q-Q图,通过对比数据图形与该分布的标准图形得到最优分布;然后用得到的各最优分布函数生成随机数,将所得的随机数再向左平移原来的单位,即将所有生成的随机数减去之前加上的数值,如此便可还原平移前的数据分布,以主成分数据所属区域内的随机数构成新的有缺陷样本集。
第五步,对新的有缺陷样本集进行“3倍标准差”筛选:首先计算出新的有缺陷样本集中同一属性下所有随机数的均值和方差,然后计算出均值±3倍标准差的区间,去除掉所有没落在该区间的样本,此步骤用于消除分布函数生成的随机数取值范围太大对实验的影响。
第六步,计算所有新的有缺陷样本到原始有缺陷样本集的欧式距离以及所有新的有缺陷样本到原始无缺陷样本集的欧式距离,从而删除噪声样本:对于每一个经过“3倍标准差“原则筛选后保留下来的新的有缺陷样本ri,首先计算出ri到无缺陷样本集的最短欧式距离d1i,即:
d1i=min(d1ij)
其中,表示新的有缺陷样本ri到原始无缺陷样本zj的距离,然后计算出新的有缺陷样本ri到原始有缺陷样本xk的最短欧式距离d2i,即:d2i=min(d2ik)
其中,表示新的有缺陷样本ri到原始有缺陷样本xk的距离,T表示原始样本集经过主成分分析后的维度;
若d1i<d2i,表示该新样本到无缺陷样本集的距离小于其到有缺陷样本集的距离,属于噪声样本,应去除掉。
第六步,将筛选后留下的新合成有缺陷样本与原始有缺陷样本以及经欠抽样筛选后的无缺陷样本相融合得到新的实验数据集,以新的实验数据集为预测数据集,并将预测数据集划分为训练集和测试集。
第七步,利用训练集训练出分类回归树,分裂准则采用GINI指数,并对得到的分类回归树进行剪枝,避免出现过拟合,最后用训练得出的分类回归树对测试集中的数据进行预测。鉴于数据的不平衡性,原始的性能评价指标并不能很好的反映数据的预测效果,采用F-Value和G-mean值评价预测结果,F-Value和G-mean值的计算都是基于混淆矩阵的,F-Value值表示的是召回率和准确率的重要性,计算公式为:
G-mean值则可以看出分类器的平衡度,若G-mean值很高,则表示分类器是平衡的,计算公式为:
无缺陷类(预测) 有缺陷类(预测)
无缺陷类(真实) True Positives False Negatives
有缺陷类(真实) False Positives True Negatives
表1混淆矩阵
其中,TP为实际无缺陷且分类正确的模块数,FN为实际无缺陷但被分类错误的模块数,FP为实际有缺陷但被分类错误的模块数,TN为实际有缺陷且分类正确的模块数。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案实质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器,或者网络设备等)执行本发明的实施例或实施例的某些部分所述的方法。

Claims (5)

1.基于主成分分布函数的软件缺陷预测不平衡数据处理方法,其特征在于,包括如下步骤:
A、对从软件数据集中获取的数据进行预处理得到原始样本集;
B、采用PCA算法对原始样本集进行降维处理得到包含原始无缺陷样本集和原始有缺陷样本集的主成分数据集;
C、对原始无缺陷样本集进行欠抽样,剔除原始无缺陷样本集的边界样本和噪声样本;
D、对原始有缺陷样本集对应的主成分数据进行分布拟合得到新的有缺陷样本集;
E、筛选新的有缺陷样本集;
F、计算筛选后新的有缺陷样本集中各样本与原始样本集的欧式距离,剔除筛选后新的有缺陷样本集中的噪声样本得到新合成的有缺陷样本集;
G、融合新合成的有缺陷样本集、原始有缺陷样本集、欠抽样后的无缺陷样本集得到预测数据集。
2.根据权利要求1所述基于主成分分布函数的软件缺陷预测不平衡数据处理方法,其特征在于,步骤C采用Tomek算法剔除原始无缺陷样本集的边界样本和噪声样本。
3.根据权利要求2所述基于主成分分布函数的软件缺陷预测不平衡数据处理方法,其特征在于,步骤D的具体方法为:将原始有缺陷样本集对应的主成分数据平移至非负区域,对平移后的主成分数据进行分布拟合得到每个主成分的最优拟合分布函数,将每个最优拟合分布函数生成的随机数平移至主成分数据所属区域,以主成分数据所属区域内的随机数构成新的有缺陷样本集。
4.根据权利要求3所述基于主成分分布函数的软件缺陷预测不平衡数据处理方法,其特征在于,步骤E采用3倍标准差原则筛选新的有缺陷样本集,具体为:计算新的有缺陷样本集中同一属性下所有随机数的均值和方差,剔除处于均值±3倍标准差区间之外的随机数。
5.根据权利要求4所述基于主成分分布函数的软件缺陷预测不平衡数据处理方法,其特征在于,步骤F的具体方法为:在当前有缺陷样本到原始无缺陷样本集的最短距离小于当前有缺陷样本到原始有缺陷样本集的最短距离时,剔除当前有缺陷样本。
CN201610596919.0A 2016-07-26 2016-07-26 基于主成分分布函数的软件缺陷预测不平衡数据处理方法 Expired - Fee Related CN106201897B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610596919.0A CN106201897B (zh) 2016-07-26 2016-07-26 基于主成分分布函数的软件缺陷预测不平衡数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610596919.0A CN106201897B (zh) 2016-07-26 2016-07-26 基于主成分分布函数的软件缺陷预测不平衡数据处理方法

Publications (2)

Publication Number Publication Date
CN106201897A CN106201897A (zh) 2016-12-07
CN106201897B true CN106201897B (zh) 2018-08-24

Family

ID=57496336

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610596919.0A Expired - Fee Related CN106201897B (zh) 2016-07-26 2016-07-26 基于主成分分布函数的软件缺陷预测不平衡数据处理方法

Country Status (1)

Country Link
CN (1) CN106201897B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107346286B (zh) * 2017-07-03 2020-05-12 武汉大学 一种基于核主成分分析和极限学习机的软件缺陷预测方法
CN108846511A (zh) * 2018-06-04 2018-11-20 国家电网公司 一种基于调控大数据平台的变电设备缺陷趋势分析方法
CN109167680A (zh) * 2018-08-06 2019-01-08 浙江工商大学 一种基于深度学习的流量分类方法
CN109325118B (zh) * 2018-09-03 2023-06-27 平安科技(深圳)有限公司 不平衡样本数据预处理方法、装置和计算机设备
CN109491914B (zh) * 2018-11-09 2021-11-30 大连海事大学 基于不平衡学习策略高影响缺陷报告预测方法
CN110147322A (zh) * 2019-04-19 2019-08-20 北京航空航天大学 一种基于软件网络的缺陷数据集构建与处理方法
CN110717028B (zh) * 2019-10-18 2022-02-15 支付宝(杭州)信息技术有限公司 一种剔除干扰问题对的方法及系统
CN111782548B (zh) * 2020-07-28 2022-04-05 南京航空航天大学 一种软件缺陷预测数据处理方法、装置及存储介质
CN112380132B (zh) * 2020-11-20 2024-03-29 北京轩宇信息技术有限公司 基于航天软件缺陷数据集类不平衡的对抗验证方法及装置
CN112905481A (zh) * 2021-03-22 2021-06-04 上海海事大学 一种软件缺陷预测方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0700229A3 (en) * 1994-08-22 1999-02-03 Fujitsu Limited Connectionless communications system, test method, and intra-station control system
CN101980202A (zh) * 2010-11-04 2011-02-23 西安电子科技大学 不平衡数据的半监督分类方法
CN102812644A (zh) * 2010-03-15 2012-12-05 高通股份有限公司 用于处理和重构数据的方法和装置
CN104766098A (zh) * 2015-04-30 2015-07-08 哈尔滨工业大学 一种分类器的构建方法
CN104965787A (zh) * 2015-07-06 2015-10-07 南京航空航天大学 一种基于三支决策的两阶段软件缺陷预测方法
CN105243394A (zh) * 2015-11-03 2016-01-13 中国矿业大学 一种类不平衡对分类模型性能影响程度的评价方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130311968A1 (en) * 2011-11-09 2013-11-21 Manoj Sharma Methods And Apparatus For Providing Predictive Analytics For Software Development

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0700229A3 (en) * 1994-08-22 1999-02-03 Fujitsu Limited Connectionless communications system, test method, and intra-station control system
CN102812644A (zh) * 2010-03-15 2012-12-05 高通股份有限公司 用于处理和重构数据的方法和装置
CN101980202A (zh) * 2010-11-04 2011-02-23 西安电子科技大学 不平衡数据的半监督分类方法
CN104766098A (zh) * 2015-04-30 2015-07-08 哈尔滨工业大学 一种分类器的构建方法
CN104965787A (zh) * 2015-07-06 2015-10-07 南京航空航天大学 一种基于三支决策的两阶段软件缺陷预测方法
CN105243394A (zh) * 2015-11-03 2016-01-13 中国矿业大学 一种类不平衡对分类模型性能影响程度的评价方法

Also Published As

Publication number Publication date
CN106201897A (zh) 2016-12-07

Similar Documents

Publication Publication Date Title
CN106201897B (zh) 基于主成分分布函数的软件缺陷预测不平衡数据处理方法
EP2854053B1 (en) Defect prediction method and device
CN107391369B (zh) 一种基于数据筛选和数据过采样的跨项目缺陷预测方法
CN104965787B (zh) 一种基于三支决策的两阶段软件缺陷预测方法
CN118150575A (zh) 自动光学检测方法、设备、及其深度学习系统
US11435719B2 (en) System and method for identifying manufacturing defects
CN107168995B (zh) 一种数据处理方法及服务器
CN108510001B (zh) 一种风力发电机叶片缺陷分类方法及其分类系统
CN111949480B (zh) 一种基于组件感知的日志异常检测方法
CN112966879A (zh) 环境试验箱故障预测方法、装置、计算机设备及存储介质
WO2020012523A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
US20190026650A1 (en) Bootstrapping multiple varieties of ground truth for a cognitive system
CN105954616B (zh) 基于外特性电气参数的光伏组件故障诊断方法
CN105701013A (zh) 基于互信息的软件缺陷数据特征选择方法
US10379992B2 (en) Adaptive dynamic code analysis
CN114186644A (zh) 一种基于优化随机森林的缺陷报告严重程度预测方法
CN115375635A (zh) 一种晶圆缺陷的识别方法
CN114387230A (zh) 一种基于重验证检测的pcb板缺陷检测方法
CN109711450A (zh) 一种电网预想故障集预测方法、装置、电子设备及存储介质
CN112199295A (zh) 一种基于频谱的深度神经网络缺陷定位方法及系统
CN114077663A (zh) 应用日志的分析方法及装置
CN114936208B (zh) 一种基于数据清洗的信息分析系统
WO2023282043A1 (ja) 検査方法、分類方法、管理方法、鋼材の製造方法、学習モデルの生成方法、学習モデル、検査装置及び鋼材の製造設備
CN114820618A (zh) 瑕疵检测模型的训练方法、装置、设备及存储介质
CN109087300B (zh) Led芯片支架故障自动检测方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180824