CN113656294A - 一种软件缺陷预测方法 - Google Patents

一种软件缺陷预测方法 Download PDF

Info

Publication number
CN113656294A
CN113656294A CN202110896447.1A CN202110896447A CN113656294A CN 113656294 A CN113656294 A CN 113656294A CN 202110896447 A CN202110896447 A CN 202110896447A CN 113656294 A CN113656294 A CN 113656294A
Authority
CN
China
Prior art keywords
data
formula
vector machine
support vector
defect prediction
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.)
Withdrawn
Application number
CN202110896447.1A
Other languages
English (en)
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.)
Jiangsu Normal University
Original Assignee
Jiangsu Normal University
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 Jiangsu Normal University filed Critical Jiangsu Normal University
Priority to CN202110896447.1A priority Critical patent/CN113656294A/zh
Publication of CN113656294A publication Critical patent/CN113656294A/zh
Withdrawn legal-status Critical Current

Links

Images

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/362Software debugging
    • G06F11/366Software debugging using diagnostics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种软件缺陷预测方法,首先对采集样本数据中的不平衡数据和脏数据处理形成信息决策表,采用等频率间隔划分方法对信息决策表进行离散化处理,采用基于信息熵属性约简的算法对全体样本进行属性约简,去掉冗余属性,降低样本维度,其次利用基于粒距动态改变惯性权重ω的改进粒子群算法搜索SVM模型最优参数组合(C,σ),最后基于最优参数建立支持向量机软件缺陷预测模型,使用该模型在NASA软件度量数据集上进行缺陷预测;本发明通过粗糙集对原样本集进行属性约减,仅保留了少量特征属性,不但可提高软件缺陷预测性能,而且可以大大减少采样工作量,提高工作效率。

Description

