• 
    

    
    

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

      開(kāi)源軟件缺陷報(bào)告自動(dòng)摘要研究綜述

      2022-12-16 10:18:24劉翠蘭張嘉元曹旭棟伍高飛朱笑巖任家東
      信息安全學(xué)報(bào) 2022年6期
      關(guān)鍵詞:可視化報(bào)告文獻(xiàn)

      劉翠蘭 , 張嘉元 , 曹旭棟 , 伍高飛 , 朱笑巖, 任家東, 馮 濤

      1西安電子科技大學(xué) 廣州研究院 廣州 中國(guó) 510555

      2桂林電子科技大學(xué) 廣西密碼學(xué)與信息安全重點(diǎn)實(shí)驗(yàn)室 桂林 中國(guó) 541004

      3蘭州理工大學(xué) 計(jì)算機(jī)與通信學(xué)院 蘭州 中國(guó) 730050

      4中國(guó)科學(xué)院大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 北京 中國(guó) 101408

      5國(guó)家計(jì)算機(jī)網(wǎng)絡(luò)入侵防范中心(中國(guó)科學(xué)院大學(xué)) 北京 中國(guó) 101408

      6西安電子科技大學(xué) 通信工程學(xué)院 西安 中國(guó) 710071

      7燕山大學(xué) 信息科學(xué)與技術(shù)學(xué)院 秦皇島 中國(guó) 066004

      1 引言

      開(kāi)源軟件在不斷地迭代和使用過(guò)程中, 會(huì)出現(xiàn)很多軟件缺陷[1]。軟件缺陷通常以軟件缺陷報(bào)告的形式存在于開(kāi)源軟件缺陷庫(kù)中, 開(kāi)源軟件缺陷報(bào)告摘要研究常用開(kāi)源軟件缺陷庫(kù)及其URL如表1所示。缺陷報(bào)告內(nèi)蘊(yùn)含了關(guān)于所描述軟件缺陷的有價(jià)值信息, 對(duì)于軟件開(kāi)發(fā)人員來(lái)說(shuō), 參考缺陷報(bào)告來(lái)修復(fù)軟件缺陷是至關(guān)重要的。

      表1 常用開(kāi)源軟件缺陷庫(kù)Table 1 Common open source software bug library

      一個(gè)完整的缺陷報(bào)告通產(chǎn)包含3種類型的數(shù)據(jù):文本數(shù)據(jù)、元數(shù)據(jù)和附件。文本數(shù)據(jù)由標(biāo)題、描述和評(píng)論組成, 標(biāo)題是關(guān)于缺陷的簡(jiǎn)要介紹, 描述是缺陷的概述及重現(xiàn)步驟, 評(píng)論是報(bào)告者與用戶以對(duì)話形式對(duì)缺陷的討論。元數(shù)據(jù)是關(guān)于缺陷的各種信息, 比如缺陷編號(hào)、產(chǎn)品名稱、軟件版本、嚴(yán)重性、報(bào)告者等。附件是缺陷產(chǎn)生的日志信息, 目的是為了更清楚地說(shuō)明缺陷[2]。圖1顯示了Kernel缺陷庫(kù)中ID為208253的缺陷報(bào)告的一部分信息及對(duì)應(yīng)的數(shù)據(jù)類型。多個(gè)用戶以評(píng)論的形式交互討論, 產(chǎn)生了大量的消息對(duì)話。為了理解缺陷報(bào)告, 開(kāi)發(fā)人員必須仔細(xì)閱讀所有的評(píng)論, 這是一個(gè)相當(dāng)耗時(shí)且乏味的任務(wù)。缺陷報(bào)告自動(dòng)摘要可以減少閱讀冗長(zhǎng)缺陷報(bào)告的時(shí)間。缺陷報(bào)告摘要的一種產(chǎn)生方式是指派一個(gè)項(xiàng)目成員(例如開(kāi)發(fā)人員)在缺陷報(bào)告得到解決時(shí)編寫(xiě)報(bào)告摘要。然而, 考慮到大多數(shù)軟件項(xiàng)目的時(shí)間和資源限制, 這不是一個(gè)實(shí)用的解決方案。因此, 自動(dòng)缺陷報(bào)告摘要成為解決這一問(wèn)題的重要方法[3]。

      圖1 Kernel缺陷庫(kù)中ID為208253的缺陷報(bào)告的部分內(nèi)容及對(duì)應(yīng)數(shù)據(jù)類型Figure 1 Some contents and corresponding data types of the bug report with ID 208253 in the Kernel bug library

      文本摘要在產(chǎn)生方法上可以分類為: 抽取式摘要和生成式摘要。抽取式摘要是指從文本中選取若干重要句子直接組合成摘要[4], 生成式摘要是通過(guò)對(duì)文本內(nèi)容進(jìn)行理解來(lái)概括出主要內(nèi)容[5], 因此需要較大的數(shù)據(jù)集, 最終獲得更貼切人類撰寫(xiě)的摘要。在缺陷報(bào)告摘要領(lǐng)域, 摘要方法主要是朝著抽取式摘要的方向發(fā)展[2]。缺陷報(bào)告摘要在表現(xiàn)形式上又可以分類為固定缺陷報(bào)告摘要和可視化缺陷報(bào)告摘要,固定缺陷報(bào)告摘要的內(nèi)容不可變, 而可視化缺陷報(bào)告摘要的內(nèi)容可隨關(guān)鍵詞的變化而變化。固定缺陷報(bào)告摘要方法可以分為有監(jiān)督學(xué)習(xí)方法和無(wú)監(jiān)督學(xué)習(xí)方法。經(jīng)過(guò)調(diào)研發(fā)現(xiàn), 缺陷報(bào)告摘要的研究主要集中在2010年以后, 皆為抽取式摘要, 且基于無(wú)監(jiān)督學(xué)習(xí)的方法較多。目前已存在4篇相關(guān)的英文綜述,文獻(xiàn)綜述[6-7]沒(méi)有對(duì)缺陷報(bào)告摘要方法進(jìn)行詳細(xì)的分類, 文獻(xiàn)綜述[8]將缺陷報(bào)告摘要方法分類后只選擇了五篇文獻(xiàn)進(jìn)行深入分析, 文獻(xiàn)綜述[9]總結(jié)的是2010年1月至2016年4月期間的缺陷報(bào)告摘要研究成果。由此可見(jiàn), 目前尚缺乏對(duì)缺陷報(bào)告自動(dòng)摘要任務(wù)進(jìn)行系統(tǒng)研究的中文綜述。

      我們分別檢索了萬(wàn)方、知網(wǎng)、IEEE、ACM、SCI、Springer、EI等數(shù)據(jù)庫(kù)在2010至2022年6月期間收錄的研究工作, 然后進(jìn)一步根據(jù)標(biāo)題、摘要和研究?jī)?nèi)容篩選論文, 最后選出切題文獻(xiàn)共40篇, 如圖2所示。

      圖2 缺陷報(bào)告摘要領(lǐng)域研究文獻(xiàn)數(shù)量Figure 2 Number of research literatures in bug report summary field

      本文的主要貢獻(xiàn)有3個(gè)方面:

      1) 廣泛收集并調(diào)研了缺陷報(bào)告自動(dòng)摘要領(lǐng)域的現(xiàn)有相關(guān)文獻(xiàn), 闡述了基于監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)抽取式缺陷報(bào)告摘要生成框架。以無(wú)監(jiān)督學(xué)習(xí)為切入點(diǎn), 分類闡述對(duì)比現(xiàn)有無(wú)監(jiān)督缺陷報(bào)告摘要方法。此外, 還介紹了常用缺陷報(bào)告數(shù)據(jù)集、預(yù)處理技術(shù)和摘要評(píng)估指標(biāo)。

      2) 從缺陷報(bào)告摘要的實(shí)用性出發(fā), 對(duì)現(xiàn)有的缺陷報(bào)告可視化摘要研究成果進(jìn)行總結(jié), 并對(duì)固定缺陷報(bào)告摘要和可視化缺陷報(bào)告摘要用于實(shí)際應(yīng)用場(chǎng)景的可能性做出討論與分析。

      3) 對(duì)已有開(kāi)源軟件缺陷報(bào)告自動(dòng)摘要研究工作進(jìn)行總結(jié), 分析當(dāng)前開(kāi)源軟件缺陷報(bào)告自動(dòng)摘要領(lǐng)域面臨的三大挑戰(zhàn)和機(jī)遇, 并對(duì)未來(lái)的研究趨勢(shì)進(jìn)行展望。

      2 基于監(jiān)督學(xué)習(xí)的缺陷報(bào)告摘要

      基于監(jiān)督學(xué)習(xí)的缺陷報(bào)告摘要方法使用經(jīng)過(guò)訓(xùn)練的模型來(lái)計(jì)算句子權(quán)重, 再選擇權(quán)重值較高的句子構(gòu)成摘要。本節(jié)分析了缺陷報(bào)告摘要有監(jiān)督學(xué)習(xí)方法框架, 并歸納了常用缺陷報(bào)告數(shù)據(jù)集、預(yù)處理技術(shù)、提取特征方法和摘要評(píng)估指標(biāo)。

      2.1 監(jiān)督學(xué)習(xí)摘要方法框架

      通過(guò)調(diào)研現(xiàn)有的研究工作, 我們給出了監(jiān)督學(xué)習(xí)抽取式缺陷報(bào)告摘要的一般流程, 包括缺陷報(bào)告收集、模型訓(xùn)練和模型測(cè)試三個(gè)階段, 如圖3所示。

      圖3 缺陷報(bào)告摘要有監(jiān)督學(xué)習(xí)方法框架圖Figure 3 Bug report summary supervised learning methodology framework

      在缺陷報(bào)告收集階段, 從開(kāi)源軟件缺陷庫(kù)中收集缺陷報(bào)告或使用已公開(kāi)的缺陷報(bào)告數(shù)據(jù)集作為訓(xùn)練集和測(cè)試集。

      在模型訓(xùn)練階段, 將訓(xùn)練集進(jìn)行預(yù)處理, 例如分段、標(biāo)記化、移除停止詞和詞干提取等[10], 來(lái)整理原始缺陷報(bào)告并進(jìn)行格式化。從預(yù)處理后的數(shù)據(jù)中提取文本特征并將句子表示為向量形式, 將句子向量和句子標(biāo)簽輸入模型, 評(píng)估文本特征以訓(xùn)練統(tǒng)計(jì)模型, 如邏輯回歸、決策樹(shù)等。

      在模型測(cè)試階段, 測(cè)試集預(yù)處理并提取文本特征后, 將句子向量輸入統(tǒng)計(jì)模型來(lái)預(yù)測(cè)句子屬于摘要的概率, 并選擇概率值較高的句子組成摘要。最后,使用評(píng)估指標(biāo)來(lái)評(píng)估摘要。

      2.2 缺陷報(bào)告數(shù)據(jù)集

      在缺陷報(bào)告摘要領(lǐng)域, 常用的公開(kāi)數(shù)據(jù)集為SDS(Summary Data Set)。SDS數(shù)據(jù)集由文獻(xiàn)[11-12]提出, 包括36個(gè)缺陷報(bào)告。這36個(gè)缺陷報(bào)告來(lái)自四個(gè)開(kāi)源軟件項(xiàng)目, 分別是Eclipse、Mozilla、KDE和Gnome, 共包含2361個(gè)句子。SDS數(shù)據(jù)集由來(lái)自英屬哥倫比亞大學(xué)計(jì)算機(jī)系的十名研究生來(lái)注釋, 每個(gè)注釋員從4個(gè)軟件項(xiàng)目中選擇一個(gè)缺陷報(bào)告。對(duì)于每個(gè)缺陷報(bào)告, 注釋員用他們自己的句子(最多250個(gè)單詞)編寫(xiě)缺陷報(bào)告的生成式摘要。接著, 將生成式摘要中的每一個(gè)句子映射到缺陷報(bào)告中的一個(gè)或者多個(gè)句子, 再根據(jù)映射寫(xiě)出缺陷報(bào)告的抽取式摘要。因?yàn)榭偨Y(jié)是一個(gè)主觀過(guò)程, 所以為每個(gè)缺陷報(bào)告分配了3個(gè)注釋員, 并使用kappa測(cè)試[13]來(lái)衡量注釋員們將生成式摘要句子映射到缺陷報(bào)告句子的一致程度。Kappa測(cè)試結(jié)果為0.41, 顯示為中等程度的一致性。之后結(jié)合缺陷報(bào)告的3個(gè)生成式摘要, 根據(jù)將生成式摘要句子映射到缺陷報(bào)告中句子的注釋員人數(shù), 為缺陷報(bào)告中的每個(gè)句子打分。

      對(duì)于缺陷報(bào)告中的句子, 如果沒(méi)有任何注釋員將其映射, 那么分?jǐn)?shù)為0, 如果有3個(gè)注釋員在其生成式摘要中都與該句子有映射, 那么分?jǐn)?shù)為3。如果一個(gè)句子的得分為2分及以上, 則該句子被視為摘要的一部分。對(duì)于每個(gè)缺陷報(bào)告, 得分為2分或2分以上的句子集稱為黃金標(biāo)準(zhǔn)摘要(Gold Standard Summary, GSS), GSS即為人工編寫(xiě)的缺陷報(bào)告摘要。

      2.3 預(yù)處理技術(shù)

      缺陷報(bào)告預(yù)處理包括句子預(yù)處理和句子過(guò)濾。句子預(yù)處理步驟包括分段、標(biāo)記化、刪除停止詞、詞干提取[10]。句子過(guò)濾是指過(guò)濾掉對(duì)摘要提取無(wú)意義的句子, 常見(jiàn)的被過(guò)濾的句子類型有代碼片段、堆棧跟蹤。

      分段:使用分隔符(如“.”、“!”、“?”)將缺陷報(bào)告分成多個(gè)句子。

      標(biāo)記化:把句子標(biāo)記為基本的語(yǔ)言單位[14], 即單詞、短語(yǔ)。

      刪除停止詞: 停止詞是指對(duì)文本數(shù)據(jù)沒(méi)有意義的單詞, 常見(jiàn)的停止詞有“the”、“a”、“this”等等。

      詞干提取:詞干指的是單詞的詞根, 通過(guò)去除前綴和后綴, 將單詞轉(zhuǎn)變?yōu)樵~根形式[10]。例如, 單詞“absorbing”被提取為詞根形式“absorb”。

      文獻(xiàn)[15]增加了一個(gè)預(yù)處理步驟, 從缺陷報(bào)告中過(guò)濾掉噪音句子。他們將句子分類為疑問(wèn)句、調(diào)查句、代碼句子、其他句子, 并將代碼句子和其他句子作為噪音過(guò)濾掉。文獻(xiàn)[16-17]提出了句子可信度來(lái)衡量交互討論中的一個(gè)句子被認(rèn)可與否的程度, 來(lái)減少有爭(zhēng)議的句子被選入摘要的可能性。

      2.4 特征提取方法

      分析并總結(jié)重要性句子的特征, 再通過(guò)是否擁有這些特征來(lái)判斷缺陷報(bào)告中每個(gè)句子的重要性。文獻(xiàn)[11-12]首次提出使用監(jiān)督學(xué)習(xí)來(lái)提取缺陷報(bào)告摘要, 提出了24種特征, 并將這24種特征分為四大類: 結(jié)構(gòu)特征、參與者特征、句子長(zhǎng)度特征和詞匯特征。文獻(xiàn)[14]將所有句子分為6類: 問(wèn)題、代碼、調(diào)查、人為因素、程序和其他。其他類句子會(huì)被過(guò)濾掉,剩下的句子被認(rèn)為是信息性句子, 再將文獻(xiàn)[11-12]中的24種特征用于信息性句子來(lái)提取摘要。文獻(xiàn)[18]提出基于眾包屬性邏輯回歸(Logistic Regression with Crowdsourced Attributes, LRCA)方法, 它們通過(guò)篩選提取眾包數(shù)據(jù)來(lái)構(gòu)建特征。文獻(xiàn)[19-20]使用術(shù)語(yǔ)頻率-逆文檔頻率(Term Frequency-Inverse Document Frequency, TF-IDF)[21]、卡方檢驗(yàn)、信息增益方法和句子復(fù)雜度來(lái)選取關(guān)鍵詞和關(guān)鍵句。文獻(xiàn)[22]將缺陷報(bào)告中的句子意圖分為七類: 缺陷描述、解決方案、表達(dá)的意見(jiàn)、信息搜索、提供信息、代碼、情感表達(dá), 訓(xùn)練一個(gè)意圖分類器來(lái)自動(dòng)獲取缺陷報(bào)告中句子的意圖及其權(quán)重。文獻(xiàn)[23]考察了文獻(xiàn)[11-12]在不使用復(fù)雜特征的情況下是否還能創(chuàng)建合理的缺陷報(bào)告摘要, 發(fā)現(xiàn)缺少一些復(fù)雜的特征會(huì)導(dǎo)致摘要的精確度和召回率降低, 并確認(rèn)句子長(zhǎng)度是缺陷報(bào)告摘要的最重要特征。

      缺陷報(bào)告句子提取特征之后, 將句子表示為向量形式。在現(xiàn)有的監(jiān)督學(xué)習(xí)缺陷報(bào)告摘要研究中, 句子向量的維數(shù)與特征的總數(shù)相同, 一維代表一個(gè)特征, 若句子中包含該特征, 則句子向量中對(duì)應(yīng)維的值是1, 否則為0。句子標(biāo)簽值為1或0, 標(biāo)簽值為1表示一個(gè)摘要句子, 標(biāo)簽值為0表示一個(gè)普通句子。將句子向量和句子標(biāo)簽輸入模型來(lái)評(píng)估特征, 計(jì)算每個(gè)特征的權(quán)重, 句子權(quán)重值為包含的特征權(quán)重之和, 將句子權(quán)重值按降序排序, 選擇排名靠前的句子組成摘要。文獻(xiàn)[11-12]選擇前25%句子組成摘要,并且被認(rèn)為是摘要的最合適長(zhǎng)度, 廣泛應(yīng)用于現(xiàn)有的缺陷報(bào)告摘要研究中。

      2.5 摘要評(píng)估指標(biāo)

      可以從準(zhǔn)確性和可讀性兩個(gè)角度來(lái)評(píng)估摘要方法的性能[16-17]。準(zhǔn)確性是指與黃金標(biāo)準(zhǔn)摘要對(duì)比, 生成摘要(Generated Summary, GS)句子的準(zhǔn)確性, 衡量方法的準(zhǔn)確性指標(biāo)包括精確度(Precision)、召回率(Recall)和F分?jǐn)?shù)(F-score)。可讀性是指生成摘要的連貫性, 衡量方法的可讀性指標(biāo)主要是Rouge-n。Rouge-n量化生成摘要和黃金標(biāo)準(zhǔn)摘要之間重疊的單詞數(shù),n通常取1(對(duì)應(yīng)于1-gram)和2(對(duì)應(yīng)于2-gram)[24]。對(duì)以上所有指標(biāo)來(lái)說(shuō), 評(píng)估指標(biāo)的值越大, 說(shuō)明生成摘要的質(zhì)量越高。

      精確度:選擇生成摘要(GS)和黃金標(biāo)準(zhǔn)摘要(GSS)中出現(xiàn)的句子數(shù)除以生成摘要(GS)中的句子總數(shù)[10], 計(jì)算如公式1所示。

      召回率:選擇生成摘要(GS)和黃金標(biāo)準(zhǔn)摘要(GSS)中出現(xiàn)的句子數(shù)除以黃金標(biāo)準(zhǔn)摘要(GSS)中的句子總數(shù)[10], 計(jì)算如公式2所示。

      F分?jǐn)?shù):表示計(jì)算出的精確度和召回率的調(diào)和平均值, 并描述了所提出方法的總體性能[10], 計(jì)算如公式3所示。

      Rouge-n:分母是黃金標(biāo)準(zhǔn)摘要(GSS)n-gram[25]的個(gè)數(shù), 分子是黃金標(biāo)準(zhǔn)摘要(GSS)和生成摘要(GS)共有的n-gram的個(gè)數(shù), 計(jì)算如公式4所示。

      3 基于無(wú)監(jiān)督學(xué)習(xí)的缺陷報(bào)告摘要

      基于無(wú)監(jiān)督方法的缺陷報(bào)告不使用經(jīng)過(guò)訓(xùn)練的模型來(lái)生成摘要, 通常是根據(jù)缺陷報(bào)告中句子的重要性為每個(gè)句子分配一個(gè)度量值, 并選擇度量值排名靠前的句子形成摘要。本節(jié)分析了缺陷報(bào)告摘要無(wú)監(jiān)督學(xué)習(xí)方法框架, 并對(duì)為句子賦予權(quán)重的方法進(jìn)行分類總結(jié)。

      3.1 無(wú)監(jiān)督學(xué)習(xí)摘要方法框架

      從開(kāi)源軟件缺陷庫(kù)中收集缺陷報(bào)告后, 對(duì)缺陷報(bào)告進(jìn)行預(yù)處理, 使用基于特征評(píng)分、基于深度學(xué)習(xí)和基于啟發(fā)式等方法為句子賦予權(quán)重, 并使用權(quán)重值靠前的句子組成摘要。最后, 使用評(píng)估指標(biāo)來(lái)評(píng)估摘要, 過(guò)程如圖4所示?;诒O(jiān)督學(xué)習(xí)和基于無(wú)監(jiān)督學(xué)習(xí)的缺陷報(bào)告摘要在數(shù)據(jù)集收集、預(yù)處理和摘要評(píng)估方面使用的方法相同。

      圖4 缺陷報(bào)告摘要無(wú)監(jiān)督方法框架圖Figure 4 Framework of unsupervised method for bug report summary

      3.2 無(wú)監(jiān)督學(xué)習(xí)摘要方法分類

      本文在開(kāi)源軟件缺陷報(bào)告摘要領(lǐng)域現(xiàn)有研究的基礎(chǔ)上, 將句子賦予權(quán)重的方法分類為: 基于特征評(píng)分、基于深度學(xué)習(xí)、基于圖和基于啟發(fā)式方法, 方法對(duì)比見(jiàn)表2。

      表2 基于無(wú)監(jiān)督學(xué)習(xí)的缺陷報(bào)告摘要方法分類Table 2 Classification of bug report summary method based on unsupervised learning

      3.2.1 基于特征評(píng)分的方法

      基于特征評(píng)分的方法是指為句子中的特征賦予權(quán)重, 為包含這些特征的句子賦予度量值, 再將度量值較高的句子組成摘要。特征包括詞頻、與標(biāo)題或主題的相似度, 以及句子長(zhǎng)度、句子位置等[26]。

      文獻(xiàn)[10]提出了基于關(guān)鍵字和句子的缺陷報(bào)告摘要方法, 他們將特征分為關(guān)鍵字特征和句子特征,關(guān)鍵字特征提取使用TF-IDF方法和快速自動(dòng)關(guān)鍵詞提取(Rapid Automatic Keyword Extraction,RAKE)[27]方法, 句子特征提取使用模糊C均值聚類算法[28]等。然后, 根據(jù)關(guān)鍵字和句子特征構(gòu)建規(guī)則引擎來(lái)選擇缺陷報(bào)告中的句子組成摘要。對(duì)生成的摘要再使用層次聚類算法來(lái)去除冗余, 最終生成缺陷報(bào)告摘要。

      文獻(xiàn)[15]中介紹了中心(Centroid)[29]和最大邊緣相關(guān)(Maximal Marginal Relevance, MMR)[30]兩種基于特征評(píng)分的無(wú)監(jiān)督學(xué)習(xí)方法。Centroid方法是基于句子的詞頻特征來(lái)生成摘要。缺陷報(bào)告中的句子表示為TF-IDF的加權(quán)向量, 通過(guò)加權(quán)向量來(lái)尋找中心句子。其中, 中心句子是一個(gè)偽句子, 其向量的權(quán)重等于缺陷報(bào)告中所有句子向量的平均值。中心句子中包含的詞稱為中心詞, 而包含中心詞的句子更能代表文檔的主題。每個(gè)句子中包含的中心詞權(quán)重之和稱為句子中心值, 按句子中心值的降序排序, 并選擇排名靠前的句子構(gòu)建摘要。MMR方法除了使用詞頻特征外, 還使用了句子相異度特征。句子相異度值為句子余弦相似度的負(fù)值。在摘要句子選擇過(guò)程中, MMR方法通過(guò)向摘要句子集中遞增句子來(lái)生成摘要, 如果一個(gè)句子除了中心性之外, 與已經(jīng)選擇的摘要句子具有最小的相似性, 那么該句子應(yīng)該包含在摘要中。

      文獻(xiàn)[31]提出了基于兩級(jí)特征提取生成缺陷報(bào)告摘要的方法, 將特征分為評(píng)論選擇特征和句子選擇特征。先使用評(píng)論選擇特征進(jìn)行評(píng)論選擇, 再?gòu)倪@些評(píng)論中使用句子選擇特征選取句子創(chuàng)建評(píng)論摘要。其次使用PageRank算法[32]和基于詞典的方法[33]來(lái)創(chuàng)建描述字段的摘要, 再使用基于圖模型的方法來(lái)提取標(biāo)題。最后再將標(biāo)題、描述摘要和評(píng)論摘要結(jié)合在一起形成最終摘要。討論1.本節(jié)總結(jié)歸納了基于特征評(píng)分的缺陷報(bào)告生成摘要方法, 分別從特征類型、特征描述、數(shù)據(jù)集的選擇和摘要評(píng)估指標(biāo)等多個(gè)角度進(jìn)行分析和對(duì)比, 如表3所示。從特征類型和特征描述而言, 特征可以根據(jù)表示范圍分為評(píng)論特征、句子特征和關(guān)鍵字特征。每個(gè)句子擁有的特征越多, 其重要性就越大,則被選入缺陷報(bào)告摘要的可能性就越大。從數(shù)據(jù)集類型上看, 基于特征評(píng)分的缺陷報(bào)告摘要方法主要使用SDS數(shù)據(jù)集。從評(píng)估指標(biāo)上看, 不同的數(shù)據(jù)集對(duì)摘要評(píng)估的影響不同, 文獻(xiàn)[10]生成的缺陷報(bào)告摘要質(zhì)量較好。

      表3 基于特征評(píng)分的缺陷報(bào)告摘要工作對(duì)比Table 3 Comparison of bug report summary based on feature scoring

      觀點(diǎn)1.基于特征評(píng)分的缺陷報(bào)告摘要方法能夠直接判斷關(guān)鍵字或句子包含的特征, 并為特征賦予合適的度量值。句子的度量值為包含特征度量值的總和, 將句子度量值按降序排列, 選擇排名靠前的句子組成摘要。通過(guò)分析和對(duì)比現(xiàn)有的研究工作, 本文發(fā)現(xiàn): 1)根據(jù)詞頻和句子中心性來(lái)選擇摘要句子,會(huì)造成語(yǔ)句冗余、內(nèi)容單薄; 2)句子相異性可以有效減緩由句子中心性來(lái)帶的語(yǔ)句冗余問(wèn)題。

      3.2.2 基于深度學(xué)習(xí)的方法

      深度學(xué)習(xí)方法利用自動(dòng)編碼網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)等神經(jīng)網(wǎng)絡(luò)模型對(duì)原文建模得到文本單元表示后進(jìn)行文本單元的抽取形成摘要[26]。

      文獻(xiàn)[16-17]提出了BugSum(Bug Summarization)方法, 他們考慮了缺陷報(bào)告對(duì)話中蘊(yùn)含的表達(dá)贊成或反對(duì)態(tài)度的行為進(jìn)行評(píng)估, 并提出了句子可信度特征。被其他句子支持的句子更可信, 其可信度較高;而有爭(zhēng)議的句子可能不正確, 其可信度較低。使用經(jīng)過(guò)訓(xùn)練的自動(dòng)編碼網(wǎng)絡(luò)[34]將句子轉(zhuǎn)換為向量, 并將句子的可信度評(píng)分合并到向量中, 以減少有爭(zhēng)議的句子被選入摘要的可能性。最后, 使用一種同時(shí)考慮到句子信息性和全面性的動(dòng)態(tài)策略來(lái)優(yōu)化缺陷報(bào)告摘要的自動(dòng)生成過(guò)程。

      文獻(xiàn)[35]提出了基于深度學(xué)習(xí)的缺陷報(bào)告摘要(Deep Summary, DeepSum)方法, DeepSum方法的核心是一個(gè)階梯式自動(dòng)編碼網(wǎng)絡(luò)。DeepSum方法的基本思想是: 深層神經(jīng)網(wǎng)絡(luò)的隱藏層是缺陷報(bào)告中句子的特征向量的壓縮表達(dá)式。通過(guò)使用句子選擇算法測(cè)量每個(gè)句子對(duì)這個(gè)壓縮表達(dá)式的權(quán)重, 來(lái)選取缺陷報(bào)告摘要中的句子。DeepSum方法使用評(píng)估增強(qiáng)模塊來(lái)過(guò)濾冗余句子, 然后, 它將不同句子類型的向量逐步輸入到自動(dòng)編碼器網(wǎng)絡(luò)中, 來(lái)自動(dòng)測(cè)量不同句子類型中單詞的權(quán)重。最后, 采用動(dòng)態(tài)規(guī)劃的方法提取缺陷報(bào)告摘要中的句子。

      文獻(xiàn)[36]提出的方法是: 缺陷報(bào)告預(yù)處理后, 使用句子嵌入[37]將句子轉(zhuǎn)換為向量形式。再使用K-均值聚類算法[38]將句子聚類, 在每一類中選擇一個(gè)句子, 根據(jù)句子的信息性對(duì)句子進(jìn)行排名, 選擇排名靠前的句子組成缺陷報(bào)告摘要。句子嵌入使用Skip-Thought[39]方法, Skip-Thought方法帶有GRU(Gated Recurrent Unit)激活的RNN編碼器和GRU激活的RNN解碼器。

      文獻(xiàn)[40]提出一種基于深度學(xué)習(xí)和句子重要性因素的缺陷報(bào)告摘要方法。此方法有4個(gè)輸入: 第1個(gè)輸入是要提取摘要的缺陷報(bào)告, 第2個(gè)輸入是句子重要性因素列表, 第3個(gè)輸入是句子重要性因素的權(quán)重, 第4個(gè)輸入是輸出摘要的長(zhǎng)度, 最終輸出為缺陷報(bào)告摘要。在該方法中, 句子重要性因素包括句子可信度、句子間銜接程度和話題關(guān)聯(lián)程度。其中,句子可信度是指該句子在交互討論中被認(rèn)可的程度,句子間銜接程度為句子與句子之間銜接自然連貫的程度, 話題關(guān)聯(lián)程度即為這句話與標(biāo)題之間的相似性。缺陷報(bào)告預(yù)處理后, 使用自動(dòng)編碼網(wǎng)絡(luò)提取句子特征, 再根據(jù)句子重要性因素及其相應(yīng)的權(quán)重計(jì)算句子分?jǐn)?shù), 最后根據(jù)輸入的摘要長(zhǎng)度選擇句子組成摘要。

      討論2.表4總結(jié)了現(xiàn)有的基于深度學(xué)習(xí)的缺陷報(bào)告摘要研究, 并從方法描述、數(shù)據(jù)集和評(píng)估指標(biāo)角度進(jìn)行對(duì)比和分析。從方法描述而言, 自動(dòng)編碼網(wǎng)絡(luò)在基于深度學(xué)習(xí)的缺陷報(bào)告摘要中較受歡迎。從數(shù)據(jù)集上看, 基于深度學(xué)習(xí)的缺陷報(bào)告摘要研究中的數(shù)據(jù)集以SDS為主。從評(píng)估指標(biāo)而言, 文獻(xiàn)[16-17]生成摘要的準(zhǔn)確性和可讀性較好。

      表4 基于深度學(xué)習(xí)的缺陷報(bào)告摘要工作對(duì)比Table 4 Comparison of bug report summary based on deep learning

      觀點(diǎn)2.在現(xiàn)有研究中, 基于深度學(xué)習(xí)的缺陷報(bào)告摘要方法使用自動(dòng)編碼網(wǎng)絡(luò)來(lái)生成摘要, 首先將句子轉(zhuǎn)為向量形式, 再將句子向量輸入自動(dòng)編碼網(wǎng)絡(luò)進(jìn)行訓(xùn)練來(lái)得到單詞的權(quán)重。本文發(fā)現(xiàn): 1) 使用動(dòng)態(tài)規(guī)劃句子選擇算法可以高效地生成不同長(zhǎng)度的句子摘要; 2)在生成摘要的過(guò)程中, 自動(dòng)編碼網(wǎng)絡(luò)需要大量的訓(xùn)練數(shù)據(jù), 所以運(yùn)行時(shí)間較長(zhǎng), 使用深度學(xué)習(xí)生成缺陷報(bào)告的速度較慢; 3)句子可信度可以有效避免有爭(zhēng)議的句子選入摘要, 提高摘要的準(zhǔn)確性和可讀性。

      3.2.3 基于圖的方法

      缺陷報(bào)告摘要的文本單元是句子, 基于圖的方法是句子構(gòu)成圖的頂點(diǎn), 兩個(gè)相似的點(diǎn)用邊連接起來(lái), 將文本構(gòu)建成拓?fù)浣Y(jié)構(gòu)圖[26]。常見(jiàn)的圖排序算法有PageRank和TextRank[41]等。

      文獻(xiàn)[15]中介紹了Grasshopper (Graph random-walk with absorbing that hop’s among peaks for ranking )[42]和DivRank(Diverse Rank)[43]兩種基于圖文檔排序的無(wú)監(jiān)督學(xué)習(xí)方法。Grasshopper方法強(qiáng)調(diào)多樣性, 它將文檔概括為一個(gè)圖, 其中每個(gè)句子概括為一個(gè)節(jié)點(diǎn), 這些節(jié)點(diǎn)之間的邊被分配了一個(gè)等于句子相似性的權(quán)重。Grasshopper算法在這個(gè)圖上執(zhí)行隨機(jī)游動(dòng), 以獲得圖的平穩(wěn)分布, 即獲得隨機(jī)游動(dòng)訪問(wèn)節(jié)點(diǎn)的概率, 其中概率較高的節(jié)點(diǎn)對(duì)文檔更重要, 所以選擇訪問(wèn)概率較高的句子組成缺陷報(bào)告摘要。DivRank方法在數(shù)據(jù)的圖形表示中也使用了隨機(jī)游動(dòng), 該方法中的隨機(jī)游動(dòng)是一種時(shí)間變異游動(dòng)。從一個(gè)節(jié)點(diǎn)到另一個(gè)節(jié)點(diǎn)的轉(zhuǎn)移概率通過(guò)之前訪問(wèn)該節(jié)點(diǎn)的次數(shù)得到加強(qiáng), 從而導(dǎo)致轉(zhuǎn)移概率隨著時(shí)間的推移而變化。

      文獻(xiàn)[44]提出了Hurried方法來(lái)模擬匆忙閱讀缺陷報(bào)告時(shí)如何總結(jié)摘要。Hurried方法基于一個(gè)假設(shè)模型, 即當(dāng)時(shí)間緊迫時(shí), 一個(gè)人將把注意力集中在他認(rèn)為最重要的句子上, 并對(duì)讀者認(rèn)為重要的句子類型提出三個(gè)假設(shè): 討論與主題相關(guān)的句子、被其他句子評(píng)論的句子, 以及與標(biāo)題和描述相似的句子。使用該假設(shè)模型根據(jù)句子被閱讀的概率對(duì)其進(jìn)行排序,并用概率最高的句子組成摘要。Hurried方法使用馬爾科夫鏈對(duì)這三個(gè)假設(shè)進(jìn)行建模, 馬爾科夫鏈?zhǔn)且环N有向圖, 其中節(jié)點(diǎn)表示狀態(tài), 節(jié)點(diǎn)之間的邊模擬狀態(tài)之間的轉(zhuǎn)移概率。為了模擬匆忙閱讀缺陷報(bào)告讀取過(guò)程, 將缺陷報(bào)告中的每個(gè)句子表示為馬爾科夫鏈中的一個(gè)節(jié)點(diǎn), 其中每個(gè)邊mi,j表示從句子si轉(zhuǎn)換到句子sj的概率。第一個(gè)假設(shè)是用戶在閱讀一個(gè)句子后, 接下來(lái)要閱讀的句子是與上一個(gè)句子談?wù)擃愃浦黝}的句子。這在馬爾科夫鏈中建模表示為: 談?wù)擃愃浦黝}的句子之間的轉(zhuǎn)移概率應(yīng)該高于不談?wù)擃愃浦黝}的句子之間的轉(zhuǎn)移概率。第二個(gè)假設(shè)是用戶應(yīng)該注意已經(jīng)被其他句子評(píng)論過(guò)的句子, 這在馬爾科夫鏈中意味著從一個(gè)句子到被評(píng)價(jià)句子的轉(zhuǎn)換概率應(yīng)該比到其他句子的轉(zhuǎn)換概率更高。第三個(gè)假設(shè)是用戶將注意力集中在討論缺陷報(bào)告標(biāo)題和描述上, 因此在描述中的每個(gè)句子中添加一個(gè)鏈接, 來(lái)提高與缺陷描述主題相似的句子的相關(guān)性。

      缺陷庫(kù)中存在大量重復(fù)的缺陷報(bào)告, 重復(fù)的缺陷報(bào)告是指使用不同的文本描述相同缺陷的缺陷報(bào)告集。重復(fù)缺陷報(bào)告集中選擇一個(gè)缺陷報(bào)告作為主缺陷報(bào)告, 剩余缺陷報(bào)告稱為重復(fù)缺陷報(bào)告。文獻(xiàn)[45]提出了基于PageRank的摘要技術(shù)(PageRankbased Summarization Technique, PRST), 創(chuàng)建了MBRC(Modified Bug Report Corpus)數(shù)據(jù)集和OSCAR數(shù)據(jù)集。PRST方法的基本思想是, 利用主缺陷報(bào)告和重復(fù)缺陷報(bào)告之間的文本信息, 對(duì)主缺陷報(bào)告進(jìn)行有效總結(jié), 重復(fù)缺陷報(bào)告中可以提取額外的有用信息, 來(lái)進(jìn)一步完善摘要。主缺陷報(bào)告和重復(fù)缺陷報(bào)告的描述和評(píng)論通過(guò)內(nèi)容拆分器拆分成句子,這些句子被傳遞到排名模塊。PageRank算法使用向量空間模型[46]、Jaccard[47]和WordNet[48]三種相似性度量在MBRC和OSCAR數(shù)據(jù)集上計(jì)算主缺陷報(bào)告和重復(fù)缺陷報(bào)告句子之間的相似性, 并對(duì)句子相似性進(jìn)行排名。PRST方法將PageRank算法得到的句子分?jǐn)?shù)和文獻(xiàn)[11-12]BRC方法得出的句子分?jǐn)?shù)結(jié)合起來(lái), 根據(jù)合并排名模塊獲得每個(gè)句子的最終分?jǐn)?shù),對(duì)缺陷報(bào)告中的句子進(jìn)一步排序。最后, 選擇排名靠前的句子組成主要缺陷報(bào)告摘要。

      文獻(xiàn)[49]提出基于關(guān)系的缺陷報(bào)告摘要(Relationbased Bug Report Summarizer, RBRS)方法。RBRS分析并收集缺陷庫(kù)中有關(guān)輸入缺陷報(bào)告的重復(fù)項(xiàng)、阻塞項(xiàng)和依賴項(xiàng)。重復(fù)項(xiàng)是指與該缺陷報(bào)告重復(fù)的缺陷報(bào)告, 阻塞項(xiàng)是指阻礙該缺陷報(bào)告修復(fù)的缺陷報(bào)告, 依賴項(xiàng)是指依賴于該缺陷報(bào)告修復(fù)的缺陷報(bào)告。缺陷報(bào)告與其阻塞項(xiàng)和依賴項(xiàng)的關(guān)系相反, 如果缺陷A阻塞缺陷B或缺陷B依賴于缺陷A, 則必須先修復(fù)缺陷A, 再修復(fù)缺陷B。接下來(lái), RBRS使用預(yù)處理模塊對(duì)缺陷報(bào)告進(jìn)行預(yù)處理, 并將預(yù)處理的缺陷報(bào)告及其關(guān)系項(xiàng)形成一個(gè)缺陷報(bào)告圖。然后, RBRS在缺陷報(bào)告圖上執(zhí)行加權(quán)PageRank算法, 計(jì)算每個(gè)句子的PageRank分?jǐn)?shù), 另外, 還使用文獻(xiàn)[11-12]提出的BRC方法為每個(gè)句子計(jì)算分?jǐn)?shù)。RBRS通過(guò)排名合并模塊對(duì)這兩個(gè)分?jǐn)?shù)進(jìn)行加權(quán)合并, 最終選擇排名前25%的句子組成摘要。

      討論3.本節(jié)歸納了基于圖的缺陷報(bào)告摘要方法,分別從方法名稱、方法描述、數(shù)據(jù)集選擇和摘要評(píng)估指標(biāo)等多個(gè)角度進(jìn)行分析和對(duì)比, 如表5所示。從方法描述而言, 隨機(jī)游動(dòng)和馬爾科夫鏈這兩種隨機(jī)過(guò)程是基于圖的缺陷報(bào)告摘要研究的熱點(diǎn)。從數(shù)據(jù)集選擇上看, 基于圖的缺陷報(bào)告摘要方法主要使用SDS數(shù)據(jù)集。從評(píng)估指標(biāo)而言, 基于圖的缺陷報(bào)告摘要方法生成的摘要精確度較高。

      表5 基于圖的缺陷報(bào)告摘要工作對(duì)比Table 5 Figure based bug report summary work comparison

      觀點(diǎn)3.基于圖的缺陷報(bào)告摘要方法是在文本拓?fù)浣Y(jié)構(gòu)圖上執(zhí)行隨機(jī)過(guò)程, 來(lái)獲得每個(gè)句子節(jié)點(diǎn)的權(quán)重。通過(guò)比對(duì)分析現(xiàn)有的研究工作, 本文發(fā)現(xiàn): 1)圖排序算法嚴(yán)重依賴于句子相似性, 所以生成摘要的句子冗余度較高; 2)由于每個(gè)句子都要計(jì)算相似性,計(jì)算量大, 所以基于圖的缺陷報(bào)告摘要方法運(yùn)行速度較慢。

      3.2.4 基于啟發(fā)式的方法

      啟發(fā)式算法是相對(duì)于最優(yōu)化算法提出的基于直觀或經(jīng)驗(yàn)構(gòu)造的算法, 通常在可接受的時(shí)間和空間花費(fèi)下給出待解決組合優(yōu)化問(wèn)題每個(gè)實(shí)例的一個(gè)可行解[26], 該可行解與最優(yōu)解的偏離程度一般不能被預(yù)計(jì)?,F(xiàn)階段, 啟發(fā)式算法以仿自然體算法為主, 在缺陷報(bào)告摘要領(lǐng)域, 主要利用粒子群算法、差分進(jìn)化算法等將文本摘要問(wèn)題形式化表示為優(yōu)化問(wèn)題, 提取最優(yōu)句子形成摘要[26]。

      文獻(xiàn)[24]使用多目標(biāo)差分進(jìn)化算法來(lái)生成摘要。差分進(jìn)化算法是一種基于群體進(jìn)化的算法, 具有記憶個(gè)體最優(yōu)解和種群內(nèi)信息共享的特點(diǎn)[50], 即通過(guò)種群內(nèi)個(gè)體間的合作與競(jìng)爭(zhēng)來(lái)實(shí)現(xiàn)對(duì)優(yōu)化問(wèn)題的求解, 它的整體結(jié)構(gòu)類似于遺傳算法, 與遺傳算法的主要區(qū)別在變異操作上, 差分進(jìn)化的變異操作是基于染色體的差異向量進(jìn)行的, 其余操作則和遺傳算法類似[51]。文獻(xiàn)[24]將差分進(jìn)化算法用于多目標(biāo)優(yōu)化問(wèn)題上, 利用多目標(biāo)二元差分進(jìn)化的搜索能力, 同時(shí)優(yōu)化缺陷報(bào)告摘要的不同方面, 包括句子之間的多樣性、句子相關(guān)性、句子長(zhǎng)度以及基于關(guān)鍵字的目標(biāo)函數(shù), 以提高缺陷報(bào)告摘要的質(zhì)量。

      文獻(xiàn)[52]使用粒子群優(yōu)化算法來(lái)選擇最優(yōu)摘要,粒子群優(yōu)化算法屬于單目標(biāo)優(yōu)化算法, 其基本思想是, 通過(guò)設(shè)計(jì)一種無(wú)質(zhì)量的粒子來(lái)模擬鳥(niǎo)群中的鳥(niǎo),粒子僅有兩個(gè)屬性: 速度和位置, 速度代表移動(dòng)的快慢, 位置代表移動(dòng)的方向。每個(gè)粒子在飛行過(guò)程中所經(jīng)歷過(guò)的最好位置, 就是粒子本身找到的最優(yōu)解。整個(gè)群體所經(jīng)歷過(guò)的最好位置, 就是整個(gè)群體目前找到的最優(yōu)解。前者叫做個(gè)體極值, 后者叫做全局極值。粒子群中所有粒子根據(jù)當(dāng)前的個(gè)體極值和全局極值來(lái)調(diào)整自己的速度和位置[53]。將缺陷報(bào)告預(yù)處理后, 使用TF-IDF和n-gram兩種特征評(píng)分方法來(lái)為每個(gè)句子重要性打分。據(jù)用戶輸入的百分比來(lái)生成摘要, 若用戶輸入30%, 則隨機(jī)選取缺陷報(bào)告30%的句子作為摘要, 會(huì)得到一個(gè)大小為n的摘要集, 摘要集中的每個(gè)摘要子集都由缺陷報(bào)告中30%的句子組成, 據(jù)句子分?jǐn)?shù)來(lái)計(jì)算每個(gè)摘要子集分?jǐn)?shù)。摘要子集作為粒子, 摘要子集分?jǐn)?shù)為最初位置, 使用粒子群優(yōu)化算法在摘要集中尋找最優(yōu)摘要子集。

      文獻(xiàn)[54]提出了兩種無(wú)監(jiān)督的抽取式摘要方法,第一種是使用粒子群優(yōu)化子集選擇(Particle Swarm optimization subset Selection, PSS)方法生成摘要, 第二種是將粒子群優(yōu)化子集選擇和混合蟻群優(yōu)化子集選擇方法的結(jié)合版本(Hybrid version of Particle Swarm optimization subset Selection and Ant Colony optimization subset Selection, Hybrid PSS_ACS)應(yīng)用于摘要?;旌螾SS_ACS克服了粒子群優(yōu)化算法搜索能力弱和蟻群優(yōu)化算法開(kāi)發(fā)能力弱的缺點(diǎn), 在搜索過(guò)程中, 粒子群優(yōu)化算法縮小了搜索空間, 蟻群優(yōu)化算法對(duì)縮小的搜索空間進(jìn)行探索。文獻(xiàn)[54]的實(shí)驗(yàn)表明, 混合PSS_ACS在缺陷報(bào)告摘要方面具有較好的性能。

      討論4.本節(jié)總結(jié)歸納了基于啟發(fā)式的缺陷報(bào)告摘要方法, 分別從方法名稱、方法描述、數(shù)據(jù)集選擇和摘要評(píng)估指標(biāo)多個(gè)角度進(jìn)行分析和對(duì)比, 如表6所示。通過(guò)對(duì)現(xiàn)有研究調(diào)研, 發(fā)現(xiàn)使用啟發(fā)式算法來(lái)獲得缺陷報(bào)告摘要的方法較少。將粒子群優(yōu)化算法和混合蟻群優(yōu)化算法結(jié)合起來(lái)生成摘要的可讀性較高。

      表6 基于啟發(fā)式的缺陷報(bào)告摘要工作對(duì)比Table 6 Heuristic based bug report summary work comparison

      觀點(diǎn)4.基于啟發(fā)式的缺陷報(bào)告摘要方法是是將缺陷報(bào)告摘要問(wèn)題看作一個(gè)求最優(yōu)解問(wèn)題, 使用啟發(fā)式算法得出最優(yōu)解作為摘要。通過(guò)分析對(duì)比現(xiàn)有的研究工作, 發(fā)現(xiàn)基于啟發(fā)式的缺陷報(bào)告摘要方法參數(shù)較多、運(yùn)算復(fù)雜, 應(yīng)用于實(shí)際開(kāi)發(fā)中較為困難。

      4 缺陷報(bào)告可視化摘要

      缺陷報(bào)告的主題可能會(huì)隨時(shí)間變化而改變, 固定的缺陷報(bào)告摘要不能滿足需求。另外, 現(xiàn)有缺陷報(bào)告摘要皆為抽取式摘要, 但是抽取式摘要句子不連貫, 脫離上下文很難理解。所以有研究提出缺陷報(bào)告可視化摘要, 缺陷報(bào)告可視化摘要根據(jù)關(guān)鍵字將缺陷報(bào)告中與關(guān)鍵字相關(guān)的句子標(biāo)注出來(lái), 幫助開(kāi)發(fā)人員看到標(biāo)注句子的上下文。固定缺陷報(bào)告摘要及可視化缺陷報(bào)告摘要對(duì)比如表7所示。

      表7 固定缺陷報(bào)告摘要和可視化缺陷報(bào)告摘要對(duì)比Table 7 Comparison of fixed bug report summary and visual bug report summary

      文獻(xiàn)[55]提出了缺陷報(bào)告可視化分析系統(tǒng), 該系統(tǒng)對(duì)缺陷報(bào)告執(zhí)行兩個(gè)可視化任務(wù), 第一個(gè)任務(wù)展示了從多個(gè)缺陷報(bào)告中衍生出來(lái)的主題隨時(shí)間的演變, 第二個(gè)任務(wù)是將摘要句子在缺陷報(bào)告中以不同的顏色顯示。一旦開(kāi)發(fā)人員選擇了一個(gè)數(shù)據(jù)集, 該系統(tǒng)就會(huì)自動(dòng)對(duì)數(shù)據(jù)集應(yīng)用主題建模, 提取每個(gè)主題的關(guān)鍵詞, 再提取每個(gè)時(shí)間間隔的時(shí)間敏感關(guān)鍵詞。借助Java圖表庫(kù)JFreeChart[56]來(lái)演變可視化主題。系統(tǒng)提供了搜索選項(xiàng), 開(kāi)發(fā)人員可以使用與主題相關(guān)的關(guān)鍵詞搜索缺陷報(bào)告, 系統(tǒng)會(huì)為搜索出的每個(gè)缺陷報(bào)告計(jì)算可視化摘要, 并將可視化摘要與缺陷報(bào)告一起呈現(xiàn)給開(kāi)發(fā)人員。

      缺陷報(bào)告摘要的質(zhì)量是使用人工創(chuàng)建的黃金標(biāo)準(zhǔn)摘要來(lái)評(píng)估的, 但是創(chuàng)建摘要的注釋員們?cè)趧?chuàng)建黃金標(biāo)準(zhǔn)摘要問(wèn)題上存在分歧, 并且注釋員數(shù)量低于穩(wěn)定注釋的既定值, 這造成缺陷報(bào)告自動(dòng)摘要方法不可能獲得較高的評(píng)估分?jǐn)?shù)。另外, 固定的摘要長(zhǎng)度并不適用于每個(gè)缺陷報(bào)告。所以文獻(xiàn)[3, 57]認(rèn)為創(chuàng)建一個(gè)單一的黃金標(biāo)準(zhǔn)摘要來(lái)評(píng)估自動(dòng)缺陷報(bào)告摘要的方法既不可行也不現(xiàn)實(shí), 他們提出了基于任務(wù)的可視化摘要, 將缺陷報(bào)告中的句子分類為: 描述、線索詞、原始句子、引用句子、主題、離題句子、URL、代碼、解析。在缺陷報(bào)告界面的頂部有復(fù)選框的標(biāo)簽, 這些復(fù)選框允許用戶根據(jù)特定的句子類別在評(píng)論中顯示或隱藏句子。用戶可以選擇感興趣的句子類別, 創(chuàng)建與當(dāng)前信息需求相關(guān)的缺陷報(bào)告的自定義摘要。

      討論5.固定的缺陷報(bào)告摘要不能隨時(shí)間和關(guān)鍵詞的變化而變化, 而且抽取式摘要脫離上下文不易理解??梢暬梢噪S開(kāi)發(fā)人員提供的關(guān)鍵詞的變化而變化, 而且在缺陷報(bào)告中將與關(guān)鍵詞相關(guān)的句子標(biāo)注出來(lái)有助于開(kāi)發(fā)人員對(duì)可視化摘要的理解。

      觀點(diǎn)5.通過(guò)調(diào)研現(xiàn)有研究工作, 本文發(fā)現(xiàn)固定的缺陷報(bào)告摘要的準(zhǔn)確性和可讀性指標(biāo)并不高, 用于實(shí)際應(yīng)用場(chǎng)景中的阻礙較大。面對(duì)冗長(zhǎng)的缺陷報(bào)告, 可視化摘要可以根據(jù)開(kāi)發(fā)人員提供的關(guān)鍵詞從缺陷報(bào)告中將相關(guān)句子標(biāo)注出來(lái), 幫助開(kāi)發(fā)人員了解相關(guān)句子的上下文, 增加了可視化摘要的易懂性,可以嘗試用于實(shí)際應(yīng)用場(chǎng)景。

      5 未來(lái)研究展望

      本綜述梳理和歸納了2010年至2022年6月期間的有關(guān)缺陷報(bào)告摘要的研究成果。一方面, 本文從基于監(jiān)督學(xué)習(xí)和基于無(wú)監(jiān)督學(xué)習(xí)兩種方法角度缺陷報(bào)告摘要進(jìn)行了分類梳理, 并在2~3節(jié)分別闡述了兩種學(xué)習(xí)方法的抽取式缺陷報(bào)告摘要生成框架。通過(guò)調(diào)研發(fā)現(xiàn)現(xiàn)有的缺陷報(bào)告摘要研究中基于無(wú)監(jiān)督學(xué)習(xí)抽取式摘要方法較多, 所以在3.2.1~3.2.4節(jié)分類闡述并對(duì)比了現(xiàn)有的基于無(wú)監(jiān)督學(xué)習(xí)缺陷報(bào)告摘要研究工作, 同時(shí)給出了詳盡的討論和分析(討論&觀點(diǎn)1-4)。另一方面, 本文從缺陷報(bào)告摘要的實(shí)用性出發(fā), 對(duì)現(xiàn)有的缺陷報(bào)告可視化摘要研究成果進(jìn)行總結(jié), 具體表述詳見(jiàn)第4節(jié), 并對(duì)固定缺陷報(bào)告摘要和可視化摘要用于實(shí)際應(yīng)用場(chǎng)景的可能性做出討論和分析(討論&觀點(diǎn)5)。由于缺陷報(bào)告格式的復(fù)雜性和現(xiàn)有自動(dòng)摘要技術(shù)不完備等原因, 實(shí)現(xiàn)缺陷報(bào)告自動(dòng)摘要仍然還有很長(zhǎng)的路要走。相信隨著新技術(shù)的發(fā)展、模型性能的提升, 缺陷報(bào)告摘要的質(zhì)量將會(huì)更好, 能更有效的幫助開(kāi)發(fā)人員解決軟件缺陷問(wèn)題。

      本節(jié)基于第2節(jié)和第3節(jié)對(duì)現(xiàn)有研究成果及文獻(xiàn)綜述[6-9]的一些討論和分析(討論&觀點(diǎn)1-5), 嘗試總結(jié)缺陷報(bào)告摘要領(lǐng)域現(xiàn)階段面臨的主要挑戰(zhàn),并在已有研究基礎(chǔ)上, 對(duì)未來(lái)的重要研究方向主要從三個(gè)方面做出了展望。缺陷報(bào)告摘要領(lǐng)域研究的三大挑戰(zhàn)和機(jī)遇如表8所示。

      表8 缺陷報(bào)告自動(dòng)摘要領(lǐng)域面臨的挑戰(zhàn)和機(jī)遇Table 8 Challenges and opportunities in the area of automatic summary of bug reports

      5.1 缺陷報(bào)告數(shù)據(jù)集

      缺陷報(bào)告自動(dòng)摘要生成首先面臨的挑戰(zhàn)是數(shù)據(jù)集的獲取(挑戰(zhàn)①), 通過(guò)對(duì)現(xiàn)階段該領(lǐng)域文獻(xiàn)調(diào)研,發(fā)現(xiàn)各項(xiàng)研究在性能評(píng)估階段以公開(kāi)數(shù)據(jù)集SDS為主?,F(xiàn)有公開(kāi)的缺陷報(bào)告數(shù)據(jù)集并不多, 而且數(shù)據(jù)集往往不大, 這影響了缺陷報(bào)告自動(dòng)摘要結(jié)果的可靠性。因此, 為了輔助缺陷報(bào)告自動(dòng)摘要研究的發(fā)展,必須構(gòu)建一個(gè)公開(kāi)規(guī)范的大型缺陷報(bào)告數(shù)據(jù)集。

      5.2 抽取式摘要

      抽取式摘要句子不夠連貫影響了摘要的可讀性(挑戰(zhàn)②), 生成式摘要與人類攥寫(xiě)的摘要更相似。因現(xiàn)有公開(kāi)數(shù)據(jù)集太小限制了缺陷報(bào)告生成式摘要的發(fā)展。為了提高缺陷報(bào)告摘要的質(zhì)量, 在構(gòu)建大型標(biāo)準(zhǔn)缺陷報(bào)告數(shù)據(jù)集的基礎(chǔ)上, 應(yīng)該關(guān)注缺陷報(bào)告生成式摘要的研究。

      5.3 黃金標(biāo)準(zhǔn)摘要

      缺陷報(bào)告自動(dòng)摘要與人工編寫(xiě)的黃金標(biāo)準(zhǔn)摘要對(duì)比來(lái)評(píng)估自動(dòng)摘要的性能。黃金標(biāo)準(zhǔn)摘要不夠標(biāo)準(zhǔn), 會(huì)造成自動(dòng)摘要的評(píng)估結(jié)果不準(zhǔn)確(挑戰(zhàn)③)。經(jīng)過(guò)調(diào)研發(fā)現(xiàn), 不同注釋者對(duì)缺陷報(bào)告有不同的理解,注釋者無(wú)法就黃金標(biāo)準(zhǔn)摘要達(dá)成一致, 且注釋者數(shù)量低于穩(wěn)定注釋的既定值。因此, 為了使自動(dòng)摘要的評(píng)估結(jié)果更準(zhǔn)確, 應(yīng)該增加注釋者數(shù)量至穩(wěn)定注釋的既定值, 并且提高注釋者創(chuàng)建黃金標(biāo)準(zhǔn)摘要一致性的要求。

      6 結(jié)束語(yǔ)

      隨著文本自動(dòng)摘要技術(shù)的不斷發(fā)展, 將文本自動(dòng)摘要技術(shù)用于缺陷報(bào)告緩解了軟件開(kāi)發(fā)人員閱讀冗長(zhǎng)乏味缺陷報(bào)告的問(wèn)題。本文通過(guò)梳理和總結(jié)2010年至2022年6月期間缺陷報(bào)告自動(dòng)摘要研究成果, 歸納其整體工作流程和技術(shù)路線, 并從無(wú)監(jiān)督缺陷報(bào)告摘要方法為切入點(diǎn), 將現(xiàn)有研究方法分類為基于特征評(píng)分方法、基于深度學(xué)習(xí)方法、基于圖方法和基于啟發(fā)式方法。同時(shí)也總結(jié)了缺陷報(bào)告可視化摘要的研究進(jìn)展。最后, 對(duì)該領(lǐng)域面臨的挑戰(zhàn)和機(jī)遇進(jìn)行展望。本文認(rèn)為在缺陷報(bào)告摘要未來(lái)的研究工作中, 構(gòu)建大型數(shù)據(jù)集對(duì)生成式缺陷報(bào)告摘要等問(wèn)題進(jìn)一步分析, 克服現(xiàn)有研究方法的局限性,將有助于提升缺陷報(bào)告摘要的質(zhì)量。

      猜你喜歡
      可視化報(bào)告文獻(xiàn)
      基于CiteSpace的足三里穴研究可視化分析
      基于Power BI的油田注水運(yùn)行動(dòng)態(tài)分析與可視化展示
      云南化工(2021年8期)2021-12-21 06:37:54
      Hostile takeovers in China and Japan
      速讀·下旬(2021年11期)2021-10-12 01:10:43
      基于CGAL和OpenGL的海底地形三維可視化
      Cultural and Religious Context of the Two Ancient Egyptian Stelae An Opening Paragraph
      大東方(2019年12期)2019-10-20 13:12:49
      “融評(píng)”:黨媒評(píng)論的可視化創(chuàng)新
      一圖看懂十九大報(bào)告
      The Application of the Situational Teaching Method in English Classroom Teaching at Vocational Colleges
      The Role and Significant of Professional Ethics in Accounting and Auditing
      商情(2017年1期)2017-03-22 16:56:36
      報(bào)告
      屏东县| 保定市| 富顺县| 婺源县| 郸城县| 平邑县| 边坝县| 安岳县| 连云港市| 舟曲县| 宣城市| 青铜峡市| 安阳县| 英山县| 昔阳县| 安龙县| 河北省| 西乌珠穆沁旗| 贺州市| 宜兰县| 禄劝| 贵德县| 利辛县| 襄垣县| 六枝特区| 惠来县| 太康县| 济阳县| 屏边| 宜昌市| 青神县| 温泉县| 泌阳县| 镇康县| 日照市| 库伦旗| 老河口市| 黄山市| 溆浦县| 承德县| 合肥市|