CN105608004A - 一种基于cs-ann的软件缺陷预测方法 - Google Patents

一种基于cs-ann的软件缺陷预测方法 Download PDF

Info

Publication number
CN105608004A
CN105608004A CN201510955883.6A CN201510955883A CN105608004A CN 105608004 A CN105608004 A CN 105608004A CN 201510955883 A CN201510955883 A CN 201510955883A CN 105608004 A CN105608004 A CN 105608004A
Authority
CN
China
Prior art keywords
ann
algorithm
value
bird
nest
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.)
Pending
Application number
CN201510955883.6A
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.)
Yunnan University YNU
Original Assignee
Yunnan University YNU
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 Yunnan University YNU filed Critical Yunnan University YNU
Priority to CN201510955883.6A priority Critical patent/CN105608004A/zh
Publication of CN105608004A publication Critical patent/CN105608004A/zh
Pending legal-status Critical Current

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
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于CS-ANN的软件缺陷预测方法,包括:输入原始数据集,得到训练数据集;把训练数据集分为训练数据和测试数据;初始化权值;将训练数据和权值输入ANN算法进行训练,得出预测值,计算损失函数值Jw;将Jw和权值输入CS算法,得到最优权值;判断是否满足迭代次数;使用得到的最优权值和测试数据进行测试,输出测试结果;使用测试结果,以最大值F1值为标准确定最佳阈值;最后将新数据、最优权值和最佳阈值输入模型对新数据预测。本发明首次将布谷鸟搜索算法和神经网络算法运用到软件缺陷预测模型中,结合了布谷鸟搜索算法的能够找到全局最优值、收敛速度快和参数设置简单等优点,提高了模型的缺陷预测能力和性能。

Description