一种软件缺陷预测方法
技术领域
本发明涉及一种缺陷预测,具体是一种软件缺陷预测方法,属于软件工程技术领域。
背景技术
软件缺陷,根据ISO 9000的定义“未满足与预期或者规定用途有关的要求”,是导致软件系统出错、失效、崩溃甚至机毁人亡的潜在根源。软件缺陷预测技术是根据历史数据以及已经发现的缺陷等软件度量数据预测哪些模块有出错倾向,对软件开发者合理配置资源,从而降低研发成本、缩短产品开发周期和提高软件质量起到重要作用。
软件缺陷预测本质上是一个模式识别的过程,它的核心是分类,目前用于软件缺陷预测的方法有Bayes分类器、分类回归树、聚类分析、神经网络等。由于软件缺陷受到多种复杂度度量属性的综合作用,至今尚没有一种软件缺陷预测的通用的分类模型。
近年来,用支持向量机(SupportVector Machine,SVM)来实现基于分类问题的预测已经成为研究热点。支持向量机(SVM)是一种通用的前馈神经网络,其核心是经验风险最小化原则,有效地解决了小样本、高维数、非线性等学习问题,由Vapnik在1992年首次提出,可以用于模式分类和非线性回归,各国学者开始用支持向量机(SVM)进行软件可靠性方面的预测。国际上,Gray等人利用支持向量机(SVM)对软件缺陷进行预测取得了不错的效果;Mishra等人提出模糊支持向量机(SVM)用于软件可靠性预测;国内崔正斌等人提出了遗传优化支持向量机(SVM)软件可靠性模型;张艳等人将支持向量机(SVM)回归模型用于测控软件故障预测。
但是作为一种新的学习机器,支持向量机(SVM)也存在一些有待完善的地方,例如参数选取的问题,数据量过大时,支持向量机(SVM)的训练时间过长、速度变慢的问题。
发明内容
本发明的目的是提供一种软件缺陷预测方法,不但可提高软件缺陷预测性能,而且可以大大减少采样工作量,提高工作效率。
为了实现上述目的,本发明提供一种软件缺陷预测方法,包括以下步骤:
步骤1:数据预处理
步骤1-1:软件缺陷样本数据采集;
步骤1-2:对采集到的样本数据进行清理,形成信息决策表S<U,CRS∪D>,其中,U为论域,表示全体样本,CRS为条件属性集,D为决策属性集;
步骤1-3:采用等频率间隔划分方法对信息决策表S<U,CRS∪D>进行离散化处理;
步骤1-4:采用粗糙集约简的算法对全体样本U进行属性约简得到样本集;
步骤2:对属性约简后的样本集进行归一化,并将样本集划分为训练样本集和测试样本集两部分;
步骤3:利用基于粒距动态改变惯性权重ω的改进粒子群算法搜索支持向量机模型的最优参数组合(C,σ);
步骤4:基于最优参数组合(C,σ)重新建立并训练支持向量机模型,其中C为支持向量机的惩罚因子,σ为支持向量机的核参数;
步骤5:对测试样本进行预测。
本发明步骤1-2中,对样本数据进行清理具体如下:对不平衡数据和脏数据预处理,删除全体样本中的“重复数据”和“矛盾数据”,信息决策表S<U,CRS∪D>是由随机提取的50%的有缺陷样本和50%的无缺陷样本组成。
本发明步骤1-3中等频率间隔划分方法具体是:将所有M个属性值按照顺序排列,然后划分成K个区间段,每个区间段包含属性的个数为M/K个。
本发明步骤1-4中,采用粗糙集约简的算法对全体样本U进行属性约简具体如下:
由式I(B,D)=H(D)-H(D|B),I(αPSO,D|B)=H(D|B)-H(D|B∪{αPSO})求得
Figure BDA0003198116440000021
然后令B=B∪{β},重复直到I(B,D)=I(CRS,D),此时B就是所求信息决策表S〈U,CRS∪D>的一个约简;
式中:B为初始值是信息决策表S〈U,CRS∪D>中CRS关于D的核;
αPSO∈CRS\B,H(Q|P)为知识Q相对于知识P的条件熵;
αPSO为CRS\B的子集。
本发明步骤2中对样本集进行归一化,利用公式(1)归一化到[-1,1]区间:
x′=(xi-xmin)/(xmax-xmin) (1)
式中:x′是归一化后的数据;
xi是原始数据的输入特征;
xmax和xmin分别是原始数据输入特征的最大值和最小值。
本发明步骤3中利用基于粒距动态改变惯性权重ω的改进粒子群(ImprovedParticle Swarm Optimization,IPSO)算法搜索支持向量机(SVM)模型的最优参数组合(C,σ)具体如下:
设定支持向量机(SVM)惩罚因子C的取值范围[Cmin,Cmax],支持向量机的核参数σ的取值范围[σminmax],粒子群体大小N,初始化速度和位置,粒子维度DPSO=2,最大迭代次数IPSO,终止算法的阈值等;粒子按公式(2)和公式(3)来更新自己的速度Vi和位置Xi,惯性权重ω按公式(4)-(6)计算:
Vi(k+1)=ωVi(k)+c1r1(pi(k)-Xi(k))+c2r2(pg(k)-Xi(k)) (2)
Xi(k+1)=Xi(k)+Vi(k+1) (3)
Figure BDA0003198116440000031
Figure BDA0003198116440000032
Figure BDA0003198116440000033
式中:k为迭代次数;
r1,r2为[0,1]之间的随机数;
c1,c2为学习因子;
Xij(k)为第k次迭代时第i个粒子的位置向量的第j个分量;
pgj(k)为第k次迭代时种群历史最优位置向量的第j个分量;
ε为由粒距决定的惯性权重调节因子;
εmax和εmin分别为ε的最大值和最小值;
di为粒子的粒距;
dmax和dmin分别为第k次迭代时第i个粒子的最大和最小粒距;
ωmax和ωmin分别为惯性权重ω的最大值和最小值;
算法终止时最优位置即为支持向量机最优参数组合(C,σ)。
本发明步骤4中基于最优参数组合(C,σ)重新建立并训练支持向量机(SVM)模型具体为:
求出分类超平面(WSVM,b),此分类超平面(WSVM,b)可以使几何间隔最大,然后可用此分类超平面(WSVM,b)进行分类,
Figure BDA0003198116440000041
式中:l是支持向量的数目;
Figure BDA0003198116440000042
为最优拉格朗日乘子,0<αi<C;
b是阈值;
WSVM是分类直线法向量。
本发明步骤5中对测试样本进行预测具体为:
采用公式(8)对测试数据进行预测:将测试数据x代入公式(8)分类函数f(x)中,如果f(x)=-1,则将x的类别赋为-1,表示软件有缺陷;如果f(x)=1,则将x的类别赋为1,表示软件无缺陷;
分类函数:
Figure BDA0003198116440000043
式中:K(xi,x)是径向基核函数。
本发明的预测方法还包括对提出的方法进行显著性检验,判断方法是否明显区别于其他方法。
检验采用准确度(Accuracy)、精确度(Precision)、查全率(Recall)和F-度量(F-Measure)来评价和比较预测模型,进行显著性检验。
与现有技术相比,本发明首先对采集样本数据中的不平衡数据和脏数据处理形成信息决策表,采用等频率间隔划分方法对信息决策表进行离散化处理,采用基于信息熵属性约简的算法对全体样本进行属性约简,去掉冗余属性,降低样本维度,其次利用基于粒距动态改变惯性权重ω的改进粒子群算法搜索SVM模型最优参数组合(C,σ),最后基于最优参数建立支持向量机软件缺陷预测模型,使用该模型在NASA软件度量数据集上进行缺陷预测;本发明通过粗糙集对原样本集进行属性约减,仅保留了少量特征属性,不但可提高软件缺陷预测性能,而且可以大大减少采样工作量,提高工作效率。
附图说明
图1是本发明的流程框图;
图2是本发明经过属性约简后的特征向量图;
图3是本发明权值w随ε的变化趋势图。
具体实施方式
下面结合附图对本发明作进一步说明。
如图1所示,一种软件缺陷预测方法,包括以下步骤:
步骤1:数据预处理
步骤1-1:软件缺陷样本数据采集;
步骤1-2:对采集到的样本数据进行清理,形成信息决策表S<U,CRS∪D>,其中,U为论域,表示全体样本,CRS为条件属性集,D为决策属性集;
步骤1-3:采用等频率间隔划分方法对信息决策表S<U,CRS∪D>进行离散化处理;
步骤1-4:采用粗糙集约简的算法对全体样本U进行属性约简,去掉冗余属性,降低样本维度;
步骤2:对属性约简后的样本集进行归一化,并将样本集划分为训练样本集和测试样本集两部分;
步骤3:利用基于粒距动态改变惯性权重ω的改进粒子群(Improved ParticleSwarm Optimization,IPSO)算法搜索支持向量机(SVM)模型的最优参数组合(C,σ);
步骤4:基于最优参数组合(C,σ)重新建立并训练支持向量机(SVM)模型;
步骤5:对测试样本进行预测。
步骤1-2中,对样本数据进行清理具体如下:对采集到的样本数据中的不平衡数据和脏数据进行预处理,删除全体样本中的“重复数据”和“矛盾数据”,信息决策表S<U,CRS∪D是由随机提取的50%的有缺陷样本和50%的无缺陷样本组成。
步骤1-3中等频率间隔划分方法具体是:将所有M个属性值按照顺序排列,然后划分成K个区间段,每个区间段包含属性的个数为M/K个。
步骤1-4中,采用粗糙集约简的算法对全体样本U进行属性约简具体如下:
由式I(B,D)=H(D)-H(D|B),I(αPSO,D|B)=H(D|B)-H(D|B∪{αPSO})求得
Figure BDA0003198116440000061
然后令B=B∪{β},重复直到I(B,D)=I(CRS,D),此时B就是所求信息决策表S<U,CRS∪D>的一个约简;
式中:B为初始值是信息决策表S<U,CRS∪D>中CRS关于D的核;
αPSO∈CRS\B,H(Q|P)为知识Q相对于知识P的条件熵;
αPSO为CRS\B的子集。
步骤2中对样本集进行归一化,利用公式(1)归一化到[-1,1]区间:
x′=(xi-xmin)/(xmax-xmin) (1)
式中:x′是归一化后的数据;
xi是原始数据的输入特征;
xmax和xmin分别是原始数据输入特征的最大值和最小值。
步骤3中利用基于粒距动态改变惯性权重ω的改进粒子群(Improved ParticleSwarm Optimization,IPSO)算法搜索支持向量机(SVM)模型的最优参数组合(C,σ)具体如下:
设定支持向量机(SVM)惩罚因子C的取值范围[Cmin,Cmax],支持向量机的核参数σ的取值范围[σminmax],粒子群体大小N,初始化速度和位置,粒子维度DPSO=2,最大迭代次数IPSO,终止算法的阈值等;粒子按公式(2)和公式(3)来更新自己的速度Vi和位置Xi,惯性权重ω按公式(4)-(6)计算:
Vi(k+1)=ωVi(k)+c1r1(pi(k)-Xi(k))+c2r2(pg(k)-Xi(k)) (2)
Xi(k+1)=Xi(k)+Vi(k+1) (3)
Figure BDA0003198116440000062
Figure BDA0003198116440000063
Figure BDA0003198116440000071
式中:k为迭代次数;
r1,r2为[0,1]之间的随机数;
c1,c2为学习因子;
Xij(k)为第k次迭代时第i个粒子的位置向量的第j个分量;
pgj(k)为第k次迭代时种群历史最优位置向量的第j个分量;
ε为由粒距决定的惯性权重调节因子;
εmax和εmin分别为ε的最大值和最小值;
di为粒子的粒距;
dmax和dmin分别为第k次迭代时第i个粒子的最大和最小粒距;
ωmax和ωmin分别为惯性权重ω的最大值和最小值;
算法终止时最优位置即为支持向量机最优参数组合(C,σ)。
步骤4中基于最优参数组合(C,σ)重新建立并训练支持向量机(SVM)模型具体为:
求出分类超平面(WSVM,b),此分类超平面(WSVM,b)可以使几何间隔最大,然后可用此分类超平面(WSVM,b)进行分类,
Figure BDA0003198116440000072
式中:l是支持向量的数目;
Figure BDA0003198116440000073
为最优拉格朗日乘子,0<αi<C;
b是阈值;
WSVM是分类直线法向量。
步骤5中对测试样本进行预测具体为:
采用公式(8)对测试数据进行预测:将测试数据x代入公式(8)分类函数f(x)中,如果f(x)=-1,则将x的类别赋为-1,表示软件有缺陷;如果f(x)=1,则将x的类别赋为1,表示软件无缺陷;
分类函数:
Figure BDA0003198116440000081
式中:K(xi,x)为径向基核函数。
本方法还包括对提出的方法进行显著性检验,判断方法是否明显区别于其他方法,其检验方法采用准确度(Accuracy)、精确度(Precision)、查全率(Recall)和F-度量(F-Measure)来评价和比较预测模型,进行显著性检验。
实施例
本发明的软件缺陷预测方法,是基于粗糙集-改进粒子群-支持向量机的预测方法,用于构建高性能的软件缺陷预测模型,并对软件项目进行缺陷预测,如图1所示,实际应用中包括以下步骤:
步骤1:不平衡数据和脏数据预处理:删除样本集中大量的“重复数据”和“矛盾数据”这种脏数据,并随机提取有缺陷样本和无缺陷样本各占50%,形成信息决策表S<U,CRS∪D>;以美国国家航空航天局(National Aeronautics&Space Administration,NASA)的JM1数据集为例,如表1所示,
Figure BDA0003198116440000082
Figure BDA0003198116440000091
Figure BDA0003198116440000101
美国国家航空航天局(National Aeronautics&Space Administration,NASA)较早就启动了软件缺陷预测技术的研究,并基于航空系统软件开展了软件模块的度量数据库项目MDP(metric data program),为缺陷预测研究提供数据支撑,本发明采用的数据集是来源于MDP的JM1数据集,JM1数据集从一个用C++语言编写的一个地面预测系统项目中得到,共有10878个模块,每个模块的22个属性中5个属性来源于代码度量,3个来源于McCabe度量,12个来源于或派生于Halstead度量,1个属性是模块分支数,最后一个是目标属性。表1中No是序号,
F1是LOC_BLANK,表示空白行数目;
F2是BRANCH_COUNT,表示分支数目;
F3是LOC_CODE_AND_COMMENT,表示代码和注释行数;
F4是LOC_COMMENTS,表示注释行数;
F5是CYCLOMATIC_COMPLEXITY,表示环路复杂度;
F6是DESIGN_COMPLEXITY,表示设计复杂度;
F7是ESSENTIAL_COMPLEXITY,表示本质复杂度;
F8是LOC_EXECUTABLE,表示可执行行数;
F9是HALSTEAD_CONTENT,表示Halstead内容;
F10是HALSTEAD_DIFFICULTY,表示Halstead复杂度;
F11是HALSTEAD_EFFORT,表示Halstead编程效率;
F12是HALSTEAD_ERROR_EST,表示Halstead错误预测;
F13是HALSTEAD_LENGTH,表示Halstead程序长度;
F14是HALSTEAD_LEVEL,表示Halstead语言等级;
F15是HALSTEAD_PROG_TIME,表示Halstead编写程序时间;
F16是HALSTEAD_VOLUME,表示Halstead容量;
F17是NUM_OPERANDS,表示操作数数量;
F18是NUM_OPERATORS,表示操作符数量;
F19是NUM_UNIQUE_OPERANDS,表示特殊操作数数量;
F20是NUM_UNIQUE_OPERATORS,表示特殊操作符数量;
F21是LOC_TOTAL,表示总行数;
Defective是目标属性表示该模块是否存在缺陷,Y表示不存在缺陷,N表示存在缺陷;
去掉脏数据后,随机提取1200个数据作为实验样本,其中有缺陷样本和无缺陷样本各占50%,形成信息决策表S<U,CRS∪D>;
采用等频率间隔划分方法对信息决策表S<U,CRS∪D>进行离散化处理后,进入步骤1-4,
计算I(B,D)=H(D)-H(D|B),I(αPSO,D|B)=H(D|B)-H(D|B∪{αPSO}),
求得
Figure BDA0003198116440000111
然后令B=B∪{β},重复直到I(B,D)=I(CRS,D),此时B就是所求信息决策表S<U,CRS∪D>的一个约简,这样共得出信息决策表S<U,CRS∪D>的两个约简:R1={F1,F4,F6,F8,F9,F11,F21}和R2={F5,F6,F19,F20,F21},实验表明,R2约简结果更优,如图2所示。
进入步骤2,样本集被随机等分成10个子集,任取其中一个子集作为测试样本集,其余9个子集作为训练样本集,样本数据利用以下公式归一化到[-1,1]区间:
x′=(xi-xmin)/(xmax-xmin) (1)
进入步骤3,设定支持向量机惩罚因子C的取值范围[1,,100],支持向量机的核参数σ的取值范围[0.0001,1000],粒子群规模为20,初始化速度和位置,粒子维度为2,最大迭代次数300,终止算法的阈值等;对最优位置利用Lozi映射进行混沌优化,粒子按式(2)和式(3)来更新自己的速度Vi和位置Xi,惯性权重ω按式(4)-(6)来计算,惯性权重ω随ε的变化趋势如图3所示;算法终止时最优位置即为SVM最优参数组合(C,σ)=(8.56,0.0134)。
Vi(k+1)=ωVi(k)+c1r1(pi(k)-Xi(k))+c2r2(pg(k)-Xi(k)) (2)
Xi(k+1)=Xi(k)+Vi(k+1) (3)
Figure BDA0003198116440000112
Figure BDA0003198116440000113
Figure BDA0003198116440000114
进入步骤4,基于最优参数(C,σ)=(8.56,0.0134)及特征属性集R={F5,F6,F19,F20,F21}式(7)求出分类超平面(WSVM,b),可用此分类超平面进行分类,建立软件缺陷预测模型。
Figure BDA0003198116440000121
进入步骤5,将测试数据x代入式(8)分类函数f(x)中进行计算
Figure BDA0003198116440000122
式(8)中,如果f(x)=-1,将x的类别赋为软件有缺陷;如果f(x)=1则将x的类别赋为软件无缺陷。

