国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ExtraTree的軟件缺陷預(yù)測(cè)方法研究

2022-05-05 07:21王馨煜崔藝凝段盈盈
關(guān)鍵詞:分類器樣本預(yù)測(cè)

王馨煜,崔藝凝,段盈盈

(北京信息科技大學(xué) 計(jì)算機(jī)學(xué)院,北京 100101)

0 引 言

隨著時(shí)代的發(fā)展和科技進(jìn)步,計(jì)算機(jī)在人們的生活中越來越多地被使用。軟件是計(jì)算機(jī)領(lǐng)域中非常重要的一部分,軟件存在的缺陷也不可小覷。軟件缺陷預(yù)測(cè)技術(shù)旨在預(yù)測(cè)出模型中的缺陷數(shù)和缺陷傾向性,從而根據(jù)預(yù)測(cè)結(jié)果對(duì)資源進(jìn)行合理的分配,是缺陷檢測(cè)技術(shù)的重要輔助手段。早期,研究人員通過經(jīng)驗(yàn)來估計(jì)模型中可能存在的缺陷;后來出現(xiàn)了軟件體積度量元和缺陷的關(guān)系式,用關(guān)系式來計(jì)算系統(tǒng)在測(cè)試之前存在的缺陷數(shù);有研究者將代碼對(duì)應(yīng)具體文檔位置,從而給出了缺陷率的公式;也有研究者假設(shè)模塊規(guī)模符合指數(shù)分布,給出了缺陷密度的估算公式。

融合多分類器模型對(duì)軟件缺陷預(yù)測(cè)技術(shù)有重大的研究意義,通過融合多分類器模型,不僅可以發(fā)現(xiàn)不同模型之間潛在的聯(lián)系,還可以度量軟件的可靠性。另外,融合多個(gè)效果較弱的分類器為一個(gè)性能較好的多分類器,還可以提高弱分類器的預(yù)測(cè)性能。

本文首先通過選擇不同的分類器模型對(duì)提取的軟件模塊進(jìn)行預(yù)測(cè)并輸出結(jié)果;其次,對(duì)單個(gè)分類器模型與融合后的分類器模型的預(yù)測(cè)結(jié)果進(jìn)行比對(duì);采用基于集成學(xué)習(xí)的靜態(tài)軟件缺陷預(yù)測(cè)方法對(duì)軟件模塊缺陷進(jìn)行預(yù)測(cè)。

1 相關(guān)研究

1.1 背景

軟件缺陷預(yù)測(cè)技術(shù)旨在預(yù)測(cè)出軟件模塊的缺陷,明確存在缺陷模塊的缺陷數(shù)和缺陷傾向性。軟件模塊存在缺陷可能會(huì)造成財(cái)產(chǎn)損失和安全隱患。如:1996年6月因?qū)Ш较到y(tǒng)的計(jì)算機(jī)軟件故障導(dǎo)致歐洲“阿麗亞娜”號(hào)航天飛機(jī)墜毀;1999年美國火星探測(cè)飛船墜毀事件,不包括損失時(shí)間,其工程成本耗費(fèi)3.27億美元。軟件缺陷預(yù)測(cè)技術(shù)是避免軟件運(yùn)行故障,減少不必要損失的重要手段,該技術(shù)自開始研究后就受到了眾多的關(guān)注。

早期的軟件缺陷通過員工的經(jīng)驗(yàn)來估計(jì),后來Akiyama明確給出了最早的軟件缺陷與代碼行的關(guān)系量化式,但只是在程序開始前初步對(duì)可能存在的軟件缺陷進(jìn)行估算,并不完美。隨著測(cè)試軟件的規(guī)模與其復(fù)雜度的逐步提高,開發(fā)者更加重視的是軟件缺陷預(yù)測(cè)技術(shù)的精準(zhǔn)度及模塊測(cè)試的正確率是否能夠保證在一個(gè)穩(wěn)定的范圍里,是否可以更加高效地完成測(cè)試。成熟的軟件缺陷預(yù)測(cè)技術(shù)可以在軟件發(fā)布之前預(yù)測(cè)出真正有缺陷的程序模塊,從而提高軟件的質(zhì)量,減少資源消耗。

1.2 國內(nèi)外研究現(xiàn)狀