一种基于CS-ANN的软件缺陷预测方法
技术领域
本发明属于计算机应用技术领域,尤其涉及一种基于CS-ANN的软件缺陷预测方法。
背景技术
随着计算机软件需求的不断增多,软件的复杂度越来越大。开发起来也随着变的越来越困难。如今各行各业都对软件有一定的依赖,软件在运行过程中一旦出错,就可能造成非常严重的后果,造成这一后果的根本原因就是软件中存在缺陷。软件工程理论指出,测试能证明软件中存在缺陷,不能证明软件中没有缺陷。可见在实际开发过程中,找出软件的缺陷是非常困难的。并且还受到开发资源和时间等因素的限制,能够在有限的资源下尽可能多的找出软件中存在的缺陷是现在所面临的问题。在软件缺陷预测中,将描述是否存在缺陷的最小软件单元称为软件模块。在对软件模块属性进行度量时,使用最广泛的是代码度量属性McCabe和Halstead。McCabe基于对程序拓扑结构的复杂度分析,度量软件模块的内部结构属性;Halstead以程序中出现的操作符和操作数为计数对象,用于测量软件模块的规模。这两种度量属性对于构建软件缺陷预测模型都是有效的,模型的性能取决于构建算法的选择。运用软件度量预测软件错误最早是由Porter和Selby在1990年开始的。从那时起有大量的基于度量标准的错误预测。至今,已经有很对研究者开发和验证了一些错误预测模型,这些模型都是用机器学习和统计学技术建立的。为了提高模型的性能,他们使用了不同类型的软件度量和多种多样的特征选择技术。机器学习算法如神经网络、支持向量机和集成算法等都被用来构建软件缺陷预测模型。但是由于软件项目类型、算法参数设置和预测模型评价指标的不同,不存在性能最好的模型构建通用算法。现有的机器学习方法,如决策树、朴素贝叶斯和逻辑回归等算法,都可以用来构造软件缺陷预测模型。但是预测精确率较低,且对于不平衡数据,性能影响较大,这些模型的实用性不强。其他学者也提出了基于机器学习算法的改进算法,在某些特定的领域也取得了不错的效果,如集成学习,神经网络等,以及结合一些启发式算法,如人工蜂群和遗传算法,提出的模型。但是这些算法设置参数相对繁琐,且设置不同的参数,对模型的性能影响较大。软件测试花费的工作量经常比其他任何软件工程活动都多。若测试是无计划地进行,既浪费时间,又会做很多不必要的劳动。缺陷预测模型旨在识别有缺陷倾向的软件组件,从而权衡质量保证(QA)活动。有了软件缺陷预测模型,QA测试小组就可以集中关注软件模块的部分子集,从而能在有限的时间和资源下,尽可能多的找出软件中存在的缺陷。
现有的模型都是基于机器学习算法构建的,但是传统的模型精确率低,且遇到不平衡数据,预测性能会受很大的影响。
发明内容
本发明的目的在于提供一种基于CS-ANN的软件缺陷预测方法,旨在解决现有的软件缺陷预测模型精确率低,且遇到不平衡数据,预测性能会受很大的响的问题。
本发明是这样实现的,一种基于CS-ANN的软件缺陷预测方法,所述基于CS-ANN的软件缺陷预测方法包括:
所述基于CS-ANN的软件缺陷预测方法分为训练和预测两个过程,训练过程是使用历史数据对模型进行训练,得到此数据集的最佳权值和阈值;预测过程是使用训练过程得到的权值和阈值对新的数据进行预测,输出新的数据集中的模块有无缺陷,预测时输入的新数据的属性应和经过特征选择之后的数据有相同的属性。
进一步,所述基于CS-ANN的软件缺陷预测方法具体包括:
输入原始数据集Db,使用WEKA工具里的CFS算法进行特征选择,得到训练数据集Da;
对原始数据进行处理之后,输入模型对模型进行训练,给出执行过程的伪码:
输入:数据集Da;
输出:最佳权值Wbest和阈值Tbest;
初始化神经网络参数,隐藏层大小hidden_layer_size;
初始化布谷鸟搜索参数//鸟窝W即是所以搜索的神经网络的权值,鸟窝大小n,初始化鸟窝W,发现概率p,搜索域Lb/Ub,迭代次数iter;
把Da分为Dtrain和Dtest,十折交叉验证;
While(迭代次数小于iter){
通过Lévy飞行方式在[Lb,Ub]内搜索鸟窝W
将W和Dtrain输入神经网络算法,计算代价,保留当前最优鸟窝Wbest
通过局部搜索过程,利用概率p淘汰部分不好的鸟窝,同时搜索新的鸟窝;
将W和Dtrain输入神经网络算法,计算代价,保留当前最优鸟窝Wbest
}//endwhile;
将Wbest和Dtest输入神经网络进行测试,得出预测值;
使用测试得到的预测值,设置不同的阈值计算F1值,保留使得F1值最大的阈值Tbest;
returnWbest,Tbest;
预测过程是把训练得到的Wbest和Tbest以及新数据输入神经网络算法计算预测值,根据阈值Tbest标记模块是否有缺陷,若预测值大于Tbest则标记此模块有缺陷倾向,若小于测阈值,则标记为无缺陷倾向。
进一步,所述ANN第i层的输出值使用式(1)得到:
y i = f i ( Σ j = 1 n w i j x j + b i ) - - - ( 1 )
f ( z ) = 1 1 + e - z - - - ( 2 )
其中,yi是一个节点的输出值,n是这个节点的总输入量,wij是这个节点与第j个输入直接的权值,xj是第j个输入,bi是偏移量。fi是第i层的激励函数,此次提出的模型使用的激励函数如式(2)所示。
进一步,所述ANN的损失函数如式(3)所示:
J ( w ) = - 1 m [ Σ i = 1 m ( y 0 i * log f ( wx i ) + ( 1 - y 1 i ) * log ( 1 - f ( wx i ) ) ) + λ 2 * m Σ l = 1 n - 1 Σ i = 1 s l Σ j = 1 s l + 1 ( w i j l ) 2 ] - - - ( 3 )
其中,m是训练数据集的总数;y0和y1分别表示负类和正类的值,分别取0和1;f(x)是式(2)所示的激励函数;方程式的最后一项是正则化项,λ≧0是系数,用于权衡经验风险和模型复杂度,n是神经网络的总层数,wji l是第l层的第i个节点和第l+1层的第j个结点之间的权重。
进一步,所述CS算法局部随机过程通过式(4)来描述:
x i ( t + 1 ) = x i ( t ) + αs ⊕ H ( p a - ϵ ) ⊗ ( x j ( t ) - x k ( t ) ) - - - ( 4 )
式中,表示第i个布谷鸟的第t个解决方案,是随机打乱生成的两个序列;α>0是全局步长;s是随机生成的局部游走步长;H(x)是Heaviside函数;表示矩阵对应元素相乘;pa是在算法中设置的鸟窝主人发现外来鸟蛋的概率,设置pa=0.25,设置p为0.25;ε是随机数;表示矩阵相乘。
进一步,所述CS算法中Lévy飞行使用式(5)执行:
Lévy~u=t,(1<λ<3)(6)
式(5)中的α以及与式(4)中的具有相同的含义。Lévy飞行的随机步长是从Lévy分布获取的,Lévy分布如式(6),具有无限的方差和均值。
本发明的另一目的在于提供一种应用所述基于CS-ANN的软件缺陷预测方法的天气预测系统。
本发明的另一目的在于提供一种应用所述基于CS-ANN的软件缺陷预测方法的股票预测系统。
本发明的另一目的在于提供一种应用所述基于CS-ANN的软件缺陷预测方法的电影票房预测系统。
本发明的另一目的在于提供一种应用所述基于CS-ANN的软件缺陷预测方法的销售额预测系统。
本发明提供的基于CS-ANN的软件缺陷预测方法,首次将布谷鸟搜索算法和神经网络算法运用到软件缺陷预测模型中,结合了布谷鸟搜索算法的能够找到全局最优值、收敛速度快和参数设置简单等优点,提高了模型的缺陷预测的能力和性能。本发明使用了CFS特征选择算法进行数据的预处理,CFS算法在性能上优于特征加权算法(ReliefF)和主成分分析(PCA)等特征选择算法,提高了软件缺陷预测模型的预测能力;人工神经网络算法是非线性的处理系统,而软件缺陷的分类需要非线性的预测函数,人工神经网络是构建预测模型的最佳选择。人工神经网络算法在模式识别、智能机器人、自动控制、预测估计、生物、医学、经济等领域已成功地解决了许多现代计算机难以解决的实际问题,表现出了良好的智能特性;布谷鸟搜索算法简单易行,参数少,实验表明布谷鸟搜索算法获得的最优解远远优于粒子群算法和遗传算法;人工神经网络需要不停的迭代来寻找最优权值,通过布谷鸟搜索算法能够快速的找到全局的最优值。
本发明不仅仅只能进行软件缺陷的预测,更改部分参数设置,还可以进行其他领域的预测;如天气、股票、疾病、电影票房、销售额等的预测;设计出了基于CS-ANN的软件缺陷预测模型,相比传统的机器学习方法,在精确率和预测性能上有了很大的提升,且不受数据不平衡因素的影响;布谷鸟算法相对于其他启发式算法,需要设置的参数较少,且对于不同的问题,设置通用的参数都可以获得比较好的效果。并且在收敛性和寻找最优值得速度上也较优于其他算法。所以,本发明结合了布谷鸟算法和人工神经网络算法构建模型,在精确率和性能上都要优于其他提出的预测模型。
附图说明
图1是本发明实施例提供的基于CS-ANN的软件缺陷预测方法流程图。
图2是本发明实施例提供的ANN模型的基本结构示意图。
图3是本发明实施例提供的人工神经网络模型的基本结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例的基于CS-ANN的软件缺陷预测方法包括以下步骤:
S101:输入原始数据集Db,使用WEKA工具里的CFS算法进行特征选择,得到训练数据集Da;
S102:使用十折交叉验证,把数据集Da分为训练数据Dtrain和测试数据Dtest;
S103:设置ANN算法的参数,设置CS算法参数,初始化权值W;
S104:将训练数据Dtrain和W输入ANN算法进行训练,得出预测值,计算损失函数值Jw;
S105:将Jw和W输入CS算法,对W进行优化,得到最优权值Wbest;
S106:判断是否满足迭代次数,若不满足,用Wbest替换W,返回S104;
S107:使用得到的Wbest和测试数据Dtest进行测试,使用测试结果,设置不同的阈值,计算F1值,保留使得F1值最大的阈值Tbest。
S108:使用以上计算得到的Wbest和Tbest对新数据进行预测。。
基于关联规则的特征选择算法(correlation-basedfeatureselection,CFS),是一种过滤器模式的特征选择方法。它根据各个属性的预测性能以及组间的关联寻找一个好的属性子集。通过CFS进行特征选择,能够有效的降低数据维度,并且提高机器学习算法的预测能力。此模型采用了CFS算法对数据进行预处理。
人工神经网络(ArtificialNeuralNetwork,ANN)是一种模仿生物神经网络的结构和功能的计算模型。它由大量的节点相互连接而成,每个节点代表一种特定的输出函数,称为激励函数(activationfunction)。两节点之间有加权值,称之为权重(weight)。ANN的学习过程就是通过迭代不断调整这些权重。一个神经网络系统由输入层、隐含层和输出层三部分组成。数据从输入层输入,然后向与之关联的节点传播,这即是模仿生物信号在神经元之间的传播原理。每个节点从它的前一层接收输入,然后乘以各自的权值,最后把这些相乘的结果相加。这些相加得到的结果向后传向它的下一层。可使用图2描述了ANN模型的基本结构。
ANN的激励函数可以是线性或非线性的,可以用特定的满足模型要解决的待解决问题的激励函数,第i层的输出值可以使用式(1)得到。
y i = f i ( Σ j = 1 n w i j x j + b i ) - - - ( 1 )
f ( z ) = 1 1 + e - z - - - ( 2 )
其中,yi是一个节点的输出值,n是这个节点的总输入量,wij是这个节点与第j个输入直接的权值,xj是第j个输入,bi是偏移量。fi是第i层的激励函数,此次提出的模型使用的激励函数如式(2)所示。
如图3是对已经过预处理的数据建立的三层神经网络结构。本文设置隐藏层是输入层的两倍,图中省略了隐藏层的节点a3~a9。
神经网络的目标是通过迭代不断调整每一层的权重,最小化代价函数值(cost-function)。常用的代价函数有0-1损失函数(0-1costfunction)、平方损失函数(quadraticcostfunction)和绝对损失函数(absolutecostfunction)。本文使用的损失函数如式(3)所示。
J ( w ) = - 1 m [ Σ i = 1 m ( y 0 i * log f ( wx i ) + ( 1 - y 1 i ) * log ( 1 - f ( wx i ) ) ) + λ 2 * m Σ l = 1 n - 1 Σ i = 1 s l Σ j = 1 s l + 1 ( w i j l ) 2 ] - - - ( 3 )
其中,m是训练数据集的总数;y0和y1分别表示负类和正类的值,本发明分别取0和1;f(x)是式(2)所示的激励函数;方程式的最后一项是正则化项,为了防止产生过拟合(over-fitting)现象,λ≧0是系数,用于权衡经验风险和模型复杂度,n是神经网络的总层数,wji l是第l层的第i个节点和第l+1层的第j个结点之间的权重。
在机器学习领域,常用的寻找最优权重的方法有梯度下降法(gradientdescent)、共轭梯度法(conjugategradient)和BFGS法。但是这些方法不一定能找到全局的最优值,在实际实验中难以取得理想的结果,所以本文采用布谷鸟搜索算法来寻找最优权重。
布谷鸟搜索(CuckooSearch,CS)算法是基于布谷鸟寻找鸟窝放置鸟蛋的行为,并结合了一些鸟类或者果蝇的Lévy飞行行为而提出的一种智能优化算法[YangXS,DebS.CuckoosearchviaLévyflights[C].Nature&BiologicallyInspiredComputing,2009.NaBIC2009.WorldCongresson.IEEE,2009:210-214.]。
CS算法结合了局部随机过程和全局搜索过程,局部随机过程可以通过式(4)来描述。
x i ( t + 1 ) = x i ( t ) + αs ⊕ H ( p a - ϵ ) ⊗ ( x j ( t ) - x k ( t ) ) - - - ( 4 )
式中,表示第i个布谷鸟的第t个解决方案,是随机打乱生成的两个序列;α>0是全局步长,它和求解问题的规模有关,多数的情况下,可以使用α=1;s是随机生成的局部游走步长;H(x)是Heaviside函数;表示矩阵对应元素相乘;pa是在算法中设置的鸟窝主人发现外来鸟蛋的概率,设置pa=0.25,本模型设置p为0.25;ε是随机数;表示矩阵相乘。
另一方面,全局随机过程可以按Lévy飞行过程执行。Lévy飞行可以描述为一个运动的实体能够偶尔迈出异常大的步子,它的运动方向是随机的。Lévy飞行的体征是小步的移动很多,但是间或有很大步的位移,这样就使得实体不会重复再一个地方搜索。运用这种飞行的特征,CS算法能够在全局内搜索最优值。CS算法中Lévy飞行使用式(5)执行:
Lévy~u=t,(1<λ<3)(6)
式(5)中的、α以及与式(4)中的具有相同的含义。方程式(5)本质上是随机游走的数学描述。一般地,随机游走是一个马尔可夫链,下一个状态/位置仅仅取决于当前的位置(以上方程式的首项)和转移概率(方程式的第二项)。Lévy飞行的随机步长是从Lévy分布获取的。Lévy分布如式(6)所示,它具有无限的方差和均值。
本发明的目的是通过现有的软件模块度量属性的数据,来预测未知模块内是否有缺陷,从而能帮助软件测试人员有针对性的进行软件测试活动。
软件度量是衡量软件品质的一种手段,如表1所示是一些度量标准。
表1
预测器即是本发明的核心部分。模型首先接收历史数据进行学习,然后输入未知模块,预测器可以输出模块是否有缺陷。这样进行测试的时候就会分更多的资源,对有缺陷倾向的模块进行测试。
下面结合实验对本发明的应用效果作进一步的描述。
本发明与反向传播神经网络(BP)、随机森林(RF)、朴素贝叶斯(NB)和C4.5算法四个常用的构建软件缺陷预测模型的算法作对比,对于每一种算法同样采用十折交叉验证的方法,最后计算评价指标的均值,数据集使用NASA提供的公开数据集,这里选取了八个数据集。评价指标如下说明:如表2,是评价二分类预测模型常用的方法。有缺陷的模块标记为1,无缺陷的模块标记为0。若实际值为1且预测值也为1,即是模型预测出了有缺陷的模块,则记为TP;同样的,若实际值为0且预测值也为0,即是模型正确预测模块无缺陷,记为TN。如果实际值为1,预测值为0,说明模型把有缺陷的模块预测为无缺陷的模块,记为FN;如果实际值为0,预测值为1,则模型把无缺陷的模块预测为有缺陷,记为FP。根据这四个值,可以计算出以下定义的评价标准。
表2混淆矩阵(ConfusionMatrix)
pd=TP/(TP+FN)是缺陷的概率(probabilityofdetection,pd),也称召回率,它表示有缺陷的模块被正确分类为有缺陷的模块的数量和总样本中有缺陷模块总数的比例。pf=FP/(FP+TN)是假预测的概率(probabilityoffalsealarm,pf)表示无缺陷模块被错误分类为有缺陷模块的数量和无缺陷模块总数的比例;p=TP/(TP+FP)查准率(precision)它表示有缺陷模块被正确分类为有缺陷模块的数量和被分类为有缺陷模块总数的比例;acc=(TP+TN)/(TP+FP+TP+TN)是精确率(accuracy,acc)表示被正确分类的模块数量和总模块数量的比例;F1=2*p*pd/(p+pd),F1值(F1-Measure)定义为查准率p和召回率pd之间的调换平均数,它综合考虑了相互矛盾的p和pd,F1值高则说明模型比较理想,不仅能够找出更多的缺陷,且无缺陷模块分类为有缺陷的错误较低;在不平衡数据的环境中,G-mean和AUC是常用的评估预测器的方法。在实验中,把有缺陷的作为正类(positiveclass),把无缺陷的作为负类(negativeclass)。G-mean表示的是正类和负类的召回率的几何平均数。一个好的预测器应该具有高的精确率和G-mean,G-mean高说明正确分类有缺陷模块和无缺陷模块的概率都很高。在软件缺陷预测中,G-mean可定义为受试者工作特征曲线(receiveroperatingcharacteristiccurve,简称ROC曲线),是由变更所有可能的阈值产生的坐标点(pf,pd)而生成的曲线,它反映的是pd和pf之间的权衡,AUC值是ROC曲线下的面积,AUC的值越高就说明分类器的性能越好。
表3列出了由八个数据集分别产生的不同算法的F1、G-mean和AUC的均值。表中每行使用黑体标注的是该数据集对应的该指标的最优值。由表3和4可以看出CS-ANN对每一个数据产生的F1值和G-mean值都要高于其他四种算法,说明模型正确预测负类和正类的性能要优于其他四种算法,分类时产生的误分类要低于其他四种算法。BP算法的精确率虽然高,但是F1值和G-mean值要比CS-ANN模型分别低20%和14%左右,说明单独使用神经网络算法不能很好的处理数据不平衡问题,分类时找出较多有缺陷模块的同时也产生了较多的误分类。表5表明部分数据使用RF算法产生的AUC略高于CS-ANN模型,但整体性能比CS-ANN低2个百分点,说明CS-ANN模型的稳定性要优于RF算法。
表3数据集分别产生的每一个算法的F1值
表4数据集分别产生的每一个算法的G-mean值
表5数据集分别产生的每一个算法的AUC值
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于CS-ANN的软件缺陷预测方法,其特征在于,所述基于CS-ANN的软件缺陷预测方法分为训练和预测两个过程,训练过程是使用历史数据对模型进行训练,得到此数据集的最佳权值和阈值;预测过程是使用训练过程得到的权值和阈值对新的数据进行预测,输出新的数据集中的模块有无缺陷,预测时输入的新数据的属性应和经过特征选择之后的数据有相同的属性。
2.如权利要求1所述的基于CS-ANN的软件缺陷预测方法,其特征在于,所述基于CS-ANN的软件缺陷预测方法具体包括:
输入原始数据集Db,使用WEKA工具里的CFS算法进行特征选择,得到训练数据集Da;
对原始数据进行处理之后,输入模型对模型进行训练,给出执行过程的伪码:
输入:数据集Da;
输出:最佳权值Wbest和阈值Tbest;
初始化神经网络参数,隐藏层大小hidden_layer_size;
初始化布谷鸟搜索参数//鸟窝W即是所以搜索的神经网络的权值,鸟窝大小n,初始化鸟窝W,发现概率p,搜索域Lb/Ub,迭代次数iter;
把Da分为Dtrain和Dtest,十折交叉验证;
While(迭代次数小于iter){
通过Lévy飞行方式在[Lb,Ub]内搜索鸟窝W
将W和Dtrain输入神经网络算法,计算代价,保留当前最优鸟窝Wbest
通过局部搜索过程,利用概率p淘汰部分不好的鸟窝,同时搜索新的鸟窝;
将W和Dtrain输入神经网络算法,计算代价,保留当前最优鸟窝Wbest}//endwhile;
将Wbest和Dtest输入神经网络进行测试,得出预测值;
使用测试得到的预测值,设置不同的阈值计算F1值,保留使得F1值最大的阈值Tbest;
returnWbest,Tbest;
预测过程是把训练得到的Wbest和Tbest以及新数据输入神经网络算法计算预测值,根据阈值Tbest标记模块是否有缺陷,若预测值大于Tbest则标记此模块有缺陷倾向,若小于测阈值,则标记为无缺陷倾向。
3.如权利要求1所述的基于CS-ANN的软件缺陷预测方法,其特征在于,ANN第i层的输出值使用式(1)得到:
y i = f i ( Σ j = 1 n w i j x j + b i ) - - - ( 1 )
f ( z ) = 1 1 + e - z - - - ( 2 )
其中,yi是一个节点的输出值,n是这个节点的总输入量,wij是这个节点与第j个输入直接的权值,xj是第j个输入,bi是偏移量,fi是第i层的激励函数,此次提出的模型使用的激励函数如式(2)所示。
4.如权利要求1所述的基于CS-ANN的软件缺陷预测方法,其特征在于,ANN的损失函数如式(3)所示:
J ( w ) = - 1 m [ Σ i = 1 m ( y 0 i * log f ( wx i ) + ( 1 - y 1 i ) * log ( 1 - f ( wx i ) ) ) + λ 2 * m Σ l = 1 n - 1 Σ i = 1 s l Σ j = 1 s l + 1 ( w i j l ) 2 ] - - - ( 3 )
其中,m是训练数据集的总数;y0和y1分别表示负类和正类的值,分别取0和1;f(x)是式(2)所示的激励函数;方程式的最后一项是正则化项,λ≧0是系数,用于权衡经验风险和模型复杂度,n是神经网络的总层数,wji l是第l层的第i个节点和第l+1层的第j个结点之间的权重。
5.如权利要求1所述的基于CS-ANN的软件缺陷预测方法,其特征在于,所述CS算法局部随机过程通过式(4)来描述:
x i ( t + 1 ) = x i ( t ) + α s ⊕ H ( p a - ϵ ) ⊗ ( x j ( t ) - x k ( t ) ) - - - ( 4 )
式中,表示第i个布谷鸟的第t个解决方案,是随机打乱生成的两个序列;α>0是全局步长;s是随机生成的局部游走步长;H(x)是Heaviside函数;表示矩阵对应元素相乘;pa是在算法中设置的鸟窝主人发现外来鸟蛋的概率,设置pa=0.25,设置p为0.25;ε是随机数;表示矩阵相乘。
6.如权利要求1所述的基于CS-ANN的软件缺陷预测方法,其特征在于,所述CS算法中Lévy飞行使用式(5)执行:
Lévy~u=t-λ,(1<λ<3)(6)
式(5)中的α以及与式(4)中的具有相同的含义,Lévy飞行的随机步长是从Lévy分布获取的,Lévy分布如式(6),具有无限的方差和均值。
7.一种应用权利要求1-6任意一项所述基于CS-ANN的软件缺陷预测方法的天气预测系统。
8.一种应用权利要求1-6任意一项所述基于CS-ANN的软件缺陷预测方法的股票预测系统。
9.一种应用权利要求1-6任意一项所述基于CS-ANN的软件缺陷预测方法的电影票房预测系统。
10.一种应用权利要求1-6任意一项所述基于CS-ANN的软件缺陷预测方法的销售额预测系统。
CN201510955883.6A 2015-12-17 2015-12-17 一种基于cs-ann的软件缺陷预测方法 Pending CN105608004A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510955883.6A CN105608004A (zh) 2015-12-17 2015-12-17 一种基于cs-ann的软件缺陷预测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510955883.6A CN105608004A (zh) 2015-12-17 2015-12-17 一种基于cs-ann的软件缺陷预测方法