Claims (10)

1.一种软件缺陷预测方法,其特征在于,包括以下步骤:
步骤1:数据预处理
步骤1-1:软件缺陷样本数据采集;
步骤1-2:对采集到的样本数据进行清理,形成信息决策表S∈U,CRS∪D>,其中,U为论域,表示全体样本,CRS为条件属性集,D为决策属性集;
步骤1-3:采用等频率间隔划分方法对信息决策表S<U,CRS∪D>进行离散化处理;
步骤1-4:采用粗糙集约简的算法对全体样本U进行属性约简得到样本集;
步骤2:对属性约简后的样本集进行归一化,并将样本集划分为训练样本集和测试样本集两部分;
步骤3:利用基于粒距动态改变惯性权重ω的改进粒子群算法搜索支持向量机模型的最优参数组合(C,σ),其中C为支持向量机的惩罚因子,σ为支持向量机的核参数;
步骤4:基于最优参数组合(C,σ)重新建立并训练支持向量机模型;
步骤5:对测试样本进行预测。
2.根据权利要求1所述的一种软件缺陷预测方法,其特征在于,所述步骤1-2中,对样本数据进行清理具体如下:对不平衡数据和脏数据预处理,删除全体样本中的“重复数据”和“矛盾数据”,信息决策表S<U,CRS∪D>是由随机提取的50%的有缺陷样本和50%的无缺陷样本组成。
3.根据权利要求1或2所述的一种软件缺陷预测方法,其特征在于,所述步骤1-3中等频率间隔划分方法具体是:将所有M个属性值按照顺序排列,然后划分成K个区间段,每个区间段包含属性的个数为M/K个。
4.根据权利要求1或2所述的一种软件缺陷预测方法,其特征在于,所述步骤1-4中,采用粗糙集约简的算法对全体样本U进行属性约简具体如下:
由式I(B,D)=H(D)-H(D|B),I(αPSO,D|B)=H(D|B)-H(D|B∪{αPSO})求得
Figure FDA0003198116430000011
然后令B=B∪{β},重复直到I(B,D)=I(CRS,D),此时B就是所求信息决策表S<U,CRS∪D>的一个约简;
式中:B为初始值是信息决策表S<U,CRS∪D>中CRS关于D的核;
αPSO∈CRS\B,H(Q|P)为知识Q相对于知识P的条件熵;
αPSO为CRS\B的子集。
5.根据权利要求4所述的一种软件缺陷预测方法,其特征在于,所述步骤2中对样本集进行归一化,利用公式(1)归一化到[-1,1]区间:
x′=(xi-xmin)/(xmax-xmin) (1)
式中:x′是归一化后的数据;
xi是原始数据的输入特征;
xmax和xmin分别是原始数据输入特征的最大值和最小值。
6.根据权利要求4所述的一种软件缺陷预测方法,其特征在于,所述步骤3中利用基于粒距动态改变惯性权重ω的改进粒子群算法搜索支持向量机模型的最优参数组合(C,σ)具体如下:
设定支持向量机惩罚因子C的取值范围[Cmin,Cmax],支持向量机的核参数σ的取值范围[σminmax],粒子群体大小N,初始化速度和位置,粒子维度DPSO=2,最大迭代次数IPSO,终止算法的阈值;粒子按公式(2)和公式(3)来更新自己的速度Vi和位置Xi,惯性权重ω按公式(4)-(6)计算:
Vi(k+1)=ωVi(k)+c1r1(pi(k)-Xi(k))+c2r2(pg(k)-Xi(k)) (2)
Xi(k+1)=Xi(k)+Vi(k+1) (3)
Figure FDA0003198116430000021
Figure FDA0003198116430000022
Figure FDA0003198116430000023
式中:k为迭代次数;
r1,r2为[0,1]之间的随机数;
c1,c2为学习因子;
Xij(k)为第k次迭代时第i个粒子的位置向量的第j个分量;
pgj(k)为第k次迭代时种群历史最优位置向量的第j个分量;
ε为由粒距决定的惯性权重调节因子;
εmax和εmin分别为ε的最大值和最小值;
di为粒子的粒距;
dmax和dmin分别为第k次迭代时第i个粒子的最大和最小粒距;
ωmax和ωmin分别为惯性权重ω的最大值和最小值;
算法终止时最优位置即为支持向量机最优参数组合(C,σ)。
7.根据权利要求1或2所述的一种软件缺陷预测方法,其特征在于,所述步骤4中基于最优参数组合(C,σ)重新建立并训练支持向量机模型具体为:
求出分类超平面(WSVM,b),此分类超平面(WSVM,b)的几何间隔最大,然后用此分类超平面(WSVM,b)进行分类,
Figure FDA0003198116430000031
式中:l是支持向量的数目;
Figure FDA0003198116430000032
为最优拉格朗日乘子,0<αi<C;
b是阈值;
WSVM是分类直线法向量。
8.根据权利要求1或2所述的一种软件缺陷预测方法,其特征在于,所述步骤5中对测试样本进行预测具体为:
采用公式(8)对测试数据进行预测:将测试数据x代入公式(8)分类函数f(x)中,如果f(x)=-1,则将x的类别赋为-1,表示软件有缺陷;如果f(x)=1,则将x的类别赋为1,表示软件无缺陷;
分类函数:
Figure FDA0003198116430000033
式中:K(xi,x)是径向基核函数。
9.根据权利要求1所述的一种软件缺陷预测方法,其特征在于,还包括对提出的方法进行检验。
10.根据权利要求9所述的一种软件缺陷预测方法,其特征在于,检验方法采用准确度、精确度、查全率和F-度量来评价和比较预测模型。
CN202110896447.1A 2021-08-05 2021-08-05 一种软件缺陷预测方法 Withdrawn CN113656294A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110896447.1A CN113656294A (zh) 2021-08-05 2021-08-05 一种软件缺陷预测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110896447.1A CN113656294A (zh) 2021-08-05 2021-08-05 一种软件缺陷预测方法