目前,國內(nèi)外研究人員從不同的角度研究了靜態(tài)缺陷預(yù)測(cè)和數(shù)據(jù)驅(qū)動(dòng)缺陷預(yù)測(cè)等方法。在異常值檢測(cè)和處理、高維度數(shù)據(jù)、類不平衡問題和數(shù)據(jù)差異等方面進(jìn)行了研究,主要使用機(jī)器學(xué)習(xí)和統(tǒng)計(jì)方法來預(yù)測(cè)缺陷模塊。如:Freund和Schapire研究的Adaboost迭代算法,可以增強(qiáng)預(yù)測(cè)模型的精度;Wolpert提出的Stacking算法,可以集成若干基分類器的分類性能,從而提高分類效果等。

越來越多的預(yù)測(cè)模型的出現(xiàn)使研究者的注意力更多地集中在模型預(yù)測(cè)精度上,實(shí)驗(yàn)數(shù)據(jù)集的差異性和單一分類器預(yù)測(cè)性能的局限性是影響軟件缺陷預(yù)測(cè)精度的兩大原因。針對(duì)數(shù)據(jù)集的差異性,Sun等提出了通過特征選擇提高預(yù)測(cè)精度的方法;Xu等提出了Logistic方法通過尋找最佳擬合參數(shù)來提高預(yù)測(cè)效率;針對(duì)單一分類器預(yù)測(cè)性能局限性的問題,Zhu等人提出了無監(jiān)督的特征選擇方法。除此之外,集成學(xué)習(xí)方法也是解決單一分類器的預(yù)測(cè)性能不夠泛化問題的重要途徑,通過將多個(gè)弱分類器集成為一個(gè)強(qiáng)分類器,進(jìn)而提高軟件缺陷預(yù)測(cè)的性能。

1.3 本文研究內(nèi)容

本文針對(duì)不同預(yù)測(cè)模型對(duì)軟件缺陷預(yù)測(cè)結(jié)果差異性較大的問題,對(duì)結(jié)構(gòu)復(fù)雜、類別不平衡、缺乏歷史數(shù)據(jù)的靜態(tài)軟件缺陷模塊采用基于集成學(xué)習(xí)的軟件靜態(tài)缺陷預(yù)測(cè)方法,利用已有的缺陷數(shù)據(jù)集,選擇Extra-Trees(極度隨機(jī)樹)來將多個(gè)弱分類器集成,并通過實(shí)驗(yàn)對(duì)多個(gè)分類模型進(jìn)行了驗(yàn)證,并對(duì)融合前后各個(gè)模型的預(yù)測(cè)結(jié)果進(jìn)行了比對(duì)。

在實(shí)驗(yàn)中使用SMOTE方法(Synthetic Minority Oversampling Technique)對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理,選擇5種基分類器并結(jié)合Extra-Trees集成方法進(jìn)行驗(yàn)證。為了能夠有效評(píng)價(jià)分類結(jié)果,本文選擇了準(zhǔn)確率、召回率、F值3個(gè)業(yè)界認(rèn)可的評(píng)價(jià)指標(biāo)對(duì)預(yù)測(cè)結(jié)果進(jìn)行評(píng)價(jià)。

2 相關(guān)理論與技術(shù)基礎(chǔ)

2.1 SMOTE采樣

為解決樣本少,特征缺失的問題,Chawla等人提出了SMOTE過采樣方法,可以減少模型的過擬合。在訓(xùn)練模型時(shí),樣本數(shù)量少的類所能提供的信息也比較少,SMOTE方法通過對(duì)少數(shù)類樣本的分析,將少數(shù)類樣本合成新的樣本并加入數(shù)據(jù)集中,重復(fù)分析、合成過程直到達(dá)到數(shù)據(jù)樣本平衡。

生成新樣本的方法如式(1)所示。

其中,P表示新樣本;x是少數(shù)類樣本點(diǎn),對(duì)于每一個(gè)少數(shù)類樣本x,從其k近鄰中隨機(jī)選擇若干個(gè)樣本,假設(shè)選擇的近鄰為y;N表示生成樣本數(shù)量。

2.2 基于ExtraTree的缺陷預(yù)測(cè)方法

集成學(xué)習(xí)是解決類不平衡問題的方法之一,從數(shù)據(jù)中顯式或隱式地學(xué)習(xí)多個(gè)模型,將這些模型有效結(jié)合,得到可靠、準(zhǔn)確的預(yù)測(cè)。單一分類器模型的測(cè)試能力逐漸趨于飽和,并且對(duì)缺陷模塊預(yù)測(cè)的范圍并不具有廣泛性,通過結(jié)合多個(gè)單一學(xué)習(xí)器,并聚合其預(yù)測(cè)結(jié)果的學(xué)習(xí)任務(wù),聚集多個(gè)分類方法來提高分類的精度,可以獲得比單一學(xué)習(xí)器更顯著的泛化性能,也可以稱作多分類系統(tǒng)。

