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

    基于大數(shù)據(jù)的開源項(xiàng)目缺陷報(bào)告智能預(yù)檢技術(shù)

    2021-01-21 04:29:58席圣渠徐鋒陳鑫李宣東
    大數(shù)據(jù) 2021年1期
    關(guān)鍵詞:報(bào)告特征文本

    席圣渠,徐鋒,陳鑫,李宣東

    1. 南京大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系,江蘇 南京 210023;2. 計(jì)算機(jī)軟件新技術(shù)國家重點(diǎn)實(shí)驗(yàn)室(南京大學(xué)),江蘇 南京 210023

    1 引言

    在軟件開發(fā)過程中,軟件測試與缺陷修復(fù)往往會占據(jù)軟件總開發(fā)成本的三分之一以上[1]。為了更有效地管理缺陷,軟件項(xiàng)目中普遍使用缺陷報(bào)告進(jìn)行系統(tǒng)的記錄和追蹤。當(dāng)缺陷報(bào)告被確認(rèn)為新缺陷時(shí),項(xiàng)目管理者首先會進(jìn)行缺陷報(bào)告預(yù)檢(以下簡稱缺陷預(yù)檢),對缺陷報(bào)告進(jìn)行預(yù)評估,以確定缺陷的優(yōu)先等級、委派相關(guān)責(zé)任開發(fā)者進(jìn)行修復(fù),并在責(zé)任開發(fā)者無法按時(shí)完成修復(fù)時(shí)委派新的責(zé)任開發(fā)者,即缺陷再分派。缺陷預(yù)檢位于缺陷報(bào)告生命周期的起點(diǎn),良好的缺陷預(yù)檢能極大地提高軟件維護(hù)的效率與質(zhì)量,是保障軟件可信性的關(guān)鍵環(huán)節(jié)。

    傳統(tǒng)意義上,缺陷預(yù)檢由項(xiàng)目管理者人工完成。然而,隨著軟件項(xiàng)目的不斷擴(kuò)大,缺陷的數(shù)量與日俱增,繁雜而耗時(shí)的缺陷預(yù)檢給管理者帶來了很大負(fù)擔(dān)。對于快速發(fā)展,數(shù)量、種類、涵蓋范圍不斷增大的開源軟件項(xiàng)目而言,此類問題更是如此。由于開源項(xiàng)目開發(fā)者自由加入、流動性大、組織松散等特點(diǎn),開源項(xiàng)目往往存在缺陷數(shù)量多、預(yù)檢不及時(shí)、分派難度大等問題。據(jù)統(tǒng)計(jì),截至2009年8月,開源項(xiàng)目Eclipse已收錄超過25萬份缺陷報(bào)告,開源項(xiàng)目Mozilla已收錄超過50萬份缺陷報(bào)告。平均而言,前者平均每天收到120份新缺陷報(bào)告,后者則有170份之多[2]。此外,提交到Eclipse項(xiàng)目的新缺陷報(bào)告平均需要16.7天才會得到項(xiàng)目管理團(tuán)隊(duì)的首次操作[3]。由此可見,在開源項(xiàng)目中,由于缺陷數(shù)量眾多、組織管理松散、開發(fā)者自由加入且水平高低不一的特點(diǎn),缺陷預(yù)檢容易出現(xiàn)繁雜性、困難性、滯后性,因而需要自動化、智能化的方法輔助開源項(xiàng)目管理者進(jìn)行缺陷預(yù)檢,以保障開源軟件的可信性,進(jìn)而促進(jìn)開源軟件生態(tài)的良性發(fā)展。

    另外,經(jīng)過數(shù)十年積累,開源軟件生態(tài)已經(jīng)儲備了大量與軟件開發(fā)相關(guān)的數(shù)據(jù),尤其是高質(zhì)量的已修復(fù)缺陷報(bào)告,為自動化、智能化缺陷預(yù)檢提供了先決條件??赏ㄟ^數(shù)據(jù)挖掘、信息檢索等方法,從大規(guī)模的已修復(fù)缺陷報(bào)告中學(xué)習(xí)相關(guān)的缺陷預(yù)檢經(jīng)驗(yàn)知識,用于輔助解決開源項(xiàng)目缺陷數(shù)量多、預(yù)檢不及時(shí)、分派難度大的問題,從而提高開源項(xiàng)目軟件維護(hù)的效率與質(zhì)量,進(jìn)而保障開源軟件的可信性。軟件項(xiàng)目從業(yè)者(管理者、開發(fā)者、測試者)普遍認(rèn)可自動缺陷報(bào)告管理技術(shù)的積極作用[4]。具體到缺陷預(yù)檢技術(shù),可以利用已修復(fù)缺陷報(bào)告數(shù)據(jù)設(shè)計(jì)并訓(xùn)練相應(yīng)機(jī)器學(xué)習(xí)模型,用于缺陷報(bào)告的優(yōu)先級分類、為缺陷報(bào)告分派責(zé)任開發(fā)者,并在責(zé)任開發(fā)者無法及時(shí)完成修復(fù)任務(wù)時(shí),推薦新的責(zé)任開發(fā)者。

    上述基于軟件大數(shù)據(jù)的智能化缺陷預(yù)檢技術(shù)已成為當(dāng)前的研究熱點(diǎn)[3-31],然而,當(dāng)前研究的主要關(guān)注點(diǎn)在于如何利用新的機(jī)器學(xué)習(xí)模型與方法、特征提取技術(shù),或?qū)で蟾嗟臄?shù)據(jù)特征,以取得在測試數(shù)據(jù)集上的準(zhǔn)確率的提升。當(dāng)前技術(shù)較少考慮開源項(xiàng)目的特點(diǎn),難以滿足開源項(xiàng)目缺陷預(yù)檢的需求。

    為此,本文首先根據(jù)開源項(xiàng)目的特點(diǎn),歸納了缺陷預(yù)檢的3個(gè)關(guān)鍵任務(wù)及其挑戰(zhàn),并提出一套完整的自動化缺陷預(yù)檢框架與技術(shù)。

    2 開源項(xiàng)目缺陷預(yù)檢的關(guān)鍵任務(wù)與挑戰(zhàn)

    軟件缺陷管理一直是軟件維護(hù)實(shí)踐中的重要內(nèi)容,也是軟件工程研究的重點(diǎn)問題。從工業(yè)界和學(xué)術(shù)界的普遍認(rèn)知來看,缺陷預(yù)檢是缺陷報(bào)告生命周期(如圖1所示)的開端和重要環(huán)節(jié),缺陷預(yù)檢包含以下3個(gè)較為關(guān)鍵的任務(wù)。

    ● 缺陷優(yōu)先級分類:用于確定缺陷修復(fù)的優(yōu)先次序,對應(yīng)“新缺陷”向“已分派缺陷”轉(zhuǎn)換的過程,人工進(jìn)行缺陷優(yōu)先級分類往往要求缺陷報(bào)告管理者具有豐富的經(jīng)驗(yàn)和對軟件項(xiàng)目當(dāng)前目標(biāo)的充分理解,而錯(cuò)誤的優(yōu)先級分類將導(dǎo)致項(xiàng)目團(tuán)隊(duì)資源利用率的低下[5]。

    ● 缺陷分派:用于確定新缺陷報(bào)告的責(zé)任開發(fā)者,對應(yīng)的缺陷報(bào)告將被標(biāo)記為“已分派缺陷”,人工進(jìn)行缺陷分派往往要求缺陷報(bào)告管理者逐條閱讀缺陷報(bào)告,并將其與合適的開發(fā)者匹配,而錯(cuò)誤的缺陷分派會導(dǎo)致缺陷再分派,進(jìn)而延誤缺陷修復(fù)進(jìn)程[3]。

    圖1 缺陷報(bào)告生命周期

    ● 缺陷再分派:當(dāng)責(zé)任開發(fā)者無法修復(fù)缺陷時(shí),選擇新的責(zé)任開發(fā)者。對于已分派缺陷、歸檔缺陷,由于責(zé)任開發(fā)者能力不足、無法及時(shí)處理等原因,需要進(jìn)行缺陷再分派。不及時(shí)的缺陷再分派會影響缺陷修復(fù)效率,而開源項(xiàng)目中有接近40%的缺陷報(bào)告需要至少一次再分派[3]。

    開源項(xiàng)目組織管理松散、開發(fā)者可自由加入且水平高低不一等特點(diǎn)使得缺陷預(yù)檢中上述3個(gè)關(guān)鍵任務(wù)的自動化面臨挑戰(zhàn),具體如下。

    ● 缺陷優(yōu)先級分類方面。開源項(xiàng)目管理松散,缺乏專職的缺陷管理者,這使得開源項(xiàng)目中存在大量未分類的缺陷報(bào)告(其優(yōu)先級為默認(rèn)優(yōu)先級),導(dǎo)致從開源項(xiàng)目中獲得的訓(xùn)練數(shù)據(jù)的優(yōu)先級分布很不均衡,即默認(rèn)優(yōu)先級缺陷報(bào)告數(shù)量巨大,而其他優(yōu)先級類別的缺陷報(bào)告數(shù)量較少。若將其簡單建模為分類問題,則容易出現(xiàn)默認(rèn)優(yōu)先級分類預(yù)測準(zhǔn)確率較高,而真正影響項(xiàng)目團(tuán)隊(duì)資源分配的邊沿優(yōu)先級(edge priority),即較低或較高優(yōu)先級的分類預(yù)測準(zhǔn)確率低下的情況。因此,如何利用開源項(xiàng)目中的分類標(biāo)簽不平衡且存在大量噪聲的訓(xùn)練數(shù)據(jù)來提高邊沿優(yōu)先級的預(yù)測準(zhǔn)確率,成為缺陷優(yōu)先級分類任務(wù)面臨的主要挑戰(zhàn)。

    ● 缺陷分派方面。由于開源項(xiàng)目開發(fā)者可自由加入,大量開發(fā)者利用業(yè)余時(shí)間加入開源項(xiàng)目,不同開發(fā)者的參與意愿強(qiáng)弱存在差異,表現(xiàn)為投入項(xiàng)目的時(shí)間長短不一,活躍程度也有差別。若簡單地推薦能力與缺陷描述相近的開發(fā)者,容易出現(xiàn)開發(fā)者失效,即開發(fā)者長時(shí)間無響應(yīng),甚至開發(fā)者已經(jīng)離開項(xiàng)目的情況,嚴(yán)重時(shí)可影響缺陷修復(fù)流程[6],降低缺陷分派準(zhǔn)確率;相反,在存在多名能力相近的開發(fā)者時(shí),選擇參與意愿強(qiáng)、活躍程度高的開發(fā)者更符合現(xiàn)實(shí)場景需求。因此,如何動態(tài)地建模和評估開發(fā)者的參與意愿,并在能力相近的開發(fā)者中優(yōu)先推薦活躍程度高的開發(fā)者,以降低失效風(fēng)險(xiǎn)、提高缺陷分派準(zhǔn)確率,成為缺陷分派任務(wù)面臨的主要挑戰(zhàn)。

    ● 缺陷再分派方面。由于開源項(xiàng)目開發(fā)者水平高低不一,當(dāng)開發(fā)者因能力不足等原因無法修復(fù)缺陷時(shí),往往需要尋找經(jīng)驗(yàn)更豐富且原有責(zé)任開發(fā)者信賴的開發(fā)者,以完成缺陷的修復(fù)。若將問題簡化為缺陷分派,則缺乏對原有責(zé)任開發(fā)者無法修復(fù)缺陷這一反饋信息的利用,會降低缺陷再分派的準(zhǔn)確率。另外,用作訓(xùn)練的已修復(fù)缺陷報(bào)告中往往包含大量缺陷傳遞序列,即責(zé)任開發(fā)者變更的歷史記錄,其中隱含著開發(fā)者之間經(jīng)驗(yàn)與信賴的偏序關(guān)系,其為反饋信息的利用提供了可參照的經(jīng)驗(yàn)規(guī)律。因此,如何充分使用缺陷傳遞序列、挖掘其中隱含的開發(fā)者之間的經(jīng)驗(yàn)與信賴關(guān)系,以利用無法修復(fù)的反饋信息來提升缺陷再分派的準(zhǔn)確率,成為缺陷再分派任務(wù)面臨的主要挑戰(zhàn)。

    3 相關(guān)工作

    缺陷預(yù)檢領(lǐng)域存在大量缺陷優(yōu)先級分類[7-15]、缺陷分派[16-27]的研究工作,以及源于或服務(wù)于工業(yè)界的文獻(xiàn)資料[2,21]。這些工作普遍基于缺陷報(bào)告文本信息,采用機(jī)器學(xué)習(xí)方法構(gòu)建分類問題,或采用信息檢索方法構(gòu)建相似度模型。而對于開源項(xiàng)目中較為突出的缺陷再分派問題,相關(guān)研究工作較少。因此,本節(jié)將主要介紹前兩者的研究思路與進(jìn)展,并討論其在應(yīng)對開源項(xiàng)目預(yù)檢任務(wù)面臨的挑戰(zhàn)時(shí)存在的不足。

    3.1 缺陷優(yōu)先級分類的相關(guān)工作

    參考文獻(xiàn)[7]最早提及缺陷報(bào)告優(yōu)先級分類,采用監(jiān)督與無監(jiān)督混合的方法將相似缺陷報(bào)告聚類,并認(rèn)為同一個(gè)聚類內(nèi)的缺陷報(bào)告描述相似或相同的問題,因而應(yīng)當(dāng)具有相同的優(yōu)先級;作者在特征選取、聚類方法、可視化等方面做了較為深入的研究,然而該方法未對缺陷報(bào)告優(yōu)先級做出明確判斷,較難進(jìn)行實(shí)際應(yīng)用。

    隨后,Kanwal J等人[8]提出基于支持向量機(jī)(support vector machine,SVM)的分類方法,目標(biāo)是為新缺陷報(bào)告分配一個(gè)優(yōu)先級級別,優(yōu)先級高的缺陷報(bào)告將更受項(xiàng)目組重視,并更快被修復(fù)。該方法將精度(precision)和召回率(recall)作為評估指標(biāo),并通過實(shí)驗(yàn)驗(yàn)證了方法的有效性。Tian Y等人[9]深入研究了多種可能影響優(yōu)先級分類的因素,以選取更有效的訓(xùn)練特征,并采用線性回歸和閾值截?cái)嗟姆椒ㄓ?xùn)練分類模型,以緩解訓(xùn)練數(shù)據(jù)不平衡的問題。Umer Q等人[10]進(jìn)一步研究了情感分析在缺陷優(yōu)先級分類中的作用,采用支持向量機(jī)模型,將缺陷報(bào)告情感特征作為輸入,以提升優(yōu)先級分類的準(zhǔn)確率。其后,Umer Q等人[11]進(jìn)一步研究了分類器的影響,采用基于深度學(xué)習(xí)的分類模型,用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)抽取文本特征,并融合情感特征,共同預(yù)測缺陷優(yōu)先級。然而,這些工作仍存在邊沿優(yōu)先級預(yù)測準(zhǔn)確率低的問題,難以應(yīng)用于實(shí)際軟件的開發(fā)過程,需要進(jìn)一步研究優(yōu)化改進(jìn)的相關(guān)技術(shù)。

    另外,區(qū)別于以上預(yù)測明確優(yōu)先等級的工作,Valdivia-Garcia H等人[12]關(guān)注檢測阻塞缺陷,此類缺陷會影響其他缺陷的修復(fù),因而具有很高的修復(fù)優(yōu)先級。作者基于6個(gè)大型開源項(xiàng)目數(shù)據(jù),總結(jié)出了與阻塞缺陷關(guān)聯(lián)較為密切的14個(gè)因素,并以此建立了決策樹,以辨別阻塞缺陷。Jiang Y等人[13]則將缺陷報(bào)告按嚴(yán)重程度分為2類,并采用排序?qū)W習(xí)(learning to rank)過濾掉部分嚴(yán)重程度低的缺陷報(bào)告,以建立更有效的數(shù)據(jù)集,最終采用監(jiān)督學(xué)習(xí)進(jìn)行訓(xùn)練和預(yù)測。Yang X L等人[14]關(guān)注高影響力缺陷報(bào)告的識別,結(jié)合非均衡學(xué)習(xí)策略(imbalanced learning strategies),緩解數(shù)據(jù)不均衡的問題。Ren H等人[15]則對阻塞缺陷進(jìn)行了實(shí)證研究,從修復(fù)時(shí)間、開發(fā)者經(jīng)驗(yàn)等5個(gè)方面開展調(diào)研,結(jié)果表明,阻塞缺陷的修復(fù)往往更加耗時(shí)耗力,應(yīng)當(dāng)具有更高的修復(fù)優(yōu)先級。然而,此類工作往往將缺陷報(bào)告簡化為二分類問題,缺乏對缺陷優(yōu)先級的完整辨別與評估,降低了優(yōu)先級分類的精確性。

    綜上所述,相關(guān)工作或者邊沿優(yōu)先級預(yù)測準(zhǔn)確率低,難以應(yīng)用于實(shí)際的開源軟件項(xiàng)目開發(fā)過程;或者將缺陷報(bào)告簡化為二分類問題,降低了優(yōu)先級分類的精度,難以為開源項(xiàng)目的缺陷修復(fù)決策提供明確的信息。

    3.2 缺陷分派的相關(guān)工作

    缺陷分派問題最早由Cubranic D等人[16]提出,作者將問題建模為文本分類(開發(fā)者被視為類別)任務(wù),輸入為缺陷報(bào)告文本,輸出為缺陷報(bào)告的候選責(zé)任開發(fā)者;利用標(biāo)記數(shù)據(jù)訓(xùn)練樸素貝葉斯模型,在開源項(xiàng)目數(shù)據(jù)集上驗(yàn)證了方法的有效性。隨后,Anvik J等人[17]針對開源項(xiàng)目中的缺陷分派問題做了系統(tǒng)性的調(diào)研,并在樸素貝葉斯模型的基礎(chǔ)上,使用支持向量機(jī)、決策樹等方法來解決此類問題,結(jié)果顯示支持向量機(jī)的方法取得了最好的效果。由于開源項(xiàng)目具有開發(fā)周期長、開發(fā)者流動性大的特點(diǎn),Tamrawi A等人[18]提出了基于模糊集的方法——Bugzie方法,通過過濾不活躍的開發(fā)者來提高預(yù)測準(zhǔn)確率;然而,過濾篩選的方式過于簡單,無法刻畫開發(fā)者活躍程度的差異。

    在文本信息之外,研究者也嘗試結(jié)合缺陷報(bào)告隸屬的產(chǎn)品、模塊等元數(shù)據(jù)信息。Yang G等人[19]首先使用主題模型抽取缺陷報(bào)告文本的特征,隨后在元數(shù)據(jù)一致的限制下查找相似缺陷報(bào)告,最后基于這些相似缺陷報(bào)告,推薦責(zé)任開發(fā)者。Xia X等人[20]則將元數(shù)據(jù)作為監(jiān)督信息,設(shè)計(jì)全新的主題模型結(jié)構(gòu),以獲得更好的文本特征表示,并以此對開發(fā)者能力特征進(jìn)行建模,基于新缺陷報(bào)告與開發(fā)者能力特征的匹配程度來推薦責(zé)任開發(fā)者。然而,雖然主題模型(如LDA[32-33])在自然語言處理方面得到了廣泛應(yīng)用,但仍存在無法對詞序關(guān)系進(jìn)行建模等問題,在文本內(nèi)容理解上仍有提升空間。

    近期,隨著深度學(xué)習(xí)方法在自然語言處理領(lǐng)域的廣泛應(yīng)用,也出現(xiàn)了基于深度學(xué)習(xí)的缺陷分派研究。Lee S R等人[21]使用卷積神經(jīng)網(wǎng)絡(luò)建模缺陷報(bào)告文本,并在多個(gè)工業(yè)界項(xiàng)目上驗(yàn)證了方法的有效性。Mani S等人[22]則使用基于注意力機(jī)制的雙向循環(huán)神經(jīng)網(wǎng)絡(luò)建模缺陷報(bào)告文本,以求準(zhǔn)確率的提升。然而,這些方法大部分局限于缺陷報(bào)告文本,未能充分使用缺陷報(bào)告蘊(yùn)含的多種信息。

    研究者也嘗試融入代碼、相似缺陷報(bào)告、修復(fù)記錄等信息,進(jìn)一步提升缺陷分派準(zhǔn)確率。Alkhazi B等人[23]結(jié)合代碼相似度,認(rèn)為編寫過缺陷相關(guān)代碼的開發(fā)者更適合修復(fù)缺陷。Zhang T等人[24]發(fā)現(xiàn)較短的缺陷報(bào)告不利于分派,故通過查找相似缺陷報(bào)告的方式拓展缺陷報(bào)告文本,并在此基礎(chǔ)上推薦責(zé)任開發(fā)者。Sun X B等人[25]關(guān)注安全缺陷,并對開發(fā)者的安全缺陷修復(fù)經(jīng)驗(yàn)進(jìn)行建模,針對嚴(yán)重的安全缺陷,推薦經(jīng)驗(yàn)豐富的開發(fā)者。Yadav A等人[26]對開發(fā)者修復(fù)效率進(jìn)行建模,并采用相似度的方式篩選責(zé)任開發(fā)者。Guo S等人[27]則關(guān)注開發(fā)者的修復(fù)歷史,優(yōu)先選取近期有相似修復(fù)經(jīng)驗(yàn)的開發(fā)者。然而,這些方法普遍采用較簡單的語言模型,難以精確刻畫缺陷報(bào)告的文本特征。

    綜上所述,相關(guān)工作存在信息使用不充分、文本建模較簡單的問題,導(dǎo)致開發(fā)者能力刻畫不全面、匹配缺陷相關(guān)開發(fā)者效果較差,且缺乏對開源項(xiàng)目中開發(fā)者活躍度的差異化區(qū)分,難以在能力相近的開發(fā)者中識別最活躍的開發(fā)者。

    3.3 缺陷再分派的相關(guān)工作

    缺陷再分派方面的研究工作最近才被人們重視,相關(guān)研究工作較少,較為相似的工作如下所述。

    Jeong G等人[3]整合缺陷再分派過程中責(zé)任開發(fā)者傳遞、變更的有向圖,并以此為依據(jù),調(diào)整缺陷分派結(jié)果,提高傳遞圖上位于終點(diǎn)的開發(fā)者的排名,以此優(yōu)化缺陷分派效果。Bhattacharya P等人[28]則在Jeong G等人[3]的基礎(chǔ)上進(jìn)一步優(yōu)化,通過分析包含元數(shù)據(jù)的傳遞圖,進(jìn)一步優(yōu)化缺陷分派效果。Wu H R等人[29]對缺陷傳遞序列的長度進(jìn)行了研究,發(fā)現(xiàn)產(chǎn)品、模塊等4項(xiàng)屬性對缺陷傳遞序列的長度有顯著影響。然而,這些工作仍停留在對缺陷分派問題的優(yōu)化層面,缺乏對缺陷再分派任務(wù)的關(guān)注。

    Xia X等人[30]則研究了復(fù)發(fā)缺陷的成因,并提出了基于集成學(xué)習(xí)的復(fù)發(fā)缺陷預(yù)測方法。然而,該方法仍只關(guān)注復(fù)發(fā)缺陷的預(yù)測,缺乏復(fù)發(fā)缺陷可能存在的責(zé)任開發(fā)者變更的解決方法。Mi Q等人[31]發(fā)現(xiàn),復(fù)發(fā)缺陷中存在部分不影響用戶體驗(yàn)的非負(fù)面(non-negative)缺陷,此類缺陷普遍較容易修復(fù),且不需要變更責(zé)任開發(fā)者。然而,這些工作更關(guān)注調(diào)研、分析層面,缺乏具體的應(yīng)對缺陷再分派任務(wù)的方法。

    綜上所述,缺陷再分派方面的研究工作較少,難以簡單采用缺陷分派技術(shù)應(yīng)對開源項(xiàng)目中存在的大量缺陷再分派問題。

    4 缺陷報(bào)告智能預(yù)檢技術(shù)框架

    為了系統(tǒng)地解決開源軟件項(xiàng)目缺陷預(yù)檢中存在的3個(gè)關(guān)鍵任務(wù),本文提出了一個(gè)基于大數(shù)據(jù)資源的缺陷報(bào)告智能預(yù)檢技術(shù)框架,如圖2所示。框架以開源項(xiàng)目缺陷追蹤系統(tǒng)中海量已修復(fù)缺陷報(bào)告的大數(shù)據(jù)資源為數(shù)據(jù)支撐。針對新缺陷,提出基于半監(jiān)督學(xué)習(xí)的缺陷優(yōu)先級分類方法、基于開發(fā)者活躍度的缺陷分派方法,分別預(yù)測缺陷報(bào)告的優(yōu)先級和責(zé)任開發(fā)者;針對已分派缺陷或復(fù)發(fā)缺陷,提出基于開發(fā)者信賴關(guān)系的缺陷再分派方法,預(yù)測新的責(zé)任開發(fā)者??蚣苤饕ㄒ韵聨追N方法。

    ● 基于半監(jiān)督學(xué)習(xí)的缺陷優(yōu)先級分類方法:由于開源項(xiàng)目組織管理松散,容易出現(xiàn)優(yōu)先級未分類的情況,導(dǎo)致默認(rèn)優(yōu)先級P3中混雜了更高、更低優(yōu)先級的數(shù)據(jù),可信性不足。另外,由于P3數(shù)據(jù)中存在大量真實(shí)優(yōu)先級標(biāo)簽,全部丟棄也將影響訓(xùn)練結(jié)果。假設(shè)P3中的數(shù)據(jù)符合以P3為均值的正態(tài)分布,結(jié)合其文本對標(biāo)簽進(jìn)行擬合,擾動得到P3數(shù)據(jù)的可能的優(yōu)先級分布;將擾動后的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),在犧牲部分P3準(zhǔn)確率的代價(jià)下,提升邊沿優(yōu)先級的準(zhǔn)確率。因此,為了充分利用已有數(shù)據(jù),使用半監(jiān)督學(xué)習(xí)的方法來提升缺陷邊沿優(yōu)先級的分類準(zhǔn)確率。

    ● 基于開發(fā)者活躍度的缺陷分派方法:由于開源項(xiàng)目開發(fā)周期長、開發(fā)者自由加入,開發(fā)者存在數(shù)量巨大、人員流動頻繁、活躍周期不固定的特點(diǎn),優(yōu)先推薦活躍程度高的開發(fā)者有利于又快又好地修復(fù)缺陷。為評估當(dāng)前開發(fā)者的活躍程度,可以參照開發(fā)者在缺陷追蹤系統(tǒng)中的活動記錄,評估與缺陷報(bào)告相關(guān)度較高的開發(fā)者,當(dāng)前時(shí)刻附近活動記錄越多的開發(fā)者越活躍,距離當(dāng)前時(shí)刻越近的活動對活躍程度的影響越大。因此,結(jié)合開發(fā)者的活動記錄,對開發(fā)者活躍程度進(jìn)行度量評估,以提升缺陷分派的準(zhǔn)確率。

    ● 基于開發(fā)者信賴關(guān)系的缺陷再分派方法:由于開源項(xiàng)目的開發(fā)者水平高低不一,責(zé)任開發(fā)者無法完成修復(fù)時(shí),往往要求助于能力更強(qiáng)且自身信賴的開發(fā)者。為了充分利用責(zé)任開發(fā)者無法完成修復(fù)這一反饋信息,可參照缺陷傳遞序列,對開發(fā)者之間的信賴關(guān)系進(jìn)行建模,靠近序列末尾的開發(fā)者往往具有更加豐富的經(jīng)驗(yàn),且更受其他開發(fā)者信賴。另外,缺陷的提交者也可能是開發(fā)者,將提交者納入信賴關(guān)系的建模有助于提高建模準(zhǔn)確性。因此,為充分利用反饋信息,需結(jié)合缺陷傳遞序列,對開發(fā)者信賴關(guān)系進(jìn)行建模,以提升缺陷再分派的準(zhǔn)確率。

    圖2 缺陷報(bào)告智能預(yù)檢技術(shù)框架

    后文將依次對上述3個(gè)方法與技術(shù)進(jìn)行具體介紹。

    4.1 基于半監(jiān)督學(xué)習(xí)的缺陷優(yōu)先級分類方法

    缺陷優(yōu)先級分類的目標(biāo)是預(yù)測新缺陷報(bào)告的優(yōu)先等級。由于開源項(xiàng)目管理松散,存在大量默認(rèn)優(yōu)先級的缺陷報(bào)告,數(shù)據(jù)分布很不均衡[9],導(dǎo)致相關(guān)工作普遍出現(xiàn)分類失衡的狀況[9-10]。因此,采用半監(jiān)督學(xué)習(xí)的方法將默認(rèn)優(yōu)先級數(shù)據(jù)視為無標(biāo)簽或標(biāo)簽可信性不高的數(shù)據(jù),在盡可能犧牲少量默認(rèn)優(yōu)先級精度的情況下,換取邊沿優(yōu)先級的準(zhǔn)確性。為此,筆者提出了一個(gè)基于生成對抗網(wǎng)絡(luò)[34-35]的半監(jiān)督學(xué)習(xí)方法——BrCCGAN來解決上述問題。

    該方法的主要思想是:給定缺陷報(bào)告br,需訓(xùn)練評分函數(shù)S(br)=prior∈{P1, P2,P3, P4, P5}。其中,邊沿優(yōu)先級P1、P2、P4、P5更重要;P3為默認(rèn)優(yōu)先級,其標(biāo)簽可信性不高[36]。因此,通過擾動默認(rèn)優(yōu)先級P3的標(biāo)簽,擬合出符合文本的P3數(shù)據(jù)的標(biāo)簽分布,以損失部分P3分類準(zhǔn)確率為代價(jià),提高邊沿優(yōu)先級的分類準(zhǔn)確率。

    基于半監(jiān)督學(xué)習(xí)的缺陷優(yōu)先級分類方法的工作流程如圖3所示。具體而言:①將缺陷報(bào)告br和優(yōu)先級prior視為完整的數(shù)據(jù)對,優(yōu)先級準(zhǔn)確的數(shù)據(jù)對具有較高的融洽度,而優(yōu)先級不準(zhǔn)確的數(shù)據(jù)對融洽度較低;②生成器通過符合高斯分布的隨機(jī)擾動z來變更數(shù)據(jù)對中的優(yōu)先級,產(chǎn)生虛假的優(yōu)先級prior’;③判別器檢驗(yàn)缺陷報(bào)告br與真實(shí)優(yōu)先級prior或虛假優(yōu)先級prior’的融洽度;④當(dāng)生成器與判別器互相博弈,達(dá)到穩(wěn)定收斂狀態(tài)時(shí),固定其內(nèi)部缺陷報(bào)告br的特征抽取網(wǎng)絡(luò),并用此網(wǎng)絡(luò)抽取的特征單獨(dú)訓(xùn)練分類模型,即最終的評分函數(shù)S。

    此方法中生成器、判別器相互博弈的過程可表示為:

    其中,G表示生成器,其輸入為缺陷報(bào)告br和符合高斯分布的隨機(jī)擾動z,輸出為虛假的優(yōu)先級prior’;D表示判別器,其輸入為缺陷報(bào)告br與優(yōu)先級組成的數(shù)據(jù)對,優(yōu)先級可能為真實(shí)優(yōu)先級prior或虛假優(yōu)先級prior’;Objective表示目標(biāo)函數(shù),E表示數(shù)學(xué)期望,訓(xùn)練過程需依次最小化生成器G的損失、最大化判別器D的損失,以達(dá)到兩者相互博弈的目的。

    整個(gè)模型包含訓(xùn)練、預(yù)測兩個(gè)部分。訓(xùn)練部分,將由優(yōu)先級確定的缺陷報(bào)告大數(shù)據(jù)作為輸入,此過程的主要目標(biāo)為訓(xùn)練生成器G和判別器D,為了降低參數(shù)規(guī)模,將兩者缺陷報(bào)告特征抽取網(wǎng)絡(luò)的參數(shù)共享,以簡化訓(xùn)練過程、降低訓(xùn)練開銷。預(yù)測部分,使用缺陷報(bào)告特征抽取網(wǎng)絡(luò)抽取新缺陷報(bào)告的特征向量,并使用獨(dú)立的優(yōu)先級分類模型預(yù)測優(yōu)先級prior。

    圖3 基于半監(jiān)督學(xué)習(xí)的缺陷優(yōu)先級分類方法的工作流程

    筆者基于CCGAN[34]實(shí)現(xiàn)了上述優(yōu)先級分類方法BrCCGAN,主要改進(jìn)在于選擇了更合理的文本特征抽取方法,并優(yōu)化了整個(gè)生成對抗網(wǎng)絡(luò)的結(jié)構(gòu)。

    為了驗(yàn)證方法的有效性,選取開源項(xiàng)目Eclipse作為實(shí)驗(yàn)對象,共收集166 081份缺陷報(bào)告,按7:1:2的比率將其分割為訓(xùn)練集、驗(yàn)證集和測試集;選取基于線性回歸和閾值截?cái)嗟腄RONE[9]、基于雙向循環(huán)神經(jīng)網(wǎng)絡(luò)的BiRNN[10]、基于卷積神經(jīng)網(wǎng)絡(luò)和情感分析的CPur[11]作為對比方法;選取精度和召回率作為評估指標(biāo)。

    表1 基于半監(jiān)督學(xué)習(xí)的缺陷優(yōu)先級預(yù)測方法的精度與召回率

    基于半監(jiān)督學(xué)習(xí)的缺陷優(yōu)先級分類方法BrCCGAN的實(shí)驗(yàn)結(jié)果見表1,橫向?yàn)椴煌瑑?yōu)先級下的精度與召回率,縱向?yàn)檫x取的對比方法。實(shí)驗(yàn)結(jié)果顯示,較同類工作,BrCCGAN的P3優(yōu)先級預(yù)測準(zhǔn)確率稍有下降,但邊沿優(yōu)先級的預(yù)測準(zhǔn)確率有顯著提升,表明本文所提優(yōu)先級分類方法具有較強(qiáng)的實(shí)用價(jià)值。

    4.2 基于開發(fā)者活躍度的缺陷分派方法

    缺陷分派的目標(biāo)是推薦責(zé)任開發(fā)者。開源項(xiàng)目容易出現(xiàn)推薦的責(zé)任開發(fā)者失效的情況。另外,當(dāng)前較為活躍的開發(fā)者往往愿意為項(xiàng)目貢獻(xiàn)更多的力量。因此,筆者提出了一個(gè)基于循環(huán)神經(jīng)網(wǎng)絡(luò)的開發(fā)者活躍度建模方法DeepTriage來進(jìn)行缺陷分派。

    本方法的主要思想是:在利用循環(huán)神經(jīng)網(wǎng)絡(luò)建模缺陷報(bào)告文本詞序關(guān)系的同時(shí),對開發(fā)者活躍度進(jìn)行建模,優(yōu)先推薦當(dāng)前活躍的開發(fā)者修復(fù)缺陷,以緩解推薦的開發(fā)者無法修復(fù)、修復(fù)效率低的問題,即給定缺陷報(bào)告br、修復(fù)記錄信息his,需訓(xùn)練評分函數(shù)S(br,his)=d∈D。其中,D表示開源項(xiàng)目開發(fā)者的集合。

    基于開發(fā)者活躍度的缺陷分派方法的工作流程如具體而言,包括3個(gè)重要部分:①文本高層特征抽取,對缺陷報(bào)告文本br建模,并獲取文本特征表示ht;②開發(fā)者活躍度高層特征抽取,建模修復(fù)記錄信息his,并獲取活躍度特征表示ha;③高層特征融合,將ht和ha的特征表示進(jìn)行融合,以獲取分類器的輸入特征。以下將依次對這3個(gè)部分進(jìn)行詳細(xì)介紹。圖4所示。

    圖4 基于開發(fā)者活躍度的缺陷分派方法的工作流程

    (1)文本高層特征抽取

    文本高層特征抽取使用了雙向循環(huán)神經(jīng)網(wǎng)絡(luò)。得益于循環(huán)神經(jīng)網(wǎng)絡(luò)在文本分類上的進(jìn)步[37-38],基于雙向循環(huán)神經(jīng)網(wǎng)絡(luò)的文本高層特征抽取方法逐漸成為主流。具體而言,以獨(dú)熱編碼的形式依次輸入單詞,從順序、倒序兩個(gè)方向進(jìn)行遍歷;對于每個(gè)單詞,將其正向、逆向的特征進(jìn)行拼接,輸入最大池化層,以整合單詞特征,得到保留了最關(guān)鍵信息的整體表示,此過程可表示為:

    其中,br=(t1,t2,…,tN)表示缺陷報(bào)告的文本信息,第i個(gè)單詞表示為ti;N表示文本長度;forward、backward分別表示雙向循環(huán)神經(jīng)網(wǎng)絡(luò)的正向、逆向遍歷過程;hti表示第i個(gè)單詞的高層特征,和分別表示第i-1個(gè)單詞的正向特征和第i+1個(gè)單詞的逆向特征;maxpooling表示最大池化層;ht表示缺陷報(bào)告的文本高層特征。

    (2)開發(fā)者活躍度高層特征抽取

    開發(fā)者活躍度高層特征抽取首先獲取開發(fā)者的修復(fù)記錄信息his,然后將修復(fù)記錄信息輸入神經(jīng)網(wǎng)絡(luò),以得到高層特征。在修復(fù)記錄獲取方面,給定新缺陷報(bào)告的提交時(shí)刻,需獲取提交時(shí)刻向前一段時(shí)間內(nèi)的修復(fù)記錄,并將其按照時(shí)間順序排列;由于開源項(xiàng)目缺陷報(bào)告數(shù)量巨大,為了約束his的長度,采用目標(biāo)缺陷報(bào)告的產(chǎn)品、模塊元數(shù)據(jù)進(jìn)行過濾,即只保留產(chǎn)品、模塊相同的修復(fù)記錄;若無法找到相應(yīng)修復(fù)記錄,則his被設(shè)置為空列表。在高層特征抽取方面,采用單向循環(huán)神經(jīng)網(wǎng)絡(luò)獲得最后節(jié)點(diǎn)的狀態(tài),以保障越靠近當(dāng)前時(shí)間節(jié)點(diǎn)的修復(fù)記錄影像越大,此過程可表示為:

    其中,forward表示順序輸入的單向循環(huán)神經(jīng)網(wǎng)絡(luò);M表示修復(fù)記錄的長度;haM-1表示第M-1個(gè)修復(fù)記錄對應(yīng)的高層特征,其值同樣由forward輸出得到;hisM表示第M條修復(fù)記錄;ha表示開發(fā)者活躍度高層特征表示,由于將最后節(jié)點(diǎn)的狀態(tài)作為特征表示,故ha=haM。

    (3)高層特征融合

    高層特征融合將文本高層特征、開發(fā)者活躍度高層特征融合在一起,共同進(jìn)行后續(xù)預(yù)測,即:

    其中,ht和ha分別表示文本高層特征、開發(fā)者活躍度高層特征;h表示融合后的特征;⊕表示特征融合操作,是此步驟的核心。特征融合操作通常采用拼接、元素間相加、元素間相乘3種較為簡單的方法。本文采用特征向量相互影響更為激烈的元素間相乘方法,以便讓開發(fā)者活躍度特征更多地影響責(zé)任開發(fā)者的預(yù)測。

    模型的最后,評分函數(shù)S需建立融合的高層特征到項(xiàng)目開發(fā)者的映射,并選擇預(yù)測值最高的開發(fā)者作為推薦的責(zé)任開發(fā)者。采用深度學(xué)習(xí)中常用的全連接層完成映射,可表示為:

    其中,h表示融合后的高層特征,dense為全連接層,其輸出維度等同于項(xiàng)目中開發(fā)者的數(shù)量|D|;argmax表示選擇預(yù)測值最高的開發(fā)者;d表示推薦的責(zé)任開發(fā)者的編號。

    整個(gè)模型包含訓(xùn)練、預(yù)測兩個(gè)部分。訓(xùn)練部分,將已經(jīng)標(biāo)記歸檔的缺陷報(bào)告大數(shù)據(jù)作為輸入,這些缺陷報(bào)告皆包含真實(shí)修復(fù)缺陷的責(zé)任開發(fā)者信息,并可抽取出文本信息及開發(fā)者修復(fù)記錄信息。這些數(shù)據(jù)共同構(gòu)成訓(xùn)練實(shí)體,完成模型的訓(xùn)練。測試部分,輸入新的缺陷報(bào)告,以及從缺陷追蹤系統(tǒng)中抽取的開發(fā)者活動記錄,則可得到推薦的責(zé)任開發(fā)者d。

    筆者基于oh-LSTMp(one-hot LSTM with pooling)[37]實(shí)現(xiàn)了上述缺陷分派方法DeepTriage,主要改進(jìn)在于增加了開發(fā)者活躍度的特征抽取網(wǎng)絡(luò),并試驗(yàn)了多種特征融合方法對分派結(jié)果的影響。

    為了驗(yàn)證方法的有效性,選取開源項(xiàng)目Eclipse、Netbeans、Mozilla、Redhat作為實(shí)驗(yàn)對象,將缺陷報(bào)告按照時(shí)間排序,并分為11份,每次選取前n份作為訓(xùn)練集、第n+1份作為測試集,共進(jìn)行10輪實(shí)驗(yàn),并對比平均結(jié)果;選取經(jīng)典分類方法SVM[39]、Yang等人[19]基于主題模型并融合元數(shù)據(jù)的方法提出的模型(以下簡寫為Yang)、TopicMinerMTM[20]作為對比方法;選取準(zhǔn)確率(accuracy)作為評估指標(biāo)。

    表2 基于開發(fā)者活躍度的缺陷分派方法的Top-1準(zhǔn)確率

    基于開發(fā)者活躍度的缺陷分派方法DeepTriage的Top-1準(zhǔn)確率見表2,縱向表示選取的4個(gè)實(shí)驗(yàn)對象,橫向表示選取的對比方法。實(shí)驗(yàn)結(jié)果顯示,與對比算法相比,DeepTriage的Top-1準(zhǔn)確率在各個(gè)項(xiàng)目中均有顯著提升,表明優(yōu)先推薦活躍度高的開發(fā)者有利于切實(shí)完成缺陷修復(fù)工作,本文所提缺陷分派方法具有較強(qiáng)的實(shí)用價(jià)值。

    4.3 基于開發(fā)者信賴關(guān)系的缺陷再分派方法

    缺陷再分派的目標(biāo)是在需要變更責(zé)任開發(fā)者時(shí),推薦新的責(zé)任開發(fā)者。不同于缺陷分派任務(wù),缺陷再分派包含額外的傳遞序列tos信息,tos中靠后的開發(fā)者通常具有更強(qiáng)的技術(shù)水平,更加受到其他開發(fā)者信賴;建模開發(fā)者之間的信賴關(guān)系有利于缺陷的有效修復(fù),且更加符合項(xiàng)目開發(fā)者的再分派任務(wù)。為此,筆者提出了一個(gè)基于編碼器、解碼器(encoder-decoder)模型[40-41]的方法iTriage來解決上述問題,以同時(shí)建模缺陷報(bào)告文本信息與開發(fā)者之間的信賴關(guān)系。

    本方法的主要思想是:將傳遞序列tos建模為解碼過程,預(yù)訓(xùn)練開發(fā)者間的信賴關(guān)系;當(dāng)需要進(jìn)行缺陷再分派時(shí),使用此預(yù)訓(xùn)練模型獲取文本、傳遞序列的特征,并結(jié)合元數(shù)據(jù)特征共同預(yù)測最終的責(zé)任開發(fā)者。此過程避免了對缺陷傳遞過程的模擬,直接關(guān)注最終目標(biāo),有利于提高缺陷再分派的準(zhǔn)確率,即給定需要變更責(zé)任開發(fā)者的缺陷報(bào)告br、缺陷報(bào)告的傳遞序列tos,需訓(xùn)練評分函數(shù)S,使得S(br,tos)=d∈D。其中,D表示開源項(xiàng)目開發(fā)者的集合;tos表示從缺陷提交者開始,包含一個(gè)或多個(gè)責(zé)任開發(fā)者的傳遞序列。對于已修復(fù)的缺陷,tos中最后的開發(fā)者表示完成修復(fù)的開發(fā)者;對于需再分派的缺陷,則表示無法完成修復(fù)的開發(fā)者,通常需要指定不同的新責(zé)任開發(fā)者。

    基于開發(fā)者信賴關(guān)系的缺陷再分派方法的工作流程如圖5所示。具體而言,包括3個(gè)重要部分:①文本編碼器,建模缺陷報(bào)告文本br的特征;②傳遞序列解碼器,模擬缺陷報(bào)告的傳遞過程,通過預(yù)訓(xùn)練的方式學(xué)習(xí)開發(fā)者間的信賴關(guān)系;③開發(fā)者推薦模型,結(jié)合文本特征、傳遞狀態(tài)特征和元數(shù)據(jù)特征,共同推薦新的責(zé)任開發(fā)者。以下將依次對這3個(gè)部分進(jìn)行詳細(xì)介紹。

    (1)文本編碼器

    文本編碼器采用雙向循環(huán)神經(jīng)網(wǎng)絡(luò)建模缺陷報(bào)告文本特征。區(qū)別于缺陷分派,此處直接輸出每個(gè)單詞的特征表示,并記錄遍歷所有單詞后的狀態(tài)特征,可表示為:

    其中,br=(t1,t2,…,tN)表示缺陷報(bào)告文本的集合;hti表示第i個(gè)單詞的高層特征,這些特征將通過后續(xù)的注意力機(jī)制進(jìn)行整合;state0表示完整遍歷后的狀態(tài)信息,其中數(shù)字0表示解碼器的初始狀態(tài)。

    (2)傳遞序列解碼器

    傳遞序列解碼器采用循環(huán)神經(jīng)網(wǎng)絡(luò)建模。解碼器通過循環(huán)神經(jīng)網(wǎng)絡(luò)模擬缺陷報(bào)告在責(zé)任開發(fā)者間傳遞的過程,學(xué)習(xí)開發(fā)者之間的信賴關(guān)系。為確定j時(shí)刻輸出的開發(fā)者,需要缺陷報(bào)告的全部文本特征、j-1時(shí)刻的隱含狀態(tài)、j-1時(shí)刻的責(zé)任開發(fā)者。可表示為:

    其中,statej、dj分別表示j時(shí)刻的隱含狀態(tài)、輸出的責(zé)任開發(fā)者。statej的初始狀態(tài)為解碼器最后輸出的狀態(tài);dj的初始狀態(tài)則區(qū)別于傳統(tǒng)模型采用特殊開始符的方法,本節(jié)將缺陷報(bào)告提交者作為初始狀態(tài)輸入,由于存在提交者也是開發(fā)者的情況,加入缺陷報(bào)告提交者能夠更有效地建立信賴模型。此過程將一直持續(xù),直到遇到代表序列結(jié)束的特殊結(jié)束符。

    在此過程中,也將采用注意力機(jī)制整合文本特征。具體方法為:使用解碼器j-1時(shí)刻的隱含狀態(tài),重新計(jì)算單詞特征的權(quán)重,并加權(quán)求和??杀硎緸椋?/p>

    其中,cj表示j時(shí)刻的完整缺陷報(bào)告文本上下文特征。

    (3)開發(fā)者推薦模型

    開發(fā)者推薦模型采用基于全連接層的分類方法。其輸入包括當(dāng)前j時(shí)刻的文本上下文特征、解碼器隱含狀態(tài)特征,以及缺陷報(bào)告整體的元數(shù)據(jù)特征??杀硎緸椋?/p>

    其中,m表示元數(shù)據(jù)特征,此特征可使用簡單的嵌入層獲得;由于元數(shù)據(jù)在缺陷報(bào)告中長期保持穩(wěn)定,因而在任意時(shí)刻j都可使用相同的元數(shù)據(jù)特征m。

    整個(gè)模型包括訓(xùn)練、預(yù)測兩個(gè)部分。訓(xùn)練部分,將歸檔缺陷報(bào)告大數(shù)據(jù)作為監(jiān)督,學(xué)習(xí)并優(yōu)化模型參數(shù)。測試部分,模型參數(shù)固定,給定待變更責(zé)任開發(fā)者的缺陷報(bào)告,首先經(jīng)過文本編碼器、傳遞序列解碼器獲取文本上下文特征c、解碼器隱含狀態(tài)特征state;其次,提取元數(shù)據(jù),并得到元數(shù)據(jù)特征m;最后,將3種特征輸入開發(fā)者推薦模型,則可得到推薦的新責(zé)任開發(fā)者。

    筆者基于編碼器、解碼器模型[41]實(shí)現(xiàn)了上述缺陷再分派方法iTriage,主要改進(jìn)在于將缺陷在開發(fā)者間傳遞的過程建模為解碼過程,并添加了開發(fā)者推薦模型,結(jié)合缺陷再分派時(shí)刻的文本上下文特征、傳遞狀態(tài)特征、元數(shù)據(jù)特征,直接預(yù)測最終的修復(fù)者。

    圖5 基于開發(fā)者信賴關(guān)系的缺陷再分派方法的工作流程

    為了驗(yàn)證方法的有效性,選取開源項(xiàng)目Eclipse、Mozilla、Gentoo作為實(shí)驗(yàn)對象,采用模擬時(shí)序的十折驗(yàn)證作為測試方法;選取經(jīng)典文本分類方法SVM[39]、基于注意力機(jī)制的循環(huán)神經(jīng)網(wǎng)絡(luò)DBRNN+A方法[21]、基于卷積神經(jīng)網(wǎng)絡(luò)的方法CNN Triager[22]作為對比方法;選取準(zhǔn)確率作為評估指標(biāo)。

    表3 基于開發(fā)者信賴關(guān)系的缺陷再分派方法的Top-1準(zhǔn)確率

    基于開發(fā)者信賴關(guān)系的缺陷再分派方法iTriage的Top-1準(zhǔn)確率見表3,縱向表示實(shí)驗(yàn)對象,橫向表示對比方法。此外,實(shí)驗(yàn)進(jìn)一步驗(yàn)證了缺陷再分派情況下的分派準(zhǔn)確率,iTriage@1表示第一次分派的預(yù)測準(zhǔn)確率,iTriage@2、iTriage@3分別表示第一次、第二次再分派(即第二次、第三次分派)的準(zhǔn)確率。實(shí)驗(yàn)結(jié)果顯示,iTriage第一次分派的預(yù)測準(zhǔn)確率已有顯著提升,表明了將提交者納入信賴關(guān)系建模的有效性;且在隨后的第一次、第二次再分派中,準(zhǔn)確率得到進(jìn)一步提升,表明了缺陷報(bào)告在開發(fā)者間傳遞的反饋信息的有效性,本文所提缺陷再分派方法具有較強(qiáng)的實(shí)用價(jià)值。

    5 結(jié)束語

    本文提出了一個(gè)智能化缺陷報(bào)告預(yù)檢技術(shù)的框架,結(jié)合開源項(xiàng)目的特點(diǎn),并利用已修復(fù)缺陷報(bào)告的大數(shù)據(jù)作為支撐,基于深度學(xué)習(xí)的相關(guān)模型與技術(shù),針對缺陷預(yù)檢的3個(gè)關(guān)鍵任務(wù)提出了相應(yīng)的自動化技術(shù):基于半監(jiān)督學(xué)習(xí)的缺陷報(bào)告優(yōu)先級預(yù)測方法、基于開發(fā)者活躍度的缺陷分派方法、基于開發(fā)者信賴關(guān)系的缺陷再分派方法。

    面向開源項(xiàng)目的缺陷報(bào)告預(yù)檢技術(shù),尤其是缺陷再分派技術(shù)的研究日益被重視,仍有許多問題需要更加深入的分析和研究,如缺陷報(bào)告質(zhì)量對缺陷預(yù)檢工作的影響如何,代碼托管平臺中缺陷報(bào)告和代碼變更的關(guān)聯(lián)信息、開發(fā)者評價(jià)信息等如何用于提高缺陷預(yù)檢的準(zhǔn)確率等。

    猜你喜歡
    報(bào)告特征文本
    如何表達(dá)“特征”
    在808DA上文本顯示的改善
    不忠誠的四個(gè)特征
    基于doc2vec和TF-IDF的相似文本識別
    電子制作(2018年18期)2018-11-14 01:48:06
    一圖看懂十九大報(bào)告
    抓住特征巧觀察
    報(bào)告
    文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學(xué)隱喻
    報(bào)告
    報(bào)告
    一本大道久久a久久精品| 五月开心婷婷网| 啪啪无遮挡十八禁网站| 日韩中文字幕视频在线看片| 一区二区三区国产精品乱码| 久久久久久久国产电影| 中文字幕人妻丝袜一区二区| 男女边摸边吃奶| 亚洲免费av在线视频| 日本av手机在线免费观看| 欧美国产精品va在线观看不卡| 男人舔女人的私密视频| 亚洲精品美女久久久久99蜜臀| 亚洲av第一区精品v没综合| 国产欧美日韩综合在线一区二区| 最新美女视频免费是黄的| 9热在线视频观看99| 国产精品麻豆人妻色哟哟久久| 久久精品人人爽人人爽视色| 国产一区二区在线观看av| 日日夜夜操网爽| 精品国产超薄肉色丝袜足j| 久久精品aⅴ一区二区三区四区| 天堂中文最新版在线下载| 国产精品美女特级片免费视频播放器 | 搡老熟女国产l中国老女人| 午夜视频精品福利| 啦啦啦 在线观看视频| 国产精品偷伦视频观看了| av一本久久久久| 色老头精品视频在线观看| 精品亚洲成a人片在线观看| 国产精品.久久久| 国产欧美日韩一区二区精品| 一级毛片女人18水好多| 黄色 视频免费看| 欧美黄色片欧美黄色片| 亚洲熟女精品中文字幕| 人人澡人人妻人| 黑人巨大精品欧美一区二区mp4| 欧美黑人精品巨大| 欧美日韩成人在线一区二区| 水蜜桃什么品种好| 蜜桃在线观看..| 男女边摸边吃奶| 亚洲精品乱久久久久久| 两个人看的免费小视频| 午夜免费鲁丝| 黄色a级毛片大全视频| 丝袜美足系列| 精品少妇内射三级| 午夜日韩欧美国产| 黄色成人免费大全| 欧美激情久久久久久爽电影 | 亚洲少妇的诱惑av| 亚洲成人免费av在线播放| 精品视频人人做人人爽| 欧美变态另类bdsm刘玥| 成人免费观看视频高清| 18禁黄网站禁片午夜丰满| 两个人看的免费小视频| 男人舔女人的私密视频| 久久人妻熟女aⅴ| 在线av久久热| 午夜激情av网站| 成年动漫av网址| 夜夜爽天天搞| 成人18禁高潮啪啪吃奶动态图| 亚洲五月色婷婷综合| 国产av一区二区精品久久| 中亚洲国语对白在线视频| 国产精品免费大片| 午夜两性在线视频| 亚洲精品国产精品久久久不卡| 99热国产这里只有精品6| 中文字幕av电影在线播放| 日韩免费av在线播放| 国产在线免费精品| 国产单亲对白刺激| 在线十欧美十亚洲十日本专区| 天天躁狠狠躁夜夜躁狠狠躁| av超薄肉色丝袜交足视频| 欧美国产精品一级二级三级| 国产一区二区三区视频了| 国产在线视频一区二区| 桃花免费在线播放| 亚洲午夜精品一区,二区,三区| 久久狼人影院| 桃红色精品国产亚洲av| 狂野欧美激情性xxxx| 在线观看免费高清a一片| 亚洲成人手机| 操美女的视频在线观看| 久久国产亚洲av麻豆专区| 午夜两性在线视频| 人妻 亚洲 视频| 久久人妻熟女aⅴ| 国产区一区二久久| 丰满迷人的少妇在线观看| 欧美日韩av久久| 久久久国产欧美日韩av| 国产精品自产拍在线观看55亚洲 | 两性夫妻黄色片| av又黄又爽大尺度在线免费看| 精品久久久精品久久久| 久久久久久人人人人人| 在线永久观看黄色视频| 国产精品av久久久久免费| 亚洲熟女精品中文字幕| 欧美大码av| 国产亚洲av高清不卡| 日本五十路高清| 亚洲男人天堂网一区| 狠狠婷婷综合久久久久久88av| 亚洲熟女精品中文字幕| 一级片'在线观看视频| 日本av手机在线免费观看| 国产在视频线精品| 亚洲精品一卡2卡三卡4卡5卡| 国产精品久久久久久精品电影小说| 麻豆成人av在线观看| 黄色 视频免费看| 无遮挡黄片免费观看| 亚洲成av片中文字幕在线观看| 18禁美女被吸乳视频| 一区二区三区精品91| 大香蕉久久成人网| 成人国产av品久久久| 日本黄色视频三级网站网址 | 久久中文看片网| 成年人黄色毛片网站| 亚洲精品av麻豆狂野| 99久久人妻综合| 精品国产一区二区三区久久久樱花| 十分钟在线观看高清视频www| 女性被躁到高潮视频| 亚洲国产看品久久| 两性夫妻黄色片| 日日爽夜夜爽网站| 日韩视频在线欧美| 国产熟女午夜一区二区三区| 女人爽到高潮嗷嗷叫在线视频| 国产一区有黄有色的免费视频| 高清黄色对白视频在线免费看| 多毛熟女@视频| 亚洲中文字幕日韩| 国产三级黄色录像| 久久久国产一区二区| 国产视频一区二区在线看| 亚洲成av片中文字幕在线观看| 99热国产这里只有精品6| 搡老熟女国产l中国老女人| 国产淫语在线视频| 中文字幕人妻熟女乱码| 曰老女人黄片| 国产伦理片在线播放av一区| av福利片在线| 手机成人av网站| 一进一出好大好爽视频| 久久九九热精品免费| 亚洲色图综合在线观看| 精品一区二区三卡| 中文字幕人妻熟女乱码| 97人妻天天添夜夜摸| 深夜精品福利| 母亲3免费完整高清在线观看| 中文字幕最新亚洲高清| 国产亚洲精品第一综合不卡| 久久久久精品人妻al黑| 肉色欧美久久久久久久蜜桃| 99久久人妻综合| 国产精品香港三级国产av潘金莲| 美女高潮到喷水免费观看| 亚洲av电影在线进入| 亚洲国产欧美一区二区综合| 日韩有码中文字幕| 国产高清国产精品国产三级| 亚洲av成人一区二区三| 建设人人有责人人尽责人人享有的| 久久久国产欧美日韩av| a级片在线免费高清观看视频| 满18在线观看网站| 一区二区av电影网| 国产高清videossex| 老熟妇乱子伦视频在线观看| 色在线成人网| 免费观看人在逋| 成人18禁在线播放| 午夜免费成人在线视频| 91国产中文字幕| 黑人操中国人逼视频| 久久国产精品男人的天堂亚洲| 一区二区三区精品91| 色综合婷婷激情| 巨乳人妻的诱惑在线观看| 一边摸一边抽搐一进一小说 | 下体分泌物呈黄色| 午夜福利在线免费观看网站| 国产aⅴ精品一区二区三区波| 日韩免费av在线播放| 最近最新中文字幕大全免费视频| 我的亚洲天堂| 少妇精品久久久久久久| 国产av又大| 天天躁日日躁夜夜躁夜夜| 在线观看免费视频网站a站| 欧美人与性动交α欧美精品济南到| 国产亚洲精品一区二区www | 99精品久久久久人妻精品| 国产成+人综合+亚洲专区| kizo精华| 国产成人免费观看mmmm| 三上悠亚av全集在线观看| 纵有疾风起免费观看全集完整版| 亚洲av片天天在线观看| 久久毛片免费看一区二区三区| 国产欧美日韩综合在线一区二区| 日韩一区二区三区影片| 高清黄色对白视频在线免费看| 怎么达到女性高潮| 久久精品aⅴ一区二区三区四区| 免费在线观看黄色视频的| 女性被躁到高潮视频| 国产欧美亚洲国产| 最近最新中文字幕大全电影3 | 蜜桃在线观看..| 老司机午夜十八禁免费视频| 悠悠久久av| 满18在线观看网站| 国产亚洲精品一区二区www | 日本一区二区免费在线视频| 水蜜桃什么品种好| 男女之事视频高清在线观看| 亚洲成人手机| 国产精品二区激情视频| 美女扒开内裤让男人捅视频| www.自偷自拍.com| 中文欧美无线码| 夜夜骑夜夜射夜夜干| 高清视频免费观看一区二区| 亚洲欧洲精品一区二区精品久久久| 人人妻,人人澡人人爽秒播| 午夜福利在线观看吧| 精品卡一卡二卡四卡免费| 蜜桃在线观看..| 国产97色在线日韩免费| 久久久久久久大尺度免费视频| 精品福利永久在线观看| 精品国产国语对白av| 日韩欧美一区二区三区在线观看 | 女人精品久久久久毛片| 在线亚洲精品国产二区图片欧美| av超薄肉色丝袜交足视频| 一区二区三区国产精品乱码| 亚洲,欧美精品.| 两人在一起打扑克的视频| 动漫黄色视频在线观看| 日韩人妻精品一区2区三区| 精品高清国产在线一区| 1024香蕉在线观看| 色尼玛亚洲综合影院| 99国产极品粉嫩在线观看| 日韩大码丰满熟妇| 免费在线观看视频国产中文字幕亚洲| 国产精品.久久久| 成人影院久久| 欧美黑人精品巨大| 熟女少妇亚洲综合色aaa.| 亚洲 国产 在线| 免费看十八禁软件| 五月天丁香电影| 啦啦啦 在线观看视频| 国产精品久久电影中文字幕 | 成人av一区二区三区在线看| 国产黄色免费在线视频| 水蜜桃什么品种好| 男女下面插进去视频免费观看| 啦啦啦视频在线资源免费观看| 国产免费av片在线观看野外av| 一本色道久久久久久精品综合| 国产精品亚洲一级av第二区| 亚洲av欧美aⅴ国产| av电影中文网址| 欧美日本中文国产一区发布| 天堂8中文在线网| 99re在线观看精品视频| 亚洲第一欧美日韩一区二区三区 | 嫁个100分男人电影在线观看| 欧美 亚洲 国产 日韩一| 国产欧美亚洲国产| xxxhd国产人妻xxx| 男女床上黄色一级片免费看| 国产亚洲午夜精品一区二区久久| 国产野战对白在线观看| 日韩有码中文字幕| 久久久久久久大尺度免费视频| 超色免费av| 国产精品国产高清国产av | 亚洲人成伊人成综合网2020| 纯流量卡能插随身wifi吗| 国产成人影院久久av| 久久精品亚洲熟妇少妇任你| 精品国产乱码久久久久久男人| 国精品久久久久久国模美| 久久天堂一区二区三区四区| 免费久久久久久久精品成人欧美视频| 亚洲成人免费av在线播放| 国产欧美日韩综合在线一区二区| 国产高清视频在线播放一区| 免费观看a级毛片全部| 一边摸一边做爽爽视频免费| 日韩大码丰满熟妇| av免费在线观看网站| 狂野欧美激情性xxxx| 成人国产一区最新在线观看| 18禁黄网站禁片午夜丰满| 欧美亚洲日本最大视频资源| 国产免费福利视频在线观看| 中文字幕最新亚洲高清| 午夜精品国产一区二区电影| 久久久国产精品麻豆| 成人国产av品久久久| 欧美黄色片欧美黄色片| 亚洲天堂av无毛| 亚洲精品久久午夜乱码| 黄色 视频免费看| 国产一区二区激情短视频| 亚洲伊人久久精品综合| av电影中文网址| 波多野结衣av一区二区av| 久久人妻福利社区极品人妻图片| 一本色道久久久久久精品综合| 一本大道久久a久久精品| 日韩精品免费视频一区二区三区| 亚洲av国产av综合av卡| 99精品在免费线老司机午夜| 国产精品麻豆人妻色哟哟久久| 亚洲伊人久久精品综合| 免费看a级黄色片| 午夜老司机福利片| av线在线观看网站| 国产一区二区在线观看av| 999久久久国产精品视频| 如日韩欧美国产精品一区二区三区| 又紧又爽又黄一区二区| 最新的欧美精品一区二区| 欧美日韩精品网址| 电影成人av| 一边摸一边抽搐一进一出视频| 男女之事视频高清在线观看| 在线 av 中文字幕| 欧美精品人与动牲交sv欧美| 一级a爱视频在线免费观看| 欧美精品人与动牲交sv欧美| 亚洲专区国产一区二区| 一边摸一边抽搐一进一小说 | 在线永久观看黄色视频| 搡老乐熟女国产| avwww免费| 可以免费在线观看a视频的电影网站| 色在线成人网| 欧美一级毛片孕妇| 男女无遮挡免费网站观看| 大码成人一级视频| 精品一品国产午夜福利视频| 国产激情久久老熟女| 国产真人三级小视频在线观看| 极品人妻少妇av视频| 久久精品国产a三级三级三级| 99热国产这里只有精品6| 亚洲国产成人一精品久久久| 国产精品美女特级片免费视频播放器 | 亚洲精品粉嫩美女一区| 人人妻人人添人人爽欧美一区卜| 久久亚洲精品不卡| 中文字幕最新亚洲高清| 人人妻人人爽人人添夜夜欢视频| 看免费av毛片| videosex国产| 欧美日韩国产mv在线观看视频| 成在线人永久免费视频| av电影中文网址| 国产有黄有色有爽视频| 99国产精品一区二区三区| 51午夜福利影视在线观看| 我要看黄色一级片免费的| 性色av乱码一区二区三区2| 一区二区三区乱码不卡18| 精品国产一区二区三区久久久樱花| 女人爽到高潮嗷嗷叫在线视频| 99国产综合亚洲精品| 美国免费a级毛片| 99国产综合亚洲精品| 亚洲专区字幕在线| cao死你这个sao货| 久热爱精品视频在线9| 这个男人来自地球电影免费观看| 国产无遮挡羞羞视频在线观看| 嫁个100分男人电影在线观看| 妹子高潮喷水视频| 欧美日韩福利视频一区二区| 亚洲伊人色综图| 亚洲免费av在线视频| 国产精品麻豆人妻色哟哟久久| 亚洲国产欧美在线一区| 日韩精品免费视频一区二区三区| 制服人妻中文乱码| 亚洲成av片中文字幕在线观看| 黄色怎么调成土黄色| 国产午夜精品久久久久久| 久久国产亚洲av麻豆专区| 90打野战视频偷拍视频| 夜夜骑夜夜射夜夜干| 久久99一区二区三区| 水蜜桃什么品种好| 中文欧美无线码| 午夜视频精品福利| 亚洲成a人片在线一区二区| 少妇精品久久久久久久| 色尼玛亚洲综合影院| 欧美老熟妇乱子伦牲交| 怎么达到女性高潮| 90打野战视频偷拍视频| 欧美 亚洲 国产 日韩一| 大型av网站在线播放| 国产精品98久久久久久宅男小说| 一区二区三区精品91| 欧美日韩亚洲高清精品| 国产极品粉嫩免费观看在线| 精品亚洲成a人片在线观看| 色综合欧美亚洲国产小说| 80岁老熟妇乱子伦牲交| 青青草视频在线视频观看| 国产欧美亚洲国产| 又黄又粗又硬又大视频| 最近最新免费中文字幕在线| 一区二区三区激情视频| 操出白浆在线播放| 老熟妇仑乱视频hdxx| 国产黄频视频在线观看| 成人18禁在线播放| 少妇猛男粗大的猛烈进出视频| 欧美变态另类bdsm刘玥| 操美女的视频在线观看| 国产精品一区二区精品视频观看| 伦理电影免费视频| 欧美亚洲日本最大视频资源| 中亚洲国语对白在线视频| 欧美人与性动交α欧美软件| 视频区欧美日本亚洲| 日本av手机在线免费观看| 国产不卡av网站在线观看| 国产激情久久老熟女| 亚洲欧美色中文字幕在线| 99久久精品国产亚洲精品| 欧美精品高潮呻吟av久久| 人妻久久中文字幕网| kizo精华| 亚洲中文日韩欧美视频| 黄频高清免费视频| 欧美成人午夜精品| 国产精品秋霞免费鲁丝片| 国产成人系列免费观看| 一级毛片电影观看| 日本黄色日本黄色录像| 香蕉久久夜色| 中国美女看黄片| 老熟妇仑乱视频hdxx| 桃花免费在线播放| 他把我摸到了高潮在线观看 | 亚洲精品一二三| 国精品久久久久久国模美| 国产精品av久久久久免费| 欧美日韩精品网址| 亚洲一卡2卡3卡4卡5卡精品中文| 亚洲成人免费av在线播放| 多毛熟女@视频| 欧美日本中文国产一区发布| 国产在视频线精品| 丝袜人妻中文字幕| 99久久人妻综合| 午夜激情久久久久久久| 91精品三级在线观看| 亚洲国产欧美网| 久久99一区二区三区| 动漫黄色视频在线观看| av片东京热男人的天堂| 国产高清激情床上av| 看免费av毛片| 天堂中文最新版在线下载| 亚洲精品成人av观看孕妇| 女警被强在线播放| 少妇裸体淫交视频免费看高清 | 老鸭窝网址在线观看| 精品久久蜜臀av无| 成人精品一区二区免费| 美女高潮喷水抽搐中文字幕| 午夜久久久在线观看| 天天躁狠狠躁夜夜躁狠狠躁| 亚洲伊人久久精品综合| 狠狠精品人妻久久久久久综合| 香蕉国产在线看| 国产精品久久久久久精品古装| 欧美乱妇无乱码| 另类精品久久| 久久精品亚洲av国产电影网| 亚洲欧美激情在线| 久久天躁狠狠躁夜夜2o2o| 黄色成人免费大全| 久久免费观看电影| 国产精品98久久久久久宅男小说| 亚洲黑人精品在线| 黄色视频在线播放观看不卡| 黄频高清免费视频| 亚洲自偷自拍图片 自拍| 中文字幕人妻丝袜制服| 欧美人与性动交α欧美软件| 满18在线观看网站| 久久婷婷成人综合色麻豆| 久久久久视频综合| 男女床上黄色一级片免费看| 欧美人与性动交α欧美软件| 一级片免费观看大全| 老司机靠b影院| 久久精品国产99精品国产亚洲性色 | 亚洲成人国产一区在线观看| 真人做人爱边吃奶动态| 啪啪无遮挡十八禁网站| 国产欧美日韩一区二区三区在线| 国产男女内射视频| 久久久水蜜桃国产精品网| 欧美 亚洲 国产 日韩一| 久久性视频一级片| 丁香欧美五月| 日本av手机在线免费观看| 男女之事视频高清在线观看| 美女视频免费永久观看网站| 日韩中文字幕视频在线看片| 99re6热这里在线精品视频| 91九色精品人成在线观看| 18在线观看网站| 女人高潮潮喷娇喘18禁视频| 欧美精品av麻豆av| 国产av精品麻豆| 亚洲五月色婷婷综合| 99热网站在线观看| 黄片小视频在线播放| 一本大道久久a久久精品| 国产黄频视频在线观看| 少妇精品久久久久久久| 亚洲精品久久午夜乱码| 最近最新中文字幕大全免费视频| 12—13女人毛片做爰片一| 欧美日韩亚洲国产一区二区在线观看 | 午夜福利欧美成人| 久久99热这里只频精品6学生| 国产免费福利视频在线观看| 女性被躁到高潮视频| 亚洲国产欧美一区二区综合| 亚洲国产欧美在线一区| 亚洲精品成人av观看孕妇| 丝袜人妻中文字幕| 亚洲欧美激情在线| 91国产中文字幕| 黄色 视频免费看| 视频区图区小说| 精品亚洲乱码少妇综合久久| 亚洲精品乱久久久久久| 国产不卡一卡二| 午夜成年电影在线免费观看| 亚洲精品一二三| 99精品在免费线老司机午夜| 日韩视频一区二区在线观看| 欧美国产精品va在线观看不卡| 国产精品久久久久久人妻精品电影 | 三上悠亚av全集在线观看| 桃花免费在线播放| 精品视频人人做人人爽| 久久午夜综合久久蜜桃| 老汉色av国产亚洲站长工具| 一区二区三区国产精品乱码| 久久人妻福利社区极品人妻图片| 日韩中文字幕欧美一区二区| av又黄又爽大尺度在线免费看| 黄色视频不卡| 亚洲专区国产一区二区| 国产97色在线日韩免费| 日本黄色日本黄色录像| 九色亚洲精品在线播放| 老司机午夜十八禁免费视频| 亚洲成av片中文字幕在线观看| 久久久久网色| aaaaa片日本免费| 黄片小视频在线播放| 国产精品熟女久久久久浪| 国产精品美女特级片免费视频播放器 | 两人在一起打扑克的视频| 深夜精品福利| 9热在线视频观看99| 性少妇av在线| 99国产精品免费福利视频| 欧美日韩av久久| 日韩一卡2卡3卡4卡2021年| 久久中文看片网| 久久久久网色| 亚洲人成伊人成综合网2020| 亚洲久久久国产精品| 亚洲色图av天堂| 色婷婷av一区二区三区视频| 精品人妻熟女毛片av久久网站| 水蜜桃什么品种好| 成人国语在线视频| 国产精品九九99| 成人特级黄色片久久久久久久 | 日本五十路高清|