Publications (1)

Publication Number Publication Date
CN113656294A true CN113656294A (zh) 2021-11-16

Family

ID=78478448

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110896447.1A Withdrawn CN113656294A (zh) 2021-08-05 2021-08-05 一种软件缺陷预测方法

Country Status (1)

Country Link
CN (1) CN113656294A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117370877A (zh) * 2023-12-06 2024-01-09 长春理工大学 一种基于多元传感器与ipso-gpr的农机故障预测方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117370877A (zh) * 2023-12-06 2024-01-09 长春理工大学 一种基于多元传感器与ipso-gpr的农机故障预测方法
CN117370877B (zh) * 2023-12-06 2024-04-26 长春理工大学 一种基于多元传感器与ipso-gpr的农机故障预测方法

Similar Documents

Publication Publication Date Title
Iqbal et al. Fault detection and isolation in industrial processes using deep learning approaches
Khoshgoftaar et al. Classification tree models of software quality over multiple releases
CN107817787B (zh) 一种基于机器学习的智能产线机械手故障诊断方法
Chen et al. Aero-engine remaining useful life prediction method with self-adaptive multimodal data fusion and cluster-ensemble transfer regression
CN110335168B (zh) 基于gru优化用电信息采集终端故障预测模型的方法及系统
Lin et al. Parameter tuning, feature selection and weight assignment of features for case-based reasoning by artificial immune system
CN112000084B (zh) 一种基于1d-cnn和gru-svm的控制器模块智能bit设计方法
Singh et al. Software defect prediction tool based on neural network
Liu et al. Predicting of job failure in compute cloud based on online extreme learning machine: a comparative study
CN111126820A (zh) 反窃电方法及系统
CN111461286A (zh) 基于进化神经网络的Spark参数自动优化系统和方法
Mumtaz et al. Feature Selection Using Artificial Immune Network: An Approach for Software Defect Prediction.
Suntoro et al. Software defect prediction using AWEIG+ ADACOST Bayesian algorithm for handling high dimensional data and class imbalance problem
Zheng et al. A novel imbalanced ensemble learning in software defect predication
CN116542701A (zh) 一种基于cnn-lstm组合模型的碳价预测方法及系统
Ahsan et al. Developing computational intelligence for smart qualification testing of electronic products
Kumar et al. An unsupervised software fault prediction approach using threshold derivation
CN117391742A (zh) 一种市场运营经济性分析的方法
CN113656294A (zh) 一种软件缺陷预测方法
Song et al. Machine learning approach for determining feasible plans of a remanufacturing system
CN111767324B (zh) 一种智能关联的自适应数据分析方法及装置
Yang et al. Defect prediction by using cluster ensembles
Gao et al. Software defect prediction based on adaboost algorithm under imbalance distribution
CN112306730B (zh) 基于历史项目伪标签生成的缺陷报告严重程度预测方法
Salama et al. Dispatching rules selection mechanism using support vector machine for genetic programming in job shop scheduling

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20211116

WW01 Invention patent application withdrawn after publication