目前,集成學(xué)習(xí)的主要問題就是如何將多個(gè)弱分類器合成一個(gè)強(qiáng)分類器,有效提高預(yù)測(cè)的精度。在實(shí)驗(yàn)中采用了ExtraTree(極度隨機(jī)樹)來集成多分類器模型,但使用這種方法前需要檢查樣本的數(shù)據(jù)是否適用ExtraTree缺陷預(yù)測(cè)方法。ExtraTree具有很少的關(guān)鍵超參數(shù)和用于配置這些超參數(shù)的合理啟發(fā)式方法,能夠處理很高維度的數(shù)據(jù)。相比于從訓(xùn)練數(shù)據(jù)集的引導(dǎo)樣本開發(fā)每個(gè)決策樹的隨機(jī)森林,ExtraTree更適合整個(gè)訓(xùn)練數(shù)據(jù)集上的每個(gè)決策樹,每個(gè)決策樹都采用原始訓(xùn)練集,不會(huì)隨機(jī)采樣,訓(xùn)練速度更快。

2.3 分類器模型評(píng)價(jià)指標(biāo)

軟件缺陷預(yù)測(cè)模型可用于對(duì)軟件模塊的缺陷情況作分類處理,評(píng)價(jià)指標(biāo)用于區(qū)分預(yù)測(cè)模型的優(yōu)劣。在本次實(shí)驗(yàn)中選取了軟件缺陷預(yù)測(cè)常用的評(píng)價(jià)指標(biāo):準(zhǔn)確率(Accur acy),精確率(Precision),召回率(Recall)以及F1。

準(zhǔn)確率()又叫查準(zhǔn)率,是被正確預(yù)測(cè)出的有缺陷的樣本數(shù)量與被預(yù)測(cè)為無缺陷的樣本數(shù)量之比,如式(2):

1可以看作是模型精確率和召回率的一種調(diào)和平均,如式(4):

其中,表示被正確預(yù)測(cè)出的有缺陷的樣本數(shù)量;表示被預(yù)測(cè)為有缺陷的無缺陷樣本數(shù)量;表示被預(yù)測(cè)為無缺陷的有缺陷樣本數(shù)量;表示被正確預(yù)測(cè)出的無缺陷樣本數(shù)量。

3 實(shí)驗(yàn)與結(jié)果分析

3.1 數(shù)據(jù)集

本實(shí)驗(yàn)采用數(shù)據(jù)集為NASA公布的MDP軟件缺陷數(shù)據(jù)集,來自于十三個(gè)實(shí)際軟件項(xiàng)目,數(shù)據(jù)集的基本信息包括樣本集名稱、模塊總數(shù)、缺陷模塊數(shù)、屬性個(gè)數(shù)以及缺陷所占比例,不同數(shù)據(jù)集缺陷所占比例不同。從NASA MDP數(shù)據(jù)集中選取缺陷所占比例不同的數(shù)據(jù)子集KC1、KC3、MC2、MW1、PC1、PC3、PC4作為本文的實(shí)驗(yàn)數(shù)據(jù)集,見表1。

表1 NASA MDP數(shù)據(jù)子集Tab.1 NASA MDP Subset of the data

召回率(),又叫查全率,也就是被正確預(yù)測(cè)出的有缺陷的樣本數(shù)量與實(shí)際有缺陷的樣本數(shù)量之比,如式(3):

3.2 實(shí)驗(yàn)方法

選擇的是決策樹分類器、隨機(jī)森林分類器、梯度提升分類器、基于直方圖的梯度提升分類器、自適應(yīng)增強(qiáng)分類器5種基礎(chǔ)模型,通過極度隨機(jī)樹的集成學(xué)習(xí)方法融合5個(gè)基礎(chǔ)模型。

為了保證所對(duì)模型的數(shù)據(jù)對(duì)比的有效性,每個(gè)實(shí)驗(yàn)的過程是相同的,5種基礎(chǔ)模型以及極度隨機(jī)樹集成學(xué)習(xí)方法在NASA的數(shù)據(jù)子集上進(jìn)行一次十字交叉驗(yàn)證,使、、13個(gè)對(duì)比指標(biāo)數(shù)據(jù)進(jìn)行同一數(shù)據(jù)集不同模型的數(shù)值對(duì)比。

