• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

      2022-05-05 07:21:26王馨煜崔藝凝段盈盈
      智能計算機與應(yīng)用 2022年3期
      關(guān)鍵詞:預(yù)測出軟件缺陷分類器

      王馨煜,崔藝凝,段盈盈

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

      0 引 言

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

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

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

      1 相關(guān)研究

      1.1 背景

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

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

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

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

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

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

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

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

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

      2.1 SMOTE采樣

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

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

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

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

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

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

      2.3 分類器模型評價指標(biāo)

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

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

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

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

      3 實驗與結(jié)果分析

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

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

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

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

      3.2 實驗方法

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

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

      3.3 實驗結(jié)果分析

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

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

      4 結(jié)束語

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

      猜你喜歡
      預(yù)測出軟件缺陷分類器
      基于源文件可疑度的靜態(tài)軟件缺陷檢測方法研究
      基于NPE-SVM的軟件缺陷預(yù)測模型
      BP-GA光照分類器在車道線識別中的應(yīng)用
      電子測試(2018年1期)2018-04-18 11:52:35
      吸引力無法則
      開源程序的軟件缺陷分布特征的量化分析研究
      加權(quán)空-譜與最近鄰分類器相結(jié)合的高光譜圖像分類
      結(jié)合模糊(C+P)均值聚類和SP-V-支持向量機的TSK分類器
      量體薦衣
      基于LLE降維和BP_Adaboost分類器的GIS局部放電模式識別
      軟件缺陷管理方案分析
      确山县| 介休市| 太和县| 平远县| 长沙市| 壶关县| 安仁县| 洛南县| 汉川市| 墨脱县| 贵南县| 沧州市| 五大连池市| 普安县| 六枝特区| 博湖县| 墨江| 叶城县| 洛川县| 长白| 甘孜| 仁布县| 那曲县| 敦煌市| 澄江县| 荔浦县| 浏阳市| 隆子县| 仁怀市| 大悟县| 龙山县| 抚远县| 葵青区| 永福县| 普定县| 义乌市| 孝义市| 宜川县| 仙游县| 固原市| 都昌县|