Publications (1)

Publication Number Publication Date
CN105608004A true CN105608004A (zh) 2016-05-25

Family

ID=55987956

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510955883.6A Pending CN105608004A (zh) 2015-12-17 2015-12-17 一种基于cs-ann的软件缺陷预测方法

Country Status (1)

Country Link
CN (1) CN105608004A (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107153869A (zh) * 2017-03-29 2017-09-12 南昌大学 一种基于布谷鸟搜索优化神经网络的变压器故障诊断方法
CN107346286A (zh) * 2017-07-03 2017-11-14 武汉大学 一种基于核主成分分析和极限学习机的软件缺陷预测方法
CN106021115B (zh) * 2016-06-06 2018-07-10 重庆大学 基于概率的无监督缺陷预测方法
CN108805162A (zh) * 2018-04-25 2018-11-13 河南师范大学 一种基于粒子群优化的酵母菌多标记特征选择方法及装置
CN108804850A (zh) * 2018-06-27 2018-11-13 大连理工大学 一种基于空间重构的航空发动机过渡态加速过程关键性能参数预测方法
CN109087146A (zh) * 2018-08-15 2018-12-25 深圳快购科技有限公司 影院票房收入的预测方法及系统
CN109326354A (zh) * 2018-11-09 2019-02-12 深圳市孙逸仙心血管医院(深圳市心血管病研究所) 基于ann血流储备分数预测方法、装置、设备及介质
CN109710512A (zh) * 2018-12-06 2019-05-03 南京邮电大学 基于测地线流核的神经网络软件缺陷预测方法
CN109976998A (zh) * 2017-12-28 2019-07-05 航天信息股份有限公司 一种软件缺陷预测方法、装置和电子设备
CN110135469A (zh) * 2019-04-24 2019-08-16 北京航空航天大学 一种改进基于相关性特征选择的特征过滤方法及装置
CN110134108A (zh) * 2019-05-14 2019-08-16 内蒙古电力(集团)有限责任公司内蒙古电力科学研究院分公司 一种代码缺陷测试方法和装置
CN110716496A (zh) * 2019-10-30 2020-01-21 南京理工大学 一种基于集成学习的智能控制系统异常预测方法
CN111026664A (zh) * 2019-12-09 2020-04-17 遵义职业技术学院 基于ann的程序检测方法和检测系统及应用
CN111178548A (zh) * 2018-11-09 2020-05-19 财团法人工业技术研究院 集成学习预测方法与系统
CN111242204A (zh) * 2020-01-07 2020-06-05 东北电力大学 一种运维管控平台故障特征提取方法
CN111625441A (zh) * 2019-02-27 2020-09-04 中国矿业大学 一种基于测地线流式核的无监督异构缺陷预测方法
CN111858328A (zh) * 2020-07-15 2020-10-30 南通大学 一种基于有序神经网络的软件缺陷模块严重程度预测方法
CN112100824A (zh) * 2020-08-26 2020-12-18 西安工程大学 一种改进的布谷鸟算法及优化机器人结构参数的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1420344A2 (en) * 2002-11-13 2004-05-19 Imbus Ag Method and device for prediction of the reliability of software programs
CA2598923A1 (en) * 2006-08-25 2008-02-25 Research In Motion Limited Method and system for data classification using a self-organizing map
CN103810102A (zh) * 2014-02-19 2014-05-21 北京理工大学 一种用于预测软件缺陷的方法和系统
US8881095B1 (en) * 2012-03-30 2014-11-04 Sprint Communications Company L.P. Software defect prediction
CN104199536A (zh) * 2014-07-23 2014-12-10 西安空间无线电技术研究所 一种基于bp神经网络的fpga动态功耗估算方法
CN104881363A (zh) * 2015-06-24 2015-09-02 中国航空工业集团公司西安飞机设计研究所 一种控制律软件的测试方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1420344A2 (en) * 2002-11-13 2004-05-19 Imbus Ag Method and device for prediction of the reliability of software programs
CA2598923A1 (en) * 2006-08-25 2008-02-25 Research In Motion Limited Method and system for data classification using a self-organizing map
US8881095B1 (en) * 2012-03-30 2014-11-04 Sprint Communications Company L.P. Software defect prediction
CN103810102A (zh) * 2014-02-19 2014-05-21 北京理工大学 一种用于预测软件缺陷的方法和系统
CN104199536A (zh) * 2014-07-23 2014-12-10 西安空间无线电技术研究所 一种基于bp神经网络的fpga动态功耗估算方法
CN104881363A (zh) * 2015-06-24 2015-09-02 中国航空工业集团公司西安飞机设计研究所 一种控制律软件的测试方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘逻等: ""基于结合自适应步长布谷鸟搜索算法的模糊神经网络的软件可靠性增长模型"", 《计算机应用》 *

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106021115B (zh) * 2016-06-06 2018-07-10 重庆大学 基于概率的无监督缺陷预测方法
CN107153869A (zh) * 2017-03-29 2017-09-12 南昌大学 一种基于布谷鸟搜索优化神经网络的变压器故障诊断方法
CN107346286A (zh) * 2017-07-03 2017-11-14 武汉大学 一种基于核主成分分析和极限学习机的软件缺陷预测方法
CN107346286B (zh) * 2017-07-03 2020-05-12 武汉大学 一种基于核主成分分析和极限学习机的软件缺陷预测方法
CN109976998A (zh) * 2017-12-28 2019-07-05 航天信息股份有限公司 一种软件缺陷预测方法、装置和电子设备
CN109976998B (zh) * 2017-12-28 2022-06-07 航天信息股份有限公司 一种软件缺陷预测方法、装置和电子设备
CN108805162A (zh) * 2018-04-25 2018-11-13 河南师范大学 一种基于粒子群优化的酵母菌多标记特征选择方法及装置
CN108804850A (zh) * 2018-06-27 2018-11-13 大连理工大学 一种基于空间重构的航空发动机过渡态加速过程关键性能参数预测方法
CN109087146A (zh) * 2018-08-15 2018-12-25 深圳快购科技有限公司 影院票房收入的预测方法及系统
CN111178548B (zh) * 2018-11-09 2023-04-07 财团法人工业技术研究院 集成学习预测方法与系统
CN109326354A (zh) * 2018-11-09 2019-02-12 深圳市孙逸仙心血管医院(深圳市心血管病研究所) 基于ann血流储备分数预测方法、装置、设备及介质
CN111178548A (zh) * 2018-11-09 2020-05-19 财团法人工业技术研究院 集成学习预测方法与系统
CN109710512A (zh) * 2018-12-06 2019-05-03 南京邮电大学 基于测地线流核的神经网络软件缺陷预测方法
CN111625441A (zh) * 2019-02-27 2020-09-04 中国矿业大学 一种基于测地线流式核的无监督异构缺陷预测方法
CN110135469A (zh) * 2019-04-24 2019-08-16 北京航空航天大学 一种改进基于相关性特征选择的特征过滤方法及装置
CN110134108B (zh) * 2019-05-14 2021-10-22 内蒙古电力(集团)有限责任公司内蒙古电力科学研究院分公司 一种代码缺陷测试方法和装置
CN110134108A (zh) * 2019-05-14 2019-08-16 内蒙古电力(集团)有限责任公司内蒙古电力科学研究院分公司 一种代码缺陷测试方法和装置
CN110716496A (zh) * 2019-10-30 2020-01-21 南京理工大学 一种基于集成学习的智能控制系统异常预测方法
CN110716496B (zh) * 2019-10-30 2022-03-22 南京理工大学 一种基于集成学习的智能控制系统异常预测方法
CN111026664A (zh) * 2019-12-09 2020-04-17 遵义职业技术学院 基于ann的程序检测方法和检测系统及应用
CN111026664B (zh) * 2019-12-09 2020-12-22 遵义职业技术学院 基于ann的程序检测方法和检测系统及应用
CN111242204A (zh) * 2020-01-07 2020-06-05 东北电力大学 一种运维管控平台故障特征提取方法
CN111858328A (zh) * 2020-07-15 2020-10-30 南通大学 一种基于有序神经网络的软件缺陷模块严重程度预测方法
CN112100824A (zh) * 2020-08-26 2020-12-18 西安工程大学 一种改进的布谷鸟算法及优化机器人结构参数的方法
CN112100824B (zh) * 2020-08-26 2024-02-27 西安工程大学 一种改进的布谷鸟算法及优化机器人结构参数的方法

Similar Documents

Publication Publication Date Title
CN105608004A (zh) 一种基于cs-ann的软件缺陷预测方法
Zhang et al. A quantitative approach to design alternative evaluation based on data-driven performance prediction
CN109766583A (zh) 基于无标签、不均衡、初值不确定数据的航空发动机寿命预测方法
Yang et al. A joint optimization method on parameter and structure for belief-rule-based systems
CN113537600B (zh) 一种全过程耦合机器学习的中长期降水预报建模方法
Rahman et al. Discretization of continuous attributes through low frequency numerical values and attribute interdependency
Napoli et al. Toward work groups classification based on probabilistic neural network approach
Ray et al. Short-term load forecasting using genetic algorithm
Alzaeemi et al. Examining the forecasting movement of palm oil price using RBFNN-2SATRA metaheuristic algorithms for logic mining
Guo et al. A general method of community detection by identifying community centers with affinity propagation
Sebastian et al. Evaluating students performance by artificial neural network using weka
CN111915022B (zh) 滑移式岩溶危岩稳定系数快速识别的高斯过程方法及装置
CN106997373A (zh) 一种基于深度置信网络的链路预测方法
CN114139589A (zh) 故障诊断方法、装置、设备与计算机可读存储介质
Selvarajah et al. Identifying a team of experts in social networks using a cultural algorithm
CN105868115A (zh) 软件密集型系统软件测试模型的构建方法和系统
Sandhu et al. A comparative analysis of conjugate gradient algorithms & PSO based neural network approaches for reusability evaluation of procedure based software systems
Diamantopoulou Assessing a reliable modeling approach of features of trees through neural network models for sustainable forests
Guo et al. Distribution network topology identification based on gradient boosting decision tree and attribute weighted naive Bayes
Madhavi et al. Multivariate deep causal network for time series forecasting in interdependent networks
CN105894138A (zh) 一种制造业发货量的最优加权组合预测方法
Abdelbari et al. Learning structures of conceptual models from observed dynamics using evolutionary echo state networks
Hu et al. Online updating with a probability-based prediction model using expectation maximization algorithm for reliability forecasting
He et al. An intelligent computing approach to evaluating the contribution rate of talent on economic growth
Singh et al. Predicting software development effort using artificial neural network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160525

RJ01 Rejection of invention patent application after publication