3.3 實(shí)驗(yàn)結(jié)果分析

5個(gè)基礎(chǔ)模型以及極度隨機(jī)樹集成學(xué)習(xí)方法在7個(gè)數(shù)據(jù)集中進(jìn)行實(shí)驗(yàn),得到的指標(biāo)數(shù)據(jù)見表2。從表2可以看出,極度隨機(jī)樹集成學(xué)習(xí)方法在KC3、MC2、MW1、PC3這4個(gè)數(shù)據(jù)集上達(dá)到了比其他5種基礎(chǔ)模型更好的1值,說明極度隨機(jī)樹對(duì)于特定數(shù)據(jù)集可以將弱分類器集成融合成一個(gè)較強(qiáng)分類器。隨機(jī)森林分類器、基于直方圖的梯度提升分類器、自適應(yīng)增強(qiáng)分類器分別在KC1、PC4、PC1這3個(gè)數(shù)據(jù)集上1值達(dá)到最佳,該現(xiàn)象與KC1、PC4、PC13個(gè)數(shù)據(jù)集的類不平衡有一定關(guān)系。

表2 NASA MDP數(shù)據(jù)集實(shí)驗(yàn)結(jié)果Tab.2 NASA MDP Experimental results of the data sets

4 結(jié)束語

本文基于極度隨機(jī)數(shù)集成學(xué)習(xí)方法對(duì)決策樹分類器、隨機(jī)森林分類器、梯度提升分類器、基于直方圖的梯度提升分類器和自適應(yīng)增強(qiáng)分類器5個(gè)單個(gè)弱學(xué)習(xí)器進(jìn)行了融合;用各個(gè)單分類器及基于ExtraTree的集成分類器分別對(duì)7個(gè)數(shù)據(jù)集進(jìn)行了缺陷預(yù)測(cè)。本文就是選用了極度隨機(jī)樹這一集成學(xué)習(xí)方法,對(duì)5個(gè)性能較差的弱分類器進(jìn)行了融合得到一個(gè)多分類器融合模型,然后對(duì)比單個(gè)分類器的預(yù)測(cè)結(jié)果和多分類器的預(yù)測(cè)結(jié)果,比較兩者的預(yù)測(cè)性能,對(duì)軟件缺陷預(yù)測(cè)模型的預(yù)測(cè)性能問題進(jìn)行了研究。預(yù)測(cè)的結(jié)果得出融合后的學(xué)習(xí)器在選中的7個(gè)數(shù)據(jù)集中有4個(gè)數(shù)據(jù)集預(yù)測(cè)出的F1值都是優(yōu)于任何一個(gè)單分類器的,在其他3個(gè)數(shù)據(jù)集中預(yù)測(cè)出的F1均處于第二或第三的位置。該集成學(xué)習(xí)方法無法在每個(gè)數(shù)據(jù)集中都達(dá)到最好的預(yù)測(cè)性能,后續(xù)將改進(jìn)缺陷預(yù)測(cè)模塊分布的稀疏性引起的相關(guān)問題。

猜你喜歡
分類器樣本預(yù)測(cè)
分類器集成綜述
少樣本條件下基于K-最近鄰及多分類器協(xié)同的樣本擴(kuò)增分類
選修2—2期中考試預(yù)測(cè)卷(B卷)
選修2—2期中考試預(yù)測(cè)卷(A卷)
學(xué)貫中西(6):闡述ML分類器的工作流程
基于AdaBoost算法的在線連續(xù)極限學(xué)習(xí)機(jī)集成算法
直擊高考中的用樣本估計(jì)總體
隨機(jī)微分方程的樣本Lyapunov二次型估計(jì)
基于支持向量機(jī)的測(cè)厚儀CS值電壓漂移故障判定及處理
七年級(jí)數(shù)學(xué)下冊(cè)期末檢測(cè)題(B)
工布江达县| 唐海县| 长春市| 镇江市| 宣化县| 马关县| 菏泽市| 娱乐| 古田县| 邯郸县| 安义县| 修文县| 乐亭县| 西城区| 南开区| 哈巴河县| 常州市| 瓦房店市| 茶陵县| 邵武市| 临海市| 河东区| 大荔县| 丁青县| 桓台县| 定襄县| 西宁市| 崇州市| 宝应县| 简阳市| 和林格尔县| 屯门区| 龙门县| 繁峙县| 郯城县| 新源县| 广宗县| 双城市| 左云县| 张家川| 板桥市|