• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    融合測(cè)試異味的即時(shí)缺陷預(yù)測(cè)模型探究

    2022-05-10 01:29:34殷瑞笛吳海濤高建華黃子杰
    關(guān)鍵詞:對(duì)模型異味度量

    殷瑞笛,吳海濤,高建華,黃子杰

    1(上海師范大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù),上海 200234)

    2(華東理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù),上海 200237)

    1 引 言

    在軟件維護(hù)和進(jìn)化過(guò)程中,開(kāi)發(fā)人員不斷修改源代碼,以引入新功能或修復(fù)缺陷.然而,這些修改可能會(huì)引入新的缺陷[1],因此開(kāi)發(fā)人員必須仔細(xì)驗(yàn)證代碼的可靠性,進(jìn)行軟件質(zhì)量保障(SQA)活動(dòng).SQA往往在開(kāi)發(fā)或測(cè)試過(guò)程中進(jìn)行[2],或者在代碼審查時(shí)執(zhí)行[3].然而,對(duì)所有的代碼執(zhí)行SQA將耗費(fèi)大量的人力資源,研究人員通過(guò)缺陷預(yù)測(cè)為SQA的計(jì)劃提供依據(jù).缺陷預(yù)測(cè)[4]是一種關(guān)于源代碼或開(kāi)發(fā)過(guò)程的信息構(gòu)建統(tǒng)計(jì)模型來(lái)預(yù)測(cè)軟件的缺陷,進(jìn)而將檢查和測(cè)試資源分配給更可能存在缺陷的源代碼部分的有效方法.

    大多數(shù)現(xiàn)有的缺陷預(yù)測(cè)方法都是通過(guò)進(jìn)行長(zhǎng)期預(yù)測(cè)即分析以前軟件版本中積累的信息,來(lái)預(yù)測(cè)哪些工件在未來(lái)版本中更容易出現(xiàn)缺陷.但Kamei等人[5,6]發(fā)現(xiàn)粗粒度、非即時(shí)的缺陷預(yù)測(cè)模型在實(shí)踐中的作用可能有限,因?yàn)樗鼈儾荒転殚_(kāi)發(fā)人員提供即時(shí)的反饋,因此不能避免在將工件提交到存儲(chǔ)庫(kù)的過(guò)程中引入缺陷.為了克服這一限制,Kamei等人[5,6]提出了即時(shí)缺陷預(yù)測(cè),即針對(duì)細(xì)粒度的代碼提交特征進(jìn)行預(yù)測(cè),使開(kāi)發(fā)人員可以關(guān)注具體的代碼提交,從而提高缺陷預(yù)測(cè)對(duì)開(kāi)發(fā)活動(dòng)的響應(yīng)性.然而Kamei等人實(shí)驗(yàn)研究的即時(shí)缺陷預(yù)測(cè)模型中,所利用的也只是提交信息中的一部分,即代碼度量、過(guò)程度量和開(kāi)發(fā)人員相關(guān)的因素.軟件測(cè)試作為軟件開(kāi)發(fā)過(guò)程中的一個(gè)重要部分與生產(chǎn)代碼的質(zhì)量息息相關(guān)[7],并沒(méi)有在Kamei等人的研究中被利用.

    為了保證軟件在更新迭代過(guò)程中的可靠性,開(kāi)發(fā)者們引入了回歸測(cè)試以求保障新增的生產(chǎn)代碼的功能的正確性.然而,有研究發(fā)現(xiàn)[8,9],大部分開(kāi)發(fā)人員更為重視軟件生產(chǎn)代碼的質(zhì)量,而忽略了測(cè)試代碼中存在的問(wèn)題,從而使測(cè)試代碼的質(zhì)量普遍較低.Van Deursen 等人[10]對(duì)測(cè)試代碼的質(zhì)量進(jìn)行了系統(tǒng)的研究,歸納總結(jié)出了測(cè)試代碼中反復(fù)出現(xiàn)的設(shè)計(jì)問(wèn)題,提出了測(cè)試異味這一概念.最近已有不少研究證明了測(cè)試異味的存在對(duì)生產(chǎn)代碼的質(zhì)量有著不良影響[7,11,12].然而,這些研究并沒(méi)有對(duì)測(cè)試異味與生產(chǎn)代碼可靠性的關(guān)聯(lián)進(jìn)行進(jìn)一步探究,例如,測(cè)試異味是否也可以作為一類(lèi)有效的特征屬性來(lái)預(yù)測(cè)生產(chǎn)代碼中可能存在的缺陷.

    為了探究上述問(wèn)題,本文在Kamei等人[5,6]研究的基礎(chǔ)上,將提交信息中的測(cè)試代碼所包含的測(cè)試異味作為一個(gè)新角度的特征屬性融合到原有的即時(shí)缺陷預(yù)測(cè)模型中,構(gòu)建一個(gè)包含更多軟件開(kāi)發(fā)過(guò)程信息的即時(shí)缺陷預(yù)測(cè)模型.在衡量新構(gòu)建的預(yù)測(cè)模型性能的同時(shí),本文也將對(duì)測(cè)試異味作為缺陷預(yù)測(cè)的特征屬性的有效性和不同測(cè)試異味對(duì)預(yù)測(cè)輸出的影響的差異性進(jìn)行探究.

    本文的主要貢獻(xiàn)如下:

    1)在原有的即時(shí)缺陷預(yù)測(cè)模型中[5],本文加入了測(cè)試異味這一新的特征屬性,構(gòu)建了一個(gè)包含軟件編寫(xiě)、軟件測(cè)試以及軟件維護(hù)的更多角度的即時(shí)缺陷預(yù)測(cè)模型.

    2)通過(guò)可加性解釋模型SHAP[13]對(duì)特征貢獻(xiàn)度進(jìn)行了分析,本文研究發(fā)現(xiàn)ECT,UT,AR,GF,MNT,ET這6種測(cè)試異味對(duì)模型輸出的影響更為突出,這也為開(kāi)發(fā)人員在關(guān)注提交記錄和進(jìn)行問(wèn)題診斷時(shí),提供了可著重關(guān)注的測(cè)試異味類(lèi)型,節(jié)省了開(kāi)發(fā)人員的工作量.

    3)通過(guò)跨系統(tǒng)項(xiàng)目的探究,本文發(fā)現(xiàn)不同系統(tǒng)項(xiàng)目中的測(cè)試異味對(duì)即時(shí)缺陷模型的預(yù)測(cè)輸出的影響存在較大差異,但每個(gè)項(xiàng)目中都有多種測(cè)試異味對(duì)缺陷預(yù)測(cè)的貢獻(xiàn)度排在前20位,這也再次證明了開(kāi)發(fā)人員在進(jìn)行SQA時(shí)應(yīng)該對(duì)測(cè)試異味給予一定的關(guān)注.

    本文的結(jié)構(gòu)安排如下,第2節(jié)討論了與研究相關(guān)的工作.第3節(jié)說(shuō)明了即時(shí)缺陷預(yù)測(cè)模型的構(gòu)建.在第4節(jié)簡(jiǎn)述了實(shí)驗(yàn)的流程設(shè)計(jì),分析并討論了實(shí)驗(yàn)研究的結(jié)果,第5節(jié)討論了有效性威脅.最后,第6節(jié)總結(jié)了論文并概述了未來(lái)工作的方向.

    2 相關(guān)工作

    2.1 測(cè)試異味

    作為源代碼的一個(gè)子集,測(cè)試代碼也可能存在設(shè)計(jì)問(wèn)題,人們對(duì)正確維護(hù)和改進(jìn)測(cè)試代碼的設(shè)計(jì)越來(lái)越感興趣[14-16].研究人員和開(kāi)發(fā)者已經(jīng)開(kāi)始研究測(cè)試用例的質(zhì)量、識(shí)別測(cè)試代碼中的各種問(wèn)題[8,9],并創(chuàng)造了“測(cè)試異味”這個(gè)術(shù)語(yǔ)來(lái)描述反復(fù)出現(xiàn)的測(cè)試設(shè)計(jì)問(wèn)題,它們可能會(huì)損害測(cè)試的可靠性和可維護(hù)性.近期的研究[9,17,18]發(fā)現(xiàn)測(cè)試異味在軟件系統(tǒng)中廣泛存在,并且它們可能不會(huì)隨著系統(tǒng)的發(fā)展而消除.其他研究通過(guò)測(cè)量存在/不存在測(cè)試異味時(shí)理解測(cè)試代碼所花費(fèi)的時(shí)間,研究了測(cè)試異味對(duì)代碼理解的影響[19].此外,Athanasiou等人[20]通過(guò)衡量測(cè)試異味與軟件發(fā)布后出現(xiàn)缺陷的相關(guān)性,研究了測(cè)試異味對(duì)軟件質(zhì)量的影響.然而,這些研究?jī)H強(qiáng)調(diào)了測(cè)試異味對(duì)軟件可靠性和可維護(hù)性的影響分析,而并未將測(cè)試異味作為軟件質(zhì)量保障(SQA)活動(dòng)的資源分配依據(jù),例如將其添加進(jìn)缺陷預(yù)測(cè)模型中,以探究測(cè)試異味對(duì)預(yù)測(cè)生產(chǎn)代碼缺陷的有效性.

    2.2 代碼度量

    代碼的結(jié)構(gòu)數(shù)據(jù)是用諸如McCabe的圈復(fù)雜度[21]或Chidamber和Kemerer等人研究中的結(jié)構(gòu)度量[22]等度量來(lái)計(jì)算的.上述而這些度量的有效性已在缺陷預(yù)測(cè)的實(shí)證研究中被廣泛證實(shí)[23-27].例如,Nagappan等人[28]發(fā)現(xiàn),基于代碼度量的模型在識(shí)別容易出現(xiàn)缺陷的類(lèi)時(shí)可以達(dá)到高達(dá)83%的準(zhǔn)確率.而本次試驗(yàn)研究選擇部分Chidamber和Kemerer等人實(shí)驗(yàn)中的結(jié)構(gòu)度量指標(biāo)[22]作為代碼度量的數(shù)據(jù),共6個(gè)代碼度量,如表1所示.同時(shí)使用Chidamber和Kemerer等人實(shí)驗(yàn)中使用的代碼度量挖掘工具CK,來(lái)獲取所有項(xiàng)目的代碼度量數(shù)據(jù).

    表1 代碼度量描述Table 1 Code metric description

    2.3 過(guò)程度量

    歷史數(shù)據(jù)是用諸如代碼行變更、變化熵或與開(kāi)發(fā)人員相關(guān)的因素等度量來(lái)計(jì)算的[26,29-34].同時(shí),也有不少研究人員通過(guò)實(shí)驗(yàn)驗(yàn)證了歷史數(shù)據(jù)對(duì)于提升缺陷預(yù)測(cè)模型性能的有效性.例如,Moser等人[31]進(jìn)行了一項(xiàng)比較研究,分析了基于靜態(tài)分析度量和歷史信息度量的分類(lèi)預(yù)測(cè)器并得出結(jié)論,在項(xiàng)目歷史信息上計(jì)算的度量表現(xiàn)更佳.

    2.4 即時(shí)缺陷預(yù)測(cè)

    即時(shí)缺陷預(yù)測(cè)指的是能夠?qū)?xì)粒度的代碼提交是否存在缺陷進(jìn)行預(yù)測(cè)的模型是由Kamei等人[5,6]提出的,它試圖進(jìn)一步減少開(kāi)發(fā)人員的工作量.后來(lái),Kamei等人還評(píng)估了即時(shí)模型在跨項(xiàng)目缺陷預(yù)測(cè)中的表現(xiàn)[6].他們發(fā)現(xiàn)模型在精確度和召回率方面具備良好性能,同時(shí)也節(jié)省了開(kāi)發(fā)人員用于代碼審查的精力.

    2.5 可加性解釋模型框架SHAP

    SHAP[13,35,36]是基于Shapley值啟發(fā)的可加性模型解釋框架.對(duì)于每個(gè)預(yù)測(cè)樣本,模型都產(chǎn)生一個(gè)預(yù)測(cè)值,SHAP 值就是該樣本中每個(gè)特征所分配到的數(shù)值.假設(shè)第i個(gè)樣本為xi,第i個(gè)樣本的第j個(gè)特征為xij,模型對(duì)于第i個(gè)樣本的預(yù)測(cè)值為yi,整個(gè)模型的基線(xiàn)(通常是所有樣本目標(biāo)變量的均值)為ybase,

    那么SHAP值服見(jiàn)式(1):

    yi=ybase+f(xi1)+f(xi2)+f(xi3)+…+f(xik) (1)

    其中,f(xik)為xik的SHAP值.f(xik)就是第i個(gè)樣本中第k個(gè)特征對(duì)最終預(yù)測(cè)值yi的貢獻(xiàn)值,當(dāng)f(xik)>0,說(shuō)明該特征提升了預(yù)測(cè)值,反之,說(shuō)明該特征使得預(yù)測(cè)值降低.

    與簡(jiǎn)單的特征重要性相比,SHAP值最大的優(yōu)勢(shì)是它能反映出每一個(gè)樣本中每個(gè)特征的影響力,而且還可以表現(xiàn)出其影響的正反作用.

    3 即時(shí)缺陷預(yù)測(cè)模型的構(gòu)建

    本次實(shí)驗(yàn)的即時(shí)缺陷預(yù)測(cè)模型的構(gòu)建主要分為3個(gè)步驟:1)確定進(jìn)行缺陷預(yù)測(cè)的3個(gè)角度所包含的特征屬性;2)對(duì)已選擇的特征進(jìn)行相關(guān)性分析;3)特征篩選和機(jī)器分類(lèi)模型的選擇.

    3.1 模型特征的確定

    由于軟件開(kāi)發(fā)涉及軟件開(kāi)發(fā)、軟件測(cè)試、軟件維護(hù)這3個(gè)過(guò)程,本文受此啟發(fā),考慮建立一個(gè)涵蓋上述3種方面的即時(shí)缺陷預(yù)測(cè)模型.

    對(duì)于軟件開(kāi)發(fā)這一角度的特征屬性,本實(shí)驗(yàn)決定選用代碼度量.通過(guò)參考Chidamber和Kemerer等人[22]的實(shí)驗(yàn),選取了他們實(shí)驗(yàn)中的部分指標(biāo)作為本次實(shí)驗(yàn)的代碼度量,共有6個(gè),如表1所示.

    在軟件測(cè)試方面,本次實(shí)驗(yàn)選擇Bavota等人[9]提出的測(cè)試異味中的17種,如表3所示,作為軟件測(cè)試這一角度的特征屬性添加進(jìn)由Kamei等人[5,6]提出的即時(shí)缺陷預(yù)測(cè)模型中.這些測(cè)試異味在以前的工作中被廣泛研究[9,37-40],它們與Java中的單元測(cè)試實(shí)踐相關(guān).為了識(shí)別測(cè)試異味,本文采用了由Peruma等人[41]實(shí)現(xiàn)的測(cè)試異味檢測(cè)工具tsDetect來(lái)分析所研究的系統(tǒng).而選擇tsDetect的原因主要有:1)tsDetect是靜態(tài)分析工具,可以實(shí)現(xiàn)測(cè)試異味的全自動(dòng)化檢測(cè)且無(wú)需編譯軟件;2)tsDetect可以同時(shí)檢測(cè)19種測(cè)試異味,可檢測(cè)的種類(lèi)較為全面;3)在檢測(cè)測(cè)試異味時(shí),tsDetect能夠達(dá)到至少85%的準(zhǔn)確率和90%的召回率,其F-Score為96.5%[41].因?yàn)閠sDetect是在文件級(jí)的粒度上進(jìn)行測(cè)試異味的挖掘,且每條提交記錄中涉及多個(gè)系統(tǒng)文件的變更,所以本次實(shí)驗(yàn)選擇統(tǒng)計(jì)每條提交記錄中具有測(cè)試異味的文件數(shù)量,作為該條提交記錄所包含的測(cè)試異味數(shù)量特征.

    表2 過(guò)程度量描述Table 2 Process metric description

    表3 測(cè)試異味描述Table 3 Test smells description

    在軟件維護(hù)方面,本文參考Kamei等人[5,6]采用的由項(xiàng)目歷史信息計(jì)算得到的過(guò)程度量指標(biāo),如表2所示,共包含14個(gè)度量,分別從系統(tǒng)各組成部分的變更、代碼行的變更、是否修復(fù)了缺陷、文件修改變更頻率和關(guān)聯(lián)開(kāi)發(fā)者的經(jīng)驗(yàn)等五個(gè)角度描述了提交的特征.為了獲取每條提交記錄的過(guò)程度量數(shù)據(jù),本文采用了由Rosen等人[42]實(shí)現(xiàn)的一種語(yǔ)言無(wú)關(guān)的自動(dòng)化分析和預(yù)測(cè)工具Commit Guru,為本次實(shí)驗(yàn)提供了所有代碼提交的完整數(shù)據(jù)以及相關(guān)的歷史信息度量.

    3.2 特征選擇

    由于本次實(shí)驗(yàn)共有37個(gè)特征屬性,包含了17種測(cè)試異味,14種過(guò)程度量指標(biāo)和6種代碼度量指標(biāo),為了防止因特征間存在多重共線(xiàn)性以及因特征屬性過(guò)多而導(dǎo)致的機(jī)器學(xué)習(xí)模型的泛化能力降低,本文對(duì)過(guò)程度量和代碼度量的特征屬性進(jìn)行了相關(guān)性分析.

    本文通過(guò)相關(guān)性熱力圖對(duì)代碼度量和過(guò)程度量的指標(biāo)進(jìn)行了特征間的相關(guān)性分析,鑒于文章版面有限,只展示了代碼度量的相關(guān)性熱力圖,如圖1所示,并將代碼度量和過(guò)程度量指標(biāo)的最終篩選結(jié)果展示在表4中.

    表4 代碼度量以及過(guò)程度量篩選結(jié)果Table 4 Code metric and process metric screening results

    (2)

    r描述的是兩個(gè)變量間線(xiàn)性相關(guān)強(qiáng)弱的程度,r的絕對(duì)值越大表明相關(guān)性越強(qiáng).一般認(rèn)為:|r|≥0.8時(shí),可認(rèn)為兩變量間極高度相關(guān);0.6≤|r|<0.8,可認(rèn)為兩變量高度相關(guān);0.4|r|<0.6,可認(rèn)為兩變量中度相關(guān);0.2≤|r|<0.4,可認(rèn)為兩變量低度相關(guān);|r|<0.2,可認(rèn)為兩變量基本不相關(guān).

    根據(jù)圖1所示的關(guān)于代碼度量各特征屬性間的相關(guān)系數(shù),本文將相關(guān)系數(shù)絕對(duì)值大于0.6的兩個(gè)特征屬性中的一個(gè)剔除,例如代碼度量中的特征屬性CBO和RFC的相關(guān)系數(shù)為0.62,表明這兩種特征屬性是高度相關(guān)的,所以實(shí)驗(yàn)中隨機(jī)選擇將RFC剔除,保留CBO.同理,根據(jù)基于過(guò)程度量的相關(guān)性熱力圖分析得出的各特征屬性間的相關(guān)系數(shù),本文將相關(guān)系數(shù)絕對(duì)值大于0.6的兩個(gè)特征屬性中的一個(gè)剔除,例如過(guò)程度量中的特征屬性ND和NF的相關(guān)系數(shù)為0.9,表明這兩種特征屬性高度相關(guān),所以實(shí)驗(yàn)中隨機(jī)將ND剔除,保留NF.

    圖1 代碼度量屬性相關(guān)性熱力圖Fig.1 Code metric characteristic correlation heatmap

    經(jīng)過(guò)篩選,最終保留了10個(gè)過(guò)程度量和4個(gè)代碼度量,如表4所示.

    3.3 分類(lèi)算法和模型驗(yàn)證

    如表5所示,實(shí)驗(yàn)數(shù)據(jù)集存在類(lèi)不平衡的現(xiàn)象.為了減輕非平衡數(shù)據(jù)集對(duì)即時(shí)缺陷預(yù)測(cè)模型的性能造成的影響,本次實(shí)驗(yàn)對(duì)數(shù)據(jù)集進(jìn)行了欠采樣[43],即減少大類(lèi)的數(shù)據(jù)樣本個(gè)數(shù),以使包含缺陷的提交記錄與不包含缺陷的提交記錄數(shù)據(jù)量更加相近.同時(shí),鑒于本次實(shí)驗(yàn)包含較多特征屬性且數(shù)據(jù)集不平衡,實(shí)驗(yàn)中首選了隨機(jī)森林作為機(jī)器分類(lèi)學(xué)習(xí)模型.隨機(jī)森林分類(lèi)模型是通過(guò)建立多個(gè)決策樹(shù)并將他們?nèi)诤掀饋?lái)得到一個(gè)更加準(zhǔn)確和穩(wěn)定的模型,是bagging 思想和隨機(jī)選擇特征的結(jié)合.隨機(jī)森林[44]構(gòu)造了多個(gè)決策樹(shù),當(dāng)需要對(duì)某個(gè)樣本進(jìn)行預(yù)測(cè)時(shí),統(tǒng)計(jì)森林中的每棵樹(shù)對(duì)該樣本的預(yù)測(cè)結(jié)果,然后通過(guò)投票法從這些預(yù)測(cè)結(jié)果中選出最后的結(jié)果.其最大的優(yōu)點(diǎn)就是對(duì)于類(lèi)別不平衡數(shù)據(jù),隨機(jī)森林能夠平衡誤差,且不用降維也可以處理高維特征.

    表5 實(shí)驗(yàn)項(xiàng)目描述Table 5 Experimental systems description

    為了證實(shí)隨機(jī)森林的適用性,本實(shí)驗(yàn)也在邏輯回歸、向量空間機(jī)、樸素貝葉斯和多層感知器這幾種常見(jiàn)的機(jī)器分類(lèi)模型上進(jìn)行了測(cè)試,并采用了10折交叉驗(yàn)證策略[45].該策略允許所有的觀(guān)察樣本都用于訓(xùn)練和測(cè)試目的,而且已經(jīng)在缺陷預(yù)測(cè)的上下文中被廣泛使用[46].該策略將原始數(shù)據(jù)集隨機(jī)劃分為10個(gè)大小相等的子集.在這10個(gè)子集中,一個(gè)被保留為訓(xùn)練集,其余9個(gè)被用作訓(xùn)練集.交叉驗(yàn)證然后重復(fù)10次,允許10個(gè)子集中的每一個(gè)恰好成為測(cè)試集一次[45].實(shí)驗(yàn)結(jié)果進(jìn)一步證明了隨機(jī)森林的效果最好.

    4 實(shí) 驗(yàn)

    為了驗(yàn)證測(cè)試異味對(duì)即時(shí)缺陷預(yù)測(cè)模型的有效性,本文將就以下3個(gè)問(wèn)題展開(kāi)實(shí)驗(yàn)與結(jié)果分析:

    RQ1:測(cè)試異味特征是否可以提高即時(shí)缺陷預(yù)測(cè)模型的性能?

    RQ2:加入測(cè)試異味的即時(shí)預(yù)缺陷預(yù)測(cè)模型中各特征屬性對(duì)模型預(yù)測(cè)輸出的貢獻(xiàn)度如何?

    RQ3:測(cè)試異味這一類(lèi)特征屬性在不同項(xiàng)目缺陷預(yù)測(cè)的貢獻(xiàn)度上是否存在差別?

    4.1 實(shí)驗(yàn)準(zhǔn)備

    本文將通過(guò)5個(gè)在軟件開(kāi)發(fā)領(lǐng)域應(yīng)用廣泛且一直有版本更新的較為活躍的開(kāi)源系統(tǒng)來(lái)驗(yàn)證本次實(shí)驗(yàn)設(shè)計(jì)的3個(gè)問(wèn)題,所選系統(tǒng)的詳細(xì)信息如表5所示.選擇這5個(gè)系統(tǒng)的原因是:

    1)本次實(shí)驗(yàn)挖掘測(cè)試異味以及計(jì)算代碼結(jié)構(gòu)度量的工具只適用于由Java語(yǔ)言編寫(xiě)的項(xiàng)目,而這5個(gè)系統(tǒng)都是基于編程語(yǔ)言Java開(kāi)發(fā)設(shè)計(jì)的.

    2)這5個(gè)系統(tǒng)的量級(jí)大小不一,開(kāi)發(fā)并投入實(shí)際應(yīng)用以及版本更替的時(shí)長(zhǎng)也不相同,提交記錄的數(shù)量也有很大差別,這有利于本文對(duì)模型跨項(xiàng)目的研究.

    3)這5個(gè)系統(tǒng)提交記錄中包含缺陷的提交記錄的占比不同,且這5個(gè)系統(tǒng)的實(shí)際應(yīng)用領(lǐng)域也互不相同,可以進(jìn)一步驗(yàn)證本文所提出的即時(shí)缺陷預(yù)測(cè)模型的泛用性.

    4.2 實(shí)驗(yàn)流程

    本次實(shí)驗(yàn)的流程主要分為3個(gè)步驟,分別是數(shù)據(jù)集的選擇和清洗、即時(shí)缺陷預(yù)測(cè)模型的構(gòu)建以及結(jié)果數(shù)據(jù)的評(píng)估與分析,如圖2所示.

    圖2 實(shí)驗(yàn)流程Fig.2 Experiment process

    4.2.1 數(shù)據(jù)的獲取及預(yù)處理

    首先,通過(guò)Christoffer 等人[42]開(kāi)發(fā)的系統(tǒng)分析工具Commit Guru,獲取到本次試驗(yàn)所涉及的5個(gè)項(xiàng)目的過(guò)程度量指標(biāo)數(shù)據(jù)集.

    因?yàn)椴煌?xiàng)目的開(kāi)發(fā)時(shí)間長(zhǎng)短不一,且包含的提交記錄數(shù)量較多,所以本文只選取了每個(gè)項(xiàng)目一段時(shí)間內(nèi)的提交記錄,用于本次試驗(yàn)研究.

    之后,針對(duì)每個(gè)項(xiàng)目所選取的提交記錄,利用測(cè)試異味檢測(cè)工具,tsDetect[41]來(lái)挖掘每條提交記錄中Java文件包含的測(cè)試異味,因?yàn)楸敬螌?shí)驗(yàn)研究的對(duì)象為生產(chǎn)代碼,所以可以將那些存在測(cè)試異味但沒(méi)有對(duì)應(yīng)的生產(chǎn)代碼文件的測(cè)試文件剔除.

    同時(shí),針對(duì)每條提交記錄中所涉及的Java文件,本文通過(guò)Chidamber和Kemerer[22]等人實(shí)驗(yàn)中代碼結(jié)構(gòu)指標(biāo)的計(jì)算工具CK,計(jì)算出表1所示的代碼度量,因?yàn)镃K也是在文件級(jí)輸出每個(gè)Java文件的結(jié)構(gòu)指標(biāo),并用具體的數(shù)字表示,所以本文選擇用每條提交記錄中所有Java文件的代碼結(jié)構(gòu)數(shù)據(jù)的均值,來(lái)表示該條提交記錄的代碼度量的數(shù)據(jù)指標(biāo).

    4.2.2 即時(shí)缺陷預(yù)測(cè)模型的構(gòu)建

    在確定了本次實(shí)驗(yàn)包含的軟件開(kāi)發(fā)、軟件測(cè)試、軟件維護(hù)3個(gè)角度的特征屬性后,本文針對(duì)可能存在高度相關(guān)性的特征屬性進(jìn)行了相關(guān)性分析,最終篩選得到了4個(gè)代碼度量和10個(gè)過(guò)程度量,結(jié)果如表4所示.

    為了減輕因?qū)嶒?yàn)數(shù)據(jù)集不平衡給實(shí)驗(yàn)結(jié)果帶來(lái)的影響,實(shí)驗(yàn)首先對(duì)獲取到的數(shù)據(jù)集進(jìn)行了欠采樣處理[43],其次首選了隨機(jī)森林這一對(duì)非平衡數(shù)據(jù)集不敏感的機(jī)器分類(lèi)模型,但是為了保證實(shí)驗(yàn)結(jié)果的可靠性,本次實(shí)驗(yàn)也在邏輯回歸,樸素貝葉斯,多層感知機(jī)等這類(lèi)常見(jiàn)的分類(lèi)模型上進(jìn)行了測(cè)試,并采用了10折交叉驗(yàn)證策略[44],測(cè)試結(jié)果證實(shí)了一開(kāi)始的選擇,隨機(jī)森林的分類(lèi)效果最好,被選作本次實(shí)驗(yàn)的機(jī)器分類(lèi)學(xué)習(xí)模型.

    4.2.3 模型性能的評(píng)估與結(jié)果分析

    本次實(shí)驗(yàn)通過(guò)計(jì)算經(jīng)典的性能指標(biāo),包括精度、召回率、F1值和AUC-ROC[47-50]來(lái)驗(yàn)證測(cè)試異味對(duì)即時(shí)缺陷預(yù)測(cè)模型的有效性,并且評(píng)估本次實(shí)驗(yàn)構(gòu)建的即時(shí)缺陷預(yù)測(cè)模型的跨項(xiàng)目缺陷預(yù)測(cè)的性能.

    實(shí)驗(yàn)基于可解釋性人工智能算法SHAP[13]計(jì)算每個(gè)特征對(duì)預(yù)測(cè)結(jié)果的貢獻(xiàn)度,通過(guò)SHAP的3個(gè)特性,即局部精確性、允許缺失和一致性以及模擬式的計(jì)算思想,考慮各個(gè)特征組合關(guān)鍵詞對(duì)模型結(jié)果的影響,以滿(mǎn)足即時(shí)缺陷預(yù)測(cè)模型這類(lèi)高精度復(fù)雜集成模型的解釋.

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

    4.3.1 RQ1:即時(shí)缺陷預(yù)測(cè)模型的性能

    為了回答RQ1,本文將實(shí)驗(yàn)分為兩組,第一組實(shí)驗(yàn)不添加測(cè)試異味作為特征屬性,記作BasePrediction,第二組實(shí)驗(yàn)將測(cè)試異味作為特征屬性添加進(jìn)即時(shí)缺陷預(yù)測(cè)模型中,記作tsBasePrediction.本文通過(guò)對(duì)比經(jīng)典的性能指標(biāo),包括精度、召回率、F1值和AUC-ROC[47-50]的值來(lái)評(píng)估測(cè)試異味對(duì)即時(shí)缺陷預(yù)測(cè)模型的有效性.

    精度Precision用于表示所有預(yù)測(cè)值為1的樣本中被正確預(yù)測(cè)的比例,如式(3)所示.其中TP表示真正例,即預(yù)測(cè)值是1,真實(shí)值是1的樣本;FP表示假正例,即預(yù)測(cè)值是1,真實(shí)值是0的樣本.

    (3)

    召回率Recall表示檢測(cè)率在所有實(shí)際值為1的樣本中被正確預(yù)測(cè)為1的比例,如式(4)所示.其中TP表示真正例,即預(yù)測(cè)值是1,真實(shí)值是1的樣本;FN表示假反例,即預(yù)測(cè)值是0,真實(shí)值是1的樣本.

    (4)

    F1值是統(tǒng)計(jì)學(xué)中用來(lái)衡量二分類(lèi)模型精確度的一種指標(biāo).它同時(shí)兼顧了分類(lèi)模型的精確率和召回率.F1值可以看作是模型精確率和召回率的一種調(diào)和平均,它的最大值是1,最小值是0,如式(5)所示.

    (5)

    ROC曲線(xiàn)是二值分類(lèi)問(wèn)題的一個(gè)評(píng)價(jià)指標(biāo).它是一個(gè)概率曲線(xiàn),在不同的閾值下繪制TPR(真正例率)與FPR(假正例率)的關(guān)系圖,從本質(zhì)上把“信號(hào)”與“噪聲”分開(kāi).AUC-ROC[47]的值即為ROC曲線(xiàn)下的面積,是分類(lèi)器區(qū)分類(lèi)的能力的度量,用作ROC曲線(xiàn)的總結(jié).AUC-ROC的值越高,模型在區(qū)分正類(lèi)和負(fù)類(lèi)方面的性能越好(通常認(rèn)為AUC-ROC值大于0.7時(shí),分類(lèi)預(yù)測(cè)模型的性能可評(píng)估為優(yōu)良[51]).

    利用從5個(gè)系統(tǒng)中獲取到的相關(guān)特征屬性的數(shù)據(jù)集,對(duì)本次實(shí)驗(yàn)構(gòu)建的即時(shí)缺陷預(yù)測(cè)模型進(jìn)行了驗(yàn)證,結(jié)果如表6所示.

    表6 模型性能對(duì)比Table 6 Model performance comparison

    根據(jù)表6所示的數(shù)據(jù)結(jié)果可以看出本次實(shí)驗(yàn)構(gòu)建的即時(shí)缺陷預(yù)測(cè)模型的性能效果是較好的(AUC-ROC>0.7).沒(méi)有加入測(cè)試異味作為特征屬性的即時(shí)缺陷預(yù)測(cè)模型的精度最差的能到達(dá)到64.8%,最好的能達(dá)到77.7%,這說(shuō)明本次試驗(yàn)的模型在預(yù)測(cè)一個(gè)提交記錄是否有缺陷時(shí),其預(yù)測(cè)結(jié)果最少也有近65%是正確的.而在加入了測(cè)試異味作為特征屬性后,即時(shí)缺陷預(yù)測(cè)模型對(duì)各項(xiàng)目提交記錄是否含有缺陷的預(yù)測(cè)精度最少提高了1.4%,最多提高了3.9%,同時(shí)即時(shí)缺陷預(yù)測(cè)模型的最差精度也由原來(lái)64.5%,提高到了68.7%.這一結(jié)果說(shuō)明了測(cè)試異味在提高即時(shí)缺陷預(yù)測(cè)模型的預(yù)測(cè)精度方面是有一定正向作用的.

    對(duì)于性能評(píng)估指Recall和F1值,可以發(fā)現(xiàn)不加入測(cè)試異味作為特征屬性時(shí),模型的Recall和F1值最差也可分別達(dá)到64.4%和63.7%,這意味著該模型的預(yù)測(cè)結(jié)果最少也有64%以上是正確的,而在加入了測(cè)試異味作為特征屬性以后,模型的Recall有了0.8%-4%左右的提升,F(xiàn)1值有2.3%-4.6%左右的提升,同時(shí)模型的Recall和F1值最差也可分別達(dá)到66.7%和66.9%,總體上來(lái)看模型的Recall和F1值也有2.3%和3.2%的提升.針對(duì)分類(lèi)器區(qū)分類(lèi)的能力的度量,AUC-ROC值,可以發(fā)現(xiàn)從總體上看,在不加入測(cè)試異味作為特征屬性前,模型的AUC-ROC值最低為66.6%,而在加入了測(cè)試異味作為特征屬性之后,模型的AUC-ROC值最低為72.0%,有了5.4%的提升,從每個(gè)項(xiàng)目提交記錄的預(yù)測(cè)情況來(lái)看,在加入測(cè)試異味作為特征屬性之后,模型的AUC-ROC值分別有了2.5%-6.7%的提升,而這一結(jié)果也再次證明了將測(cè)試異味作為特征屬性加入到即時(shí)缺陷預(yù)測(cè)模型中,對(duì)于模型預(yù)測(cè)性能的提高是有效的.

    4.3.2 RQ2:模型中各特征屬性的貢獻(xiàn)度排序

    為了進(jìn)一步探究測(cè)試異味是否可以作為有效的預(yù)測(cè)因子來(lái)提高即時(shí)缺陷預(yù)測(cè)模型,本文利用SHAP[13]對(duì)本次實(shí)驗(yàn)構(gòu)建的即時(shí)缺陷預(yù)測(cè)模型中各特征屬性對(duì)模型預(yù)測(cè)結(jié)果輸出的貢獻(xiàn)度進(jìn)行了排序,結(jié)果如圖3所示.

    圖3 各特征屬性的貢獻(xiàn)度排序Fig.3 Contribution ranking of each feature attribute

    圖3是基于SHAP值的密度散點(diǎn)圖,其中SHAP值代表該特征屬性對(duì)模型預(yù)測(cè)輸出的影響的大小,密度散點(diǎn)圖中的一個(gè)點(diǎn)對(duì)應(yīng)于研究中的一條提交記錄,點(diǎn)在x軸上的位置代表了該特征對(duì)模型預(yù)測(cè)該提交記錄是否含有缺陷的貢獻(xiàn)度,x軸上的值的絕對(duì)值越大,說(shuō)明該特征對(duì)模型的預(yù)測(cè)輸出影響越大,而x軸上的值的正負(fù)代表了特征對(duì)模型預(yù)測(cè)輸出影響的正負(fù),本次實(shí)驗(yàn)中若SHAP值為正則說(shuō)明該特征屬性提升了預(yù)測(cè)該條記錄有缺陷的可能性,若SHAP值為負(fù)則說(shuō)明該特征屬性降低了預(yù)測(cè)該條記錄有缺陷的可能性.當(dāng)多個(gè)點(diǎn)在x軸上同一位置著陸時(shí),它們堆積起來(lái)以顯示密度.

    圖3左邊展示的即為本次實(shí)驗(yàn)?zāi)P椭袑?duì)模型預(yù)測(cè)結(jié)果貢獻(xiàn)度排在前20位的特征屬性的降序排列.可以看到,本次試驗(yàn)構(gòu)建的即時(shí)缺陷預(yù)測(cè)模型中對(duì)模型輸出影響最大的特征屬性是LD,對(duì)模型影響程度排在第20位的是ET,對(duì)模型預(yù)測(cè)輸出的貢獻(xiàn)度排在前20特征中測(cè)試異味共有6種,分別是ECT,UT,AR,GF,MNT,ET.其中對(duì)模型預(yù)測(cè)結(jié)果影響最大測(cè)試異味是ECT,從圖3中散點(diǎn)及其對(duì)應(yīng)的著色分布來(lái)看,當(dāng)測(cè)試異味ECT在某條提交記錄中的分布密度偏高時(shí),ECT對(duì)模型預(yù)測(cè)該條提交記錄含有缺陷的影響要比總體貢獻(xiàn)度排在之前的Entropy要大,同樣情況的還有測(cè)試異味UT和GF,從它們的散點(diǎn)及著色分記錄中的分布密度偏高時(shí),UT對(duì)模型預(yù)測(cè)該條提交記錄含有缺陷的影響要比總體貢獻(xiàn)度排在之前的DIT要大,GF對(duì)模型預(yù)測(cè)該條提交記錄含有缺陷的影響要比總體貢獻(xiàn)度排在之前的NS要大.這說(shuō)明對(duì)于測(cè)試異味分布密度較高的提交記錄來(lái)說(shuō),開(kāi)發(fā)人員給予測(cè)試異味更多的關(guān)注是有必要的,因?yàn)闇y(cè)試異味是可以作為一個(gè)有效的參考因素來(lái)分析預(yù)測(cè)該提交記錄是否含有缺陷.

    4.3.3 RQ3:測(cè)試異味在跨項(xiàng)目中缺陷預(yù)測(cè)輸出的貢獻(xiàn)度的表現(xiàn)

    為了探究測(cè)試異味在不同系統(tǒng)中對(duì)缺陷預(yù)測(cè)的貢獻(xiàn)度是否存在差異,本文研究了不同系統(tǒng)的提交記錄數(shù)據(jù)中測(cè)試異味這一類(lèi)特征屬性對(duì)即時(shí)缺陷預(yù)測(cè)模型預(yù)測(cè)輸出的貢獻(xiàn)度排序是否不同,考慮到每個(gè)項(xiàng)目中的測(cè)試異味的分布情況可能不同,所以本文對(duì)每個(gè)項(xiàng)目中的測(cè)試異味的分布情況進(jìn)行了統(tǒng)計(jì),結(jié)果如表7所示.

    表7 各項(xiàng)目提交記錄中的測(cè)試異味分布Table 7 Distribution of test smells in the commits of systems

    其中每個(gè)項(xiàng)目中都會(huì)出現(xiàn)分布極其稀疏的測(cè)試異味種類(lèi),因?yàn)檫^(guò)分稀疏的數(shù)據(jù)對(duì)模型的影響很小,且可能對(duì)模型的性能造成影響,本次實(shí)驗(yàn)直接刪除分布占比低于5%的特征屬性.例如ST在項(xiàng)目Crate中的分布占比僅為2.7%,對(duì)模型的貢獻(xiàn)率很小,所以在Crate這一項(xiàng)目的實(shí)驗(yàn)中,刪除了ST這一特征屬性.

    經(jīng)過(guò)數(shù)據(jù)處理和實(shí)驗(yàn)后,各項(xiàng)目中特征屬性的貢獻(xiàn)度排序如圖4-圖8所示.

    圖4 Apache wicket的SAHP散點(diǎn)圖Fig.4 SHAP scatter plots of wicket

    圖5 Apache tomcat的SAHP散點(diǎn)圖Fig.5 SHAP scatter plots of tomcat

    圖6 Hibernate-validator的SAHP散點(diǎn)圖Fig.6 SHAP scatter plots of Hibernate-validator

    圖7 Crate的SAHP散點(diǎn)圖Fig.7 SHAP scatter plots of Crate

    圖8 Apache cassandra的SAHP散點(diǎn)圖Fig.8 SHAP scatter plots of cassandra

    可以看到,不同的系統(tǒng)中,不同的特征屬性對(duì)模型預(yù)測(cè)結(jié)果的影響也是不同的.

    對(duì)于系統(tǒng)Apache wicket,LD,NF,Entropy,EXP這4個(gè)特征屬性對(duì)模型預(yù)測(cè)一條提交記錄是否含有缺陷的影響是最大的,排在前4位.但是,當(dāng)一條提交記錄中刪減的代碼行數(shù)(LD)或者變更的文件數(shù)(NF)過(guò)多時(shí),LD和NF這兩個(gè)特征屬性對(duì)預(yù)測(cè)這條提交記錄是否含有缺陷的影響更大.同樣,對(duì)那些涉及了具有很長(zhǎng)開(kāi)發(fā)經(jīng)歷的開(kāi)發(fā)人員(EXP)的提交記錄來(lái)說(shuō),EXP對(duì)預(yù)測(cè)這條提交記錄是否含有缺陷的影響要大于代碼信息增益(Entropy).而對(duì)于這個(gè)系統(tǒng)中存在的測(cè)試異味,可以從圖4中看出,當(dāng)UT的存在數(shù)量較多時(shí),UT對(duì)模型預(yù)測(cè)該條提交記錄是否含有缺陷的影響比變更的文件數(shù)量(NF)的影響要大.同樣的,當(dāng)LT這種測(cè)試異味的存在數(shù)量較多時(shí),LT對(duì)模型預(yù)測(cè)該條提交記錄是否含有缺陷的影響比文件上一次涉及的變更數(shù)(NUC)要大.

    對(duì)于系統(tǒng)Apache Tomcat,提交記錄中變更子系統(tǒng)數(shù)(NS)這一特征屬性對(duì)模型預(yù)測(cè)結(jié)果的總體影響要比UT這一測(cè)試異味的影響大,但是對(duì)于少數(shù)包含大量UT的提交記錄來(lái)說(shuō),UT對(duì)于模型預(yù)測(cè)結(jié)果的影響更大.

    對(duì)于系統(tǒng)Hibernate-validator,提交記錄中文件的平均變更時(shí)間間隔(AGE)這一特征屬性對(duì)模型預(yù)測(cè)結(jié)果的影響總體上要大于MNT和ECT這兩種測(cè)試異味,但是對(duì)于具有較多的MNT和ECT分布的提交記錄來(lái)說(shuō),MNT和ECT對(duì)模型的預(yù)測(cè)輸出影響更大.

    對(duì)于系統(tǒng)Crate,提交記錄中文件上一次涉及的變更數(shù)(NUC)這一特征屬性對(duì)模型預(yù)測(cè)結(jié)果的總體影響要比DA這一測(cè)試異味的影響大,但是對(duì)于少數(shù)包含大量DA的提交記錄來(lái)說(shuō),DA對(duì)于模型預(yù)測(cè)結(jié)果的影響更大.

    對(duì)于系統(tǒng)Apache Cassandra,雖然測(cè)試異味這一角度的幾種特征屬性在對(duì)模型預(yù)測(cè)輸出的貢獻(xiàn)度排在最后幾位,但是當(dāng)這幾種測(cè)試異味的分布密度較高時(shí),它們對(duì)模型的預(yù)測(cè)輸出的影響要大于排在他們之前的提交記錄涉及的代碼變更行數(shù)(LT),提交記錄中代碼的對(duì)象類(lèi)之間的耦合度(CBO)以及提交記錄涉及的變更子系統(tǒng)數(shù)(NS)這3個(gè)特征屬性.

    根據(jù)對(duì)這5個(gè)系統(tǒng)實(shí)驗(yàn)結(jié)果的分析,再一次證實(shí)了測(cè)試異味對(duì)即時(shí)缺陷預(yù)測(cè)模型的預(yù)測(cè)輸出的影響是不可忽略的,對(duì)于那些測(cè)試異味分布密度較高的系統(tǒng)來(lái)說(shuō),測(cè)試異味對(duì)缺陷預(yù)測(cè)的貢獻(xiàn)度要比傳統(tǒng)的代碼度量和過(guò)程度量更大.因此,開(kāi)發(fā)人員在對(duì)軟件可能存在的缺陷進(jìn)行判斷預(yù)測(cè)時(shí),應(yīng)對(duì)常見(jiàn)的測(cè)試異味類(lèi)型給予一定的關(guān)注,當(dāng)發(fā)現(xiàn)某些測(cè)試異味的分布密度較高時(shí),在判斷其關(guān)聯(lián)的生產(chǎn)代碼是否存在缺陷時(shí),將測(cè)試異味加入到缺陷預(yù)測(cè)的模型中,對(duì)提高模型性能是有一定幫助的.

    5 有效性威脅分析

    5.1 外部有效性分析

    首先,本次實(shí)驗(yàn)只在5個(gè)項(xiàng)目上進(jìn)行了實(shí)驗(yàn)研究,這使得本次實(shí)驗(yàn)構(gòu)建的即時(shí)缺陷預(yù)測(cè)模型的穩(wěn)定性有待進(jìn)一步的擴(kuò)展實(shí)驗(yàn)研究.其次是本次實(shí)驗(yàn)由于實(shí)驗(yàn)工具都是基于Java語(yǔ)言開(kāi)發(fā)的,這使得實(shí)驗(yàn)研究的對(duì)象也限制在了基于Java語(yǔ)言開(kāi)發(fā)設(shè)計(jì)的開(kāi)源系統(tǒng),這使得本次實(shí)驗(yàn)構(gòu)建的模型對(duì)于其他編程語(yǔ)言開(kāi)發(fā)設(shè)計(jì)的項(xiàng)目的有效性有待進(jìn)一步研究討論.

    5.2 內(nèi)部有效性分析

    本次實(shí)驗(yàn)研究中的數(shù)據(jù)都是通過(guò)相關(guān)的工具獲取的,測(cè)試異味是通過(guò)tsDetect[41]這一開(kāi)源工具捕獲的,代碼度量則是通過(guò)CK[22]計(jì)算得到的,而過(guò)程度量以及提交記錄是否包含缺陷則是通過(guò)Commit Guru[42]獲得的,雖然這些工具的性能都經(jīng)過(guò)人工驗(yàn)證,但與實(shí)際情況相比還是會(huì)存在一定程度的誤差,使得本次的實(shí)驗(yàn)數(shù)據(jù)會(huì)存在一定的錯(cuò)漏,這會(huì)對(duì)本次實(shí)驗(yàn)構(gòu)建的模型的性能造成一定的影響.

    6 總結(jié)與展望

    本次實(shí)驗(yàn)在5個(gè)項(xiàng)目上,實(shí)驗(yàn)并對(duì)比了新模型與舊模型的性能,以探究測(cè)試異味對(duì)即時(shí)缺陷預(yù)測(cè)模型的有效性和差異性,以及跨項(xiàng)目后測(cè)試異味對(duì)缺陷預(yù)測(cè)的貢獻(xiàn)度是否存在差別.實(shí)驗(yàn)結(jié)果顯示,加入測(cè)試異味后,模型的AUC_ROC值提升了2.5%-6.7%,精度提高1.4%-3.9%,召回率提高0.8%-4%,F(xiàn)1值提高2.3%-4.6%,這表明測(cè)試異味對(duì)提高即時(shí)缺陷預(yù)測(cè)模型的性能是有效的.根據(jù)可加性解釋模型SHAP[13]分析的各特征屬性對(duì)模型預(yù)測(cè)輸出的貢獻(xiàn)度的排序,貢獻(xiàn)度排在前20位的特征屬性中有6種測(cè)試異味,分別為ECT,UT,AR,GF,MNT,ET,其中ECT對(duì)模型輸出貢獻(xiàn)度排在第9位,而ET則排在第20位,這表明不同測(cè)試異味對(duì)缺陷預(yù)測(cè)的貢獻(xiàn)度是有差別.同時(shí),不同的系統(tǒng)中的測(cè)試異味對(duì)模型預(yù)測(cè)輸出的貢獻(xiàn)度排序也存在較大差異,例如,系統(tǒng) Apache wicket中,UT和LT的貢獻(xiàn)度排在了第5和第10位,而在系統(tǒng)Apache tomcat中,UT和LT的貢獻(xiàn)度則排在了第18和第19位.

    對(duì)于未來(lái)的工作,首先可以考慮將實(shí)驗(yàn)的項(xiàng)目數(shù)量增加并且將范圍擴(kuò)展到工業(yè)以及其他不同類(lèi)別的系統(tǒng),以探究測(cè)試異味對(duì)即時(shí)缺陷預(yù)測(cè)模型有效性的普遍適用性.其次,本次實(shí)驗(yàn)是在提交這一級(jí)別上進(jìn)行的,之后將考慮在不同的粒度上開(kāi)展實(shí)驗(yàn)探究,如文件或者類(lèi)一級(jí)別.最后,針對(duì)模型性能提高這一問(wèn)題,將會(huì)考慮將人工智能AI加入到未來(lái)的實(shí)驗(yàn)當(dāng)中.

    猜你喜歡
    對(duì)模型異味度量
    有趣的度量
    模糊度量空間的強(qiáng)嵌入
    光源對(duì)模型貼圖的影響——3種人造光源在三維數(shù)字化采集中的應(yīng)用
    廣州文博(2020年0期)2020-06-09 05:15:44
    迷向表示分為6個(gè)不可約直和的旗流形上不變愛(ài)因斯坦度量
    基于4G技術(shù)的VOCs及異味檢測(cè)系統(tǒng)
    用這些告別異味吧!夏天就要清清爽爽過(guò)!
    PIC-408系列采用育種技術(shù)控制公豬異味
    蒙藥特潤(rùn)舒都樂(lè)對(duì)模型小鼠脾臟NK細(xì)胞活性的影響
    蒙醫(yī)開(kāi)竅補(bǔ)腎針刺法對(duì)模型大鼠胸腺、脾臟指數(shù)的影響
    蒙醫(yī)催熟療法對(duì)模型大鼠炎癥因子影響的實(shí)驗(yàn)研究
    88av欧美| 在线观看一区二区三区| 国产黄色小视频在线观看| 男人和女人高潮做爰伦理| 国产精品伦人一区二区| 天天一区二区日本电影三级| 午夜影院日韩av| 国产av不卡久久| 亚洲欧美清纯卡通| 又爽又黄a免费视频| 又黄又爽又免费观看的视频| 3wmmmm亚洲av在线观看| 俄罗斯特黄特色一大片| 国产中年淑女户外野战色| 亚洲精品乱码久久久v下载方式| 伦精品一区二区三区| 男女啪啪激烈高潮av片| 91久久精品国产一区二区三区| 久久久国产成人免费| 国产综合懂色| 亚洲第一区二区三区不卡| www.色视频.com| 观看美女的网站| 国内精品久久久久久久电影| 欧美日韩国产亚洲二区| 午夜影院日韩av| 欧美一区二区国产精品久久精品| 成年女人永久免费观看视频| 国产av不卡久久| 哪里可以看免费的av片| 国产精品国产三级国产av玫瑰| 日本五十路高清| 国产真实伦视频高清在线观看 | 老女人水多毛片| 国产白丝娇喘喷水9色精品| 美女免费视频网站| 日韩av在线大香蕉| 久久精品国产鲁丝片午夜精品 | 亚洲内射少妇av| 日韩欧美一区二区三区在线观看| 村上凉子中文字幕在线| 国产白丝娇喘喷水9色精品| 99国产极品粉嫩在线观看| 久久久久久九九精品二区国产| 国产一区二区在线观看日韩| 欧美性感艳星| 午夜免费激情av| 久久亚洲真实| 一区二区三区免费毛片| 亚洲国产色片| 一级av片app| 国产精品野战在线观看| 搡老熟女国产l中国老女人| 国产精品亚洲美女久久久| 亚洲av美国av| 高清日韩中文字幕在线| 久久精品国产自在天天线| 国产精品无大码| eeuss影院久久| 国产欧美日韩精品亚洲av| 免费大片18禁| 久久久精品欧美日韩精品| 美女xxoo啪啪120秒动态图| 成人特级av手机在线观看| 国产黄a三级三级三级人| 婷婷六月久久综合丁香| 97人妻精品一区二区三区麻豆| 成人国产麻豆网| 成人国产麻豆网| 国产成年人精品一区二区| 免费高清视频大片| 国国产精品蜜臀av免费| 深爱激情五月婷婷| 久久6这里有精品| 18禁裸乳无遮挡免费网站照片| bbb黄色大片| 欧美色欧美亚洲另类二区| 欧美成人免费av一区二区三区| 国产精品永久免费网站| 大又大粗又爽又黄少妇毛片口| 国产伦在线观看视频一区| 国产精品久久久久久久电影| 身体一侧抽搐| 波多野结衣高清无吗| 大型黄色视频在线免费观看| 黄片wwwwww| 久久精品夜夜夜夜夜久久蜜豆| 久久久午夜欧美精品| 国产一区二区在线观看日韩| 国产男人的电影天堂91| а√天堂www在线а√下载| 在现免费观看毛片| 亚洲人与动物交配视频| 99riav亚洲国产免费| 久久久久久大精品| 亚洲综合色惰| 一a级毛片在线观看| 我的女老师完整版在线观看| 久久久久久大精品| 久久天躁狠狠躁夜夜2o2o| 午夜免费激情av| 欧美色欧美亚洲另类二区| 国产av一区在线观看免费| 日日夜夜操网爽| 少妇高潮的动态图| ponron亚洲| 色噜噜av男人的天堂激情| 国产欧美日韩精品亚洲av| 99久久无色码亚洲精品果冻| 久99久视频精品免费| 欧美中文日本在线观看视频| 亚洲人成伊人成综合网2020| 91精品国产九色| 欧美3d第一页| 在线免费观看不下载黄p国产 | 欧美区成人在线视频| 99久久中文字幕三级久久日本| 免费观看的影片在线观看| 亚洲av电影不卡..在线观看| 99热精品在线国产| 免费一级毛片在线播放高清视频| 日日摸夜夜添夜夜添小说| 久久草成人影院| 成熟少妇高潮喷水视频| 国产综合懂色| 免费观看精品视频网站| 国产色婷婷99| 欧美国产日韩亚洲一区| 中文字幕免费在线视频6| 欧美中文日本在线观看视频| 91精品国产九色| 极品教师在线免费播放| 亚洲七黄色美女视频| 欧美成人一区二区免费高清观看| 亚洲欧美日韩卡通动漫| 欧美zozozo另类| 久久午夜福利片| 在线免费十八禁| 可以在线观看的亚洲视频| 久久99热6这里只有精品| 中出人妻视频一区二区| 国产高清三级在线| 内射极品少妇av片p| 22中文网久久字幕| 99热网站在线观看| 国产淫片久久久久久久久| 亚洲av中文字字幕乱码综合| 日日啪夜夜撸| 欧美黑人欧美精品刺激| 免费高清视频大片| 亚洲性夜色夜夜综合| 国产精品精品国产色婷婷| 日本免费a在线| 亚洲精品久久国产高清桃花| 久久久久性生活片| 乱码一卡2卡4卡精品| 色综合色国产| 免费看a级黄色片| 亚洲av熟女| 级片在线观看| 久久精品国产亚洲网站| 欧美区成人在线视频| 亚洲精品粉嫩美女一区| 禁无遮挡网站| 久久精品国产鲁丝片午夜精品 | 亚洲综合色惰| 男女之事视频高清在线观看| 久久久国产成人免费| 精品久久久久久成人av| 中文资源天堂在线| 成人av一区二区三区在线看| 国产高清视频在线观看网站| 一级黄片播放器| 亚洲va日本ⅴa欧美va伊人久久| 日韩国内少妇激情av| 日韩大尺度精品在线看网址| 日韩,欧美,国产一区二区三区 | a级毛片a级免费在线| 成人二区视频| 亚洲成人免费电影在线观看| 久久久精品欧美日韩精品| 99热这里只有精品一区| 久久精品人妻少妇| 日韩欧美精品免费久久| 特级一级黄色大片| 免费av毛片视频| 美女 人体艺术 gogo| 黄色一级大片看看| 丰满乱子伦码专区| 国产aⅴ精品一区二区三区波| 亚洲专区中文字幕在线| 一区二区三区免费毛片| 欧美绝顶高潮抽搐喷水| 国产精品日韩av在线免费观看| 老司机午夜福利在线观看视频| 动漫黄色视频在线观看| 校园人妻丝袜中文字幕| 99热这里只有是精品50| 色噜噜av男人的天堂激情| 久9热在线精品视频| 欧美精品啪啪一区二区三区| 国产精品三级大全| 中文在线观看免费www的网站| 亚洲专区中文字幕在线| 男人的好看免费观看在线视频| 中国美白少妇内射xxxbb| 亚洲综合色惰| 97超级碰碰碰精品色视频在线观看| 国产乱人伦免费视频| 国产一区二区激情短视频| 婷婷丁香在线五月| 两个人的视频大全免费| 欧美黑人巨大hd| 99久久精品一区二区三区| 精品久久久久久,| 国产亚洲精品久久久com| av在线亚洲专区| 精品乱码久久久久久99久播| 中文字幕免费在线视频6| 日本黄大片高清| 日本爱情动作片www.在线观看 | 日韩欧美 国产精品| 一区二区三区四区激情视频 | 欧美国产日韩亚洲一区| 精品人妻视频免费看| 春色校园在线视频观看| 两性午夜刺激爽爽歪歪视频在线观看| 亚洲精品粉嫩美女一区| 亚洲人成网站高清观看| 国产免费av片在线观看野外av| 在线免费观看不下载黄p国产 | 午夜激情福利司机影院| 亚洲中文字幕一区二区三区有码在线看| 一级毛片久久久久久久久女| 啦啦啦观看免费观看视频高清| 国产不卡一卡二| 久99久视频精品免费| 亚洲经典国产精华液单| 国产精品自产拍在线观看55亚洲| 真实男女啪啪啪动态图| 国产高清激情床上av| 在线免费观看不下载黄p国产 | 韩国av在线不卡| 精品不卡国产一区二区三区| 久久6这里有精品| 午夜视频国产福利| www.色视频.com| 欧美丝袜亚洲另类 | 1024手机看黄色片| 国产乱人伦免费视频| 狂野欧美激情性xxxx在线观看| 天堂影院成人在线观看| 欧美bdsm另类| 国内精品久久久久久久电影| ponron亚洲| 国模一区二区三区四区视频| 国产成人一区二区在线| 国产国拍精品亚洲av在线观看| 欧美日韩亚洲国产一区二区在线观看| 无遮挡黄片免费观看| 久久久国产成人免费| 变态另类成人亚洲欧美熟女| 少妇裸体淫交视频免费看高清| 国产探花在线观看一区二区| 88av欧美| 亚洲精品乱码久久久v下载方式| 日日啪夜夜撸| 日韩 亚洲 欧美在线| 国产精品1区2区在线观看.| 国产一区二区激情短视频| 天堂影院成人在线观看| 国产蜜桃级精品一区二区三区| 成人鲁丝片一二三区免费| 悠悠久久av| 男女视频在线观看网站免费| 国产伦在线观看视频一区| 天堂√8在线中文| 久久精品国产鲁丝片午夜精品 | 午夜久久久久精精品| 亚洲美女黄片视频| 麻豆国产av国片精品| 黄色配什么色好看| 亚洲精品国产成人久久av| 国产成人a区在线观看| 亚洲精品成人久久久久久| 熟女人妻精品中文字幕| 成年女人看的毛片在线观看| 中国美女看黄片| 尾随美女入室| 欧美性猛交╳xxx乱大交人| 啦啦啦观看免费观看视频高清| 久久99热这里只有精品18| 久久99热6这里只有精品| 国产精品久久久久久久电影| 亚洲精品影视一区二区三区av| 熟妇人妻久久中文字幕3abv| a级毛片a级免费在线| 精品久久久噜噜| 少妇丰满av| 亚洲一区高清亚洲精品| 日本五十路高清| 乱系列少妇在线播放| 中文亚洲av片在线观看爽| 淫秽高清视频在线观看| 小蜜桃在线观看免费完整版高清| 国国产精品蜜臀av免费| 成人综合一区亚洲| 亚洲av成人av| 国产又黄又爽又无遮挡在线| 国产精品一及| 亚洲人成网站在线播| 日韩欧美精品v在线| x7x7x7水蜜桃| 此物有八面人人有两片| 18禁黄网站禁片午夜丰满| 国内精品美女久久久久久| 在线观看午夜福利视频| 国产精品亚洲一级av第二区| 日韩欧美精品免费久久| 99视频精品全部免费 在线| 亚洲欧美日韩卡通动漫| 成人国产综合亚洲| av视频在线观看入口| 中国美白少妇内射xxxbb| 欧美一区二区国产精品久久精品| 可以在线观看毛片的网站| 亚洲自偷自拍三级| 国产aⅴ精品一区二区三区波| 五月伊人婷婷丁香| 一卡2卡三卡四卡精品乱码亚洲| 亚洲自拍偷在线| 久久久久性生活片| 国产三级在线视频| 非洲黑人性xxxx精品又粗又长| 一进一出抽搐gif免费好疼| 欧美成人一区二区免费高清观看| 波野结衣二区三区在线| 一边摸一边抽搐一进一小说| 免费看光身美女| 偷拍熟女少妇极品色| 日日摸夜夜添夜夜添小说| 亚洲18禁久久av| 男女那种视频在线观看| 国产免费av片在线观看野外av| 老司机福利观看| 日本色播在线视频| 99久国产av精品| av天堂在线播放| 亚洲人与动物交配视频| 99国产极品粉嫩在线观看| 午夜激情欧美在线| 国产乱人视频| 少妇人妻精品综合一区二区 | 啦啦啦观看免费观看视频高清| 99久久中文字幕三级久久日本| 国产av一区在线观看免费| 男女做爰动态图高潮gif福利片| 亚洲欧美精品综合久久99| 美女免费视频网站| 国产精品久久电影中文字幕| 午夜a级毛片| 精品午夜福利视频在线观看一区| 一区福利在线观看| 久久久久精品国产欧美久久久| 国产免费av片在线观看野外av| 色尼玛亚洲综合影院| 久久这里只有精品中国| 久久久久精品国产欧美久久久| 日韩欧美一区二区三区在线观看| 尤物成人国产欧美一区二区三区| 精品乱码久久久久久99久播| 啦啦啦观看免费观看视频高清| 天堂动漫精品| 天堂av国产一区二区熟女人妻| 变态另类丝袜制服| 国产激情偷乱视频一区二区| 国产精品自产拍在线观看55亚洲| 久久精品国产亚洲av涩爱 | 久久久久久国产a免费观看| 中文字幕久久专区| 变态另类丝袜制服| 亚洲精华国产精华液的使用体验 | 九色成人免费人妻av| 天堂网av新在线| 长腿黑丝高跟| 人人妻人人看人人澡| 亚洲狠狠婷婷综合久久图片| 日日摸夜夜添夜夜添av毛片 | 免费看光身美女| 狠狠狠狠99中文字幕| 黄色一级大片看看| 久久久久国内视频| av在线蜜桃| 99在线视频只有这里精品首页| 成人毛片a级毛片在线播放| 久9热在线精品视频| 91久久精品电影网| 在线免费观看不下载黄p国产 | 又爽又黄a免费视频| 美女黄网站色视频| 成人欧美大片| 美女xxoo啪啪120秒动态图| 搞女人的毛片| 嫩草影院入口| 日韩中文字幕欧美一区二区| 好男人在线观看高清免费视频| 免费在线观看影片大全网站| 国产精品美女特级片免费视频播放器| 人人妻,人人澡人人爽秒播| 啦啦啦啦在线视频资源| 少妇丰满av| 久久久久久久久久久丰满 | 一卡2卡三卡四卡精品乱码亚洲| 搡女人真爽免费视频火全软件 | 午夜日韩欧美国产| 亚洲熟妇熟女久久| 中文在线观看免费www的网站| 午夜福利欧美成人| 久久久久精品国产欧美久久久| 日韩欧美三级三区| av专区在线播放| 久久人人爽人人爽人人片va| 亚洲精品乱码久久久v下载方式| 亚洲美女黄片视频| 亚洲不卡免费看| 91av网一区二区| 三级毛片av免费| 久久热精品热| 国产亚洲欧美98| 3wmmmm亚洲av在线观看| 亚洲天堂国产精品一区在线| 精品久久久久久久久av| netflix在线观看网站| 18禁在线播放成人免费| 亚洲色图av天堂| 高清毛片免费观看视频网站| 在线观看av片永久免费下载| 桃色一区二区三区在线观看| 少妇人妻一区二区三区视频| 欧洲精品卡2卡3卡4卡5卡区| 日韩欧美三级三区| 看黄色毛片网站| 偷拍熟女少妇极品色| 黄色配什么色好看| 男插女下体视频免费在线播放| 精品一区二区三区人妻视频| 韩国av在线不卡| 美女大奶头视频| 久久久久久久久久久丰满 | 亚洲av不卡在线观看| 国产精品久久久久久精品电影| 老女人水多毛片| 精品久久久久久久久av| 熟妇人妻久久中文字幕3abv| 日韩欧美精品免费久久| av在线蜜桃| 在线看三级毛片| 国产 一区精品| 亚洲男人的天堂狠狠| 国产精品免费一区二区三区在线| 成人精品一区二区免费| 岛国在线免费视频观看| 国产国拍精品亚洲av在线观看| 国产av麻豆久久久久久久| 偷拍熟女少妇极品色| 免费无遮挡裸体视频| 禁无遮挡网站| 国产av在哪里看| 精品99又大又爽又粗少妇毛片 | 亚洲国产日韩欧美精品在线观看| 欧美激情在线99| 一区二区三区激情视频| 一级黄片播放器| eeuss影院久久| 老女人水多毛片| 久久精品综合一区二区三区| 亚洲va日本ⅴa欧美va伊人久久| 亚洲精品久久国产高清桃花| 男女啪啪激烈高潮av片| 欧美日韩亚洲国产一区二区在线观看| 亚洲自偷自拍三级| 色5月婷婷丁香| 亚洲精华国产精华精| 1000部很黄的大片| 一级av片app| 亚洲av.av天堂| 精品久久久久久久人妻蜜臀av| 国产精品女同一区二区软件 | 精品欧美国产一区二区三| 97碰自拍视频| 欧美高清性xxxxhd video| 久久久久久久久久黄片| 天堂动漫精品| 亚洲无线观看免费| 最后的刺客免费高清国语| 日韩人妻高清精品专区| 亚洲人成网站在线播| 国产精品一区二区三区四区久久| 中文资源天堂在线| 97热精品久久久久久| 男女啪啪激烈高潮av片| 国产精品久久电影中文字幕| 亚洲内射少妇av| 日韩国内少妇激情av| 男插女下体视频免费在线播放| 成人国产一区最新在线观看| 欧美日韩亚洲国产一区二区在线观看| 久久精品影院6| 国产探花极品一区二区| 性色avwww在线观看| 波多野结衣高清无吗| 蜜桃久久精品国产亚洲av| 少妇的逼好多水| 天天一区二区日本电影三级| 一本一本综合久久| 亚洲乱码一区二区免费版| 别揉我奶头 嗯啊视频| 精品久久国产蜜桃| 色综合色国产| 久久久国产成人免费| 美女免费视频网站| 国产色婷婷99| 最近视频中文字幕2019在线8| 中文资源天堂在线| 一夜夜www| 欧美不卡视频在线免费观看| 国产精品久久视频播放| 欧美日韩综合久久久久久 | 亚洲图色成人| 国产私拍福利视频在线观看| 真实男女啪啪啪动态图| 99在线人妻在线中文字幕| 日日夜夜操网爽| 91久久精品国产一区二区三区| 国产亚洲精品综合一区在线观看| 超碰av人人做人人爽久久| 欧美绝顶高潮抽搐喷水| 日韩av在线大香蕉| 麻豆成人av在线观看| 性色avwww在线观看| 成年女人看的毛片在线观看| 国产真实乱freesex| 亚洲 国产 在线| xxxwww97欧美| 五月伊人婷婷丁香| 日本在线视频免费播放| 精品乱码久久久久久99久播| 大又大粗又爽又黄少妇毛片口| 男女边吃奶边做爰视频| 在线国产一区二区在线| 午夜亚洲福利在线播放| 日韩,欧美,国产一区二区三区 | 校园春色视频在线观看| 丰满的人妻完整版| 亚洲在线观看片| 成年女人永久免费观看视频| 中文资源天堂在线| 一区二区三区四区激情视频 | 亚洲,欧美,日韩| 国内精品宾馆在线| 日本色播在线视频| 啦啦啦韩国在线观看视频| 丝袜美腿在线中文| 国产乱人视频| av黄色大香蕉| 亚洲av一区综合| 国内精品美女久久久久久| 婷婷丁香在线五月| 亚洲国产欧美人成| 三级男女做爰猛烈吃奶摸视频| 在线看三级毛片| 精品乱码久久久久久99久播| 伊人久久精品亚洲午夜| av女优亚洲男人天堂| 亚洲欧美日韩无卡精品| 免费在线观看日本一区| 一个人观看的视频www高清免费观看| 久久精品人妻少妇| 国产在视频线在精品| 超碰av人人做人人爽久久| 不卡一级毛片| 精品日产1卡2卡| 久久精品综合一区二区三区| 精品不卡国产一区二区三区| 欧美3d第一页| 亚洲熟妇熟女久久| 黄色日韩在线| 成年免费大片在线观看| 亚洲熟妇中文字幕五十中出| 免费无遮挡裸体视频| 韩国av在线不卡| 亚洲av免费在线观看| 国内精品一区二区在线观看| bbb黄色大片| 国产私拍福利视频在线观看| 两性午夜刺激爽爽歪歪视频在线观看| 简卡轻食公司| 免费av毛片视频| 搞女人的毛片| 熟女人妻精品中文字幕| 免费av毛片视频| 内射极品少妇av片p| 简卡轻食公司| 久久久久久伊人网av| 老司机深夜福利视频在线观看| 人妻少妇偷人精品九色| 亚洲综合色惰| 免费看光身美女| 国产麻豆成人av免费视频| 国产私拍福利视频在线观看| 亚洲va日本ⅴa欧美va伊人久久| 一进一出抽搐动态| 丰满人妻一区二区三区视频av| 亚洲国产精品合色在线| 国内精品久久久久久久电影|