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

?

基于網(wǎng)絡(luò)表征學(xué)習(xí)的混合缺陷預(yù)測模型

2019-01-06 07:27劉成斌鄭巍樊鑫楊豐玉
計算機(jī)應(yīng)用 2019年12期
關(guān)鍵詞:語義特征卷積神經(jīng)網(wǎng)絡(luò)

劉成斌 鄭巍 樊鑫 楊豐玉

摘 要:針對軟件系統(tǒng)模塊間具有依賴關(guān)系的問題,通過對軟件系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行分析,構(gòu)建了基于網(wǎng)絡(luò)表征學(xué)習(xí)的混合缺陷預(yù)測模型。首先,將軟件系統(tǒng)以模塊為單位轉(zhuǎn)換成軟件網(wǎng)絡(luò);然后,使用網(wǎng)絡(luò)表征技術(shù)來無監(jiān)督學(xué)習(xí)軟件網(wǎng)絡(luò)中每個模塊的系統(tǒng)結(jié)構(gòu)特征;最后,結(jié)合系統(tǒng)結(jié)構(gòu)特征和卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的語義特征構(gòu)建一個混合缺陷預(yù)測模型。實驗結(jié)果表明:在Apache三個開源軟件poi、lucene和synapse上所提混合缺陷預(yù)測模型具有更好的缺陷預(yù)測效果,其F1指標(biāo)比最優(yōu)模型——基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的缺陷預(yù)測模型分別提高了3.8%、1.0%、4.1%。軟件網(wǎng)絡(luò)結(jié)構(gòu)特征分析為缺陷預(yù)測模型的構(gòu)建提供了有效的研究思路。

關(guān)鍵詞:軟件網(wǎng)絡(luò);缺陷預(yù)測;卷積神經(jīng)網(wǎng)絡(luò);語義特征;網(wǎng)絡(luò)表征學(xué)習(xí)

中圖分類號: TP311.53(軟件維護(hù))文獻(xiàn)標(biāo)志碼:A

Hybrid defect prediction model based on network representation learning

LIU Chengbin 1,2, ZHENG Wei1,2*, FAN Xin1,2, YANG Fengyu 1,2

(1. School of Software, Nanchang Hangkong University, Nanchang Jiangxi 330063, China;

2. Software Evaluation Center, Nanchang Hangkong University, Nanchang Jiangxi 330063, China)

Abstract: Aiming at the problem of the dependence between software system modules, a hybrid defect prediction model based on network representation learning was constructed by analyzing the network structure of software system. Firstly, the software system was converted into a software network on a module-by-module basis. Then, network representation technique was used to perform the unsupervised learning on the system structural feature of each module in software network. Finally, the system structural features and the semantic features learned by the convolutional neural network were combined to construct a hybrid defect prediction model. The experimental results show that the hybrid defect prediction model has better defect prediction effects in three open source softwares, poi, lucene and synapse of Apache, and its F1 index is respectively 3.8%, 1.0%, 4.1% higher than that of the optimal model based on Convolutional Neural Network (CNN). Software network structure feature analysis provides an effective research thought for the construction of defect prediction model.

Key words: software network; defect prediction; Convolutional Neural Network (CNN); semantic feature; network representation learning

0 引言

隨著軟件規(guī)模的增長,軟件缺陷預(yù)測技術(shù)[1-2]的研究對保證軟件可靠性具有重要意義。軟件缺陷預(yù)測技術(shù)研究軟件系統(tǒng)中的缺陷分布,檢測出軟件中有問題的模塊,可用于輔助軟件測試人員進(jìn)行有目的的測試,在軟件部署階段前充分檢測軟件內(nèi)在缺陷,及時修復(fù)有缺陷的軟件模塊,從而縮短軟件開發(fā)生命周期、提高軟件可靠性。

傳統(tǒng)缺陷預(yù)測技術(shù)主要研究缺陷數(shù)量與軟件規(guī)模的關(guān)系。Halstead等[3]研究了軟件體積度量元與軟件缺陷的關(guān)系,得出缺陷數(shù)量和體積度量元的正比例關(guān)系式。Lipow[4]對其進(jìn)行了改進(jìn),提出了缺陷與可執(zhí)行代碼行數(shù)之比是代碼行數(shù)自然對數(shù)的二次函數(shù)關(guān)系,并且對于不同的計算機(jī)語言函數(shù)系數(shù)具有差異。Takahashi等[5]則結(jié)合軟件文檔數(shù)量給出缺陷密度估計式,缺陷率是關(guān)于軟件規(guī)范變更頻率、程序員技能、軟件設(shè)計文檔的線性函數(shù)。傳統(tǒng)缺陷預(yù)測技術(shù)只能通過關(guān)系式估算缺陷密度,從而預(yù)計測試成本。

從機(jī)器學(xué)習(xí)的角度來看,軟件缺陷預(yù)測是一個分類問題。運用機(jī)器學(xué)習(xí)的方法可以從歷史測試數(shù)據(jù)中學(xué)習(xí),從而發(fā)現(xiàn)潛在可能有問題的模塊。大量經(jīng)典機(jī)器學(xué)習(xí)算法用于研究軟件缺陷預(yù)測:Khoshgoftaar等[6]對7種基于邏輯回歸和決策樹軟件缺陷預(yù)測模型進(jìn)行了比較,提出使用誤分類代價作為模型性能比較的統(tǒng)一指標(biāo);Fenton等[7]研究了基于貝葉斯概率模型的軟件缺陷預(yù)測方法,實驗結(jié)果表明基于貝葉斯概率模型的缺陷預(yù)測方法通用性能較好;Vandecruys等[8]綜合比較了基于支持向量機(jī)、邏輯回歸、K近鄰軟件缺陷預(yù)測方法,發(fā)現(xiàn)不同的機(jī)器學(xué)習(xí)算法在相同的指標(biāo)上性能差異并不顯著;傅藝綺等[9]提出利用集成學(xué)習(xí)將不同預(yù)測算法的預(yù)測結(jié)果作為軟件度量,并進(jìn)行再次預(yù)測的組合機(jī)器學(xué)習(xí)的軟件缺陷預(yù)測模型,在Eclipse數(shù)據(jù)集實驗結(jié)果表明,該方法可以有效提高預(yù)測準(zhǔn)確率;李勇等[10]總結(jié)了缺陷預(yù)測流程,比較不同場景下的模型性能,得出缺陷預(yù)測算法的性能由度量特征和算法模型決定,但不同場景下決定算法性能的關(guān)鍵特征有所差異;陳翔等[11]對缺陷預(yù)測進(jìn)行了系統(tǒng)的研究,總結(jié)了影響預(yù)測性能的三個關(guān)鍵因素:度量指標(biāo)、缺陷預(yù)測方法和缺陷數(shù)據(jù);Arisholm等[12]將指標(biāo)分為面向?qū)ο蟠a指標(biāo)、復(fù)雜性指標(biāo)、過程指標(biāo)等,得出特定缺陷建模技術(shù)對分類精度影響有限,然而不同的特征指標(biāo)對于預(yù)測性能影響比較顯著。

2)軟件模塊系統(tǒng)結(jié)構(gòu)特征提取。根據(jù)軟件基本模塊的依賴關(guān)系來構(gòu)建描述整個軟件系統(tǒng)的軟件網(wǎng)絡(luò),在軟件網(wǎng)絡(luò)中應(yīng)用表征學(xué)習(xí)技術(shù)無監(jiān)督學(xué)習(xí)模塊系統(tǒng)結(jié)構(gòu)特征。

3)混合特征預(yù)測缺陷。將以上步驟得到的模塊系統(tǒng)結(jié)構(gòu)特征,結(jié)合CNN學(xué)習(xí)到的語義特征和手工提取的統(tǒng)計指標(biāo)作為Softmax神經(jīng)網(wǎng)絡(luò)的輸入預(yù)測缺陷。

2.1 語義特征的提取

為了捕獲軟件模塊豐富的語義特征,需要提取模塊的詞序列表示,然后利用CNN高效的特征提取能力學(xué)習(xí)模塊的語義?;诰W(wǎng)絡(luò)表征學(xué)習(xí)的混合缺陷預(yù)測具體提取語義特征的流程如圖3所示,具體步驟如下:

1)從軟件系統(tǒng)模塊構(gòu)建抽象語法樹。抽象語法樹構(gòu)建算法可以提取變量聲明、循環(huán)、判斷、類聲明、接口定義、繼承、異常等含有軟件模塊執(zhí)行邏輯的語義信息,以樹結(jié)構(gòu)的形式表示程序模塊的執(zhí)行邏輯信息[19]。

2)軟件模塊的詞序列的抽取。從軟件模塊構(gòu)建抽象語法樹之后,利用深度優(yōu)先算法遍歷抽象語法樹,抽取滿足以下三種類型的節(jié)點[13]添加到軟件模塊詞序列:方法調(diào)用和類實例創(chuàng)建節(jié)點、程序控制流程節(jié)點和聲明類型節(jié)點,抽象語法樹中抽取的部分節(jié)點類型如表1所示。

3)詞序列編碼。由于CNN不能直接對詞序列中的單詞字符進(jìn)行處理,所以數(shù)據(jù)處理時需要對詞序列所有的單詞進(jìn)行編碼。為了建立單詞和編碼值之間的一一對應(yīng)關(guān)系,對于標(biāo)簽編碼,由于所有的編碼值在一列中,那么模型可能會錯誤地認(rèn)為編碼值存在某種大小關(guān)系,所以數(shù)據(jù)處理時使用One-Hot編碼。如此,將離散特征的編碼值擴(kuò)展到了歐氏空間,離散特征的某個取值就對應(yīng)歐氏空間的某個點。

4)CNN提取軟件模塊語義特征。利用CNN強(qiáng)大的特征生成能力,將經(jīng)過以上步驟已編碼的詞序列作為CNN的輸入,經(jīng)過一個嵌入層、一個卷積層、一個池化層和一個全連接層,提取出軟件模塊的語義特征。

2.2 系統(tǒng)結(jié)構(gòu)特征提取

為了提取系統(tǒng)結(jié)構(gòu)特征,以軟件模塊作為基本單位,利用模塊間的依賴關(guān)系構(gòu)建整個軟件系統(tǒng)的軟件網(wǎng)絡(luò),然后利用網(wǎng)絡(luò)表征[15-17]學(xué)習(xí)軟件模塊的低維表示,實現(xiàn)系統(tǒng)結(jié)構(gòu)特征無監(jiān)督提取。

利用系統(tǒng)模塊間存在數(shù)據(jù)的流動的關(guān)系,構(gòu)建軟件網(wǎng)絡(luò)G=(V,E),其中:G表示由軟件系統(tǒng)構(gòu)建的軟件網(wǎng)絡(luò)[20];V={vi|i=1,2,…,N}是軟件網(wǎng)絡(luò)中頂點集合,網(wǎng)絡(luò)大小N=|V|為頂點集合的個數(shù),元素vi代表軟件系統(tǒng)中的模塊i,E={eij|vivj=1,i,j∈[1,N]∪i≠j}是軟件網(wǎng)絡(luò)中邊的集合,表示模塊i和模塊j存在關(guān)系。當(dāng)存在以下三種情形[20]時,vivj=1 ,即eij∈E:1)模塊i與模塊j存在繼承關(guān)系;2)模塊i與模塊j存在組合關(guān)系;3)模塊i與模塊j存在依賴關(guān)系。

如圖4所示是由Apache開源軟件項目poi、lucene、synapse根據(jù)以上規(guī)則構(gòu)建的軟件網(wǎng)絡(luò)。假設(shè)成功構(gòu)建軟件系統(tǒng)的軟件網(wǎng)絡(luò)G, 網(wǎng)絡(luò)大小為N,需要利用網(wǎng)絡(luò)表征學(xué)習(xí)無監(jiān)督提取軟件網(wǎng)絡(luò)的系統(tǒng)結(jié)構(gòu)特征。

利用DeepWalk提取軟件模塊的系統(tǒng)結(jié)構(gòu)特征主要分為兩個過程:隨機(jī)游走生成語料和Skip-Gram模型表征節(jié)點。具體過程如下:

1)在軟件網(wǎng)絡(luò)G中隨機(jī)選擇一個軟件模塊vi,然后以vi為起點、窗口大小m進(jìn)行隨機(jī)游走采樣,生成隨機(jī)游走序列定義為T(vi) 。

2)將生成的隨機(jī)游走序列進(jìn)行One-Hot編碼,作為Skip-Gram模型輸入。

3)構(gòu)建Skip-Gram模型。Skip-Gram是一個神經(jīng)語言模型,通過最大化詞序列vi、vj的共現(xiàn)概率來更新詞向量。同理,對于網(wǎng)絡(luò)G中起點為vi的隨機(jī)游走序列,利用游走序列的最大似然概率作為目標(biāo)函數(shù)去學(xué)習(xí)模型的參數(shù)。

4)利用圖G中頂點V構(gòu)建Huffman樹,替換Skip-Gram模型的輸出層,實現(xiàn)層次Softmax,優(yōu)化Skip-Gram模型的計算復(fù)雜度。時間復(fù)雜度從O(V)降低到O(「log |V|), 從而降低了計算復(fù)雜度,重復(fù)以上過程更新權(quán)重。

2.3 混合缺陷預(yù)測模型

成功提取統(tǒng)計指標(biāo)、語義特征和系統(tǒng)結(jié)構(gòu)特征之后,利用這三種指標(biāo)并結(jié)合Softmax神經(jīng)網(wǎng)絡(luò)構(gòu)建模型去預(yù)測缺陷,結(jié)構(gòu)如圖5所示。

首先將人工提取的統(tǒng)計指標(biāo)、CNN端到端學(xué)習(xí)的語義特征和DeepWalk無監(jiān)督學(xué)習(xí)的系統(tǒng)結(jié)構(gòu)特征組合作為Softmax神經(jīng)網(wǎng)絡(luò)的輸入,然后經(jīng)過兩個激活函數(shù)為ReLU的隱藏層和一個Softmax的輸出層。輸出層二分類Softmax計算式如下:

其中:pi表示模塊預(yù)測的概率,輸出結(jié)果pi大小在[0,1]內(nèi),并且∑ipi=1。

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

3.1 實驗設(shè)計

為了驗證網(wǎng)絡(luò)表征學(xué)習(xí)無監(jiān)督提取的系統(tǒng)結(jié)構(gòu)特征能夠有效提高缺陷預(yù)測模型預(yù)測性能,研究使用控制變量法設(shè)計了3組對照實驗,選擇了4個模型在Apache開源軟件項目下進(jìn)行缺陷預(yù)測實驗,具體詳情如下:

1)LR。使用20個統(tǒng)計特征構(gòu)建基于邏輯回歸的缺陷預(yù)測模型。

2)CNN。使用卷積神經(jīng)網(wǎng)絡(luò)對開源軟件數(shù)據(jù)集的源碼信息進(jìn)行語義特征的提取,構(gòu)建一個基于卷積神經(jīng)網(wǎng)絡(luò)的缺陷預(yù)測模型。

3)DP-CNN。結(jié)合20個統(tǒng)計特征和卷積神經(jīng)網(wǎng)絡(luò)提取的語義特征構(gòu)建一個混合缺陷預(yù)測模型。

4)DP-NRL。結(jié)合20個統(tǒng)計特征、卷積神經(jīng)網(wǎng)絡(luò)提取的語義特征以及Deepwalk無監(jiān)督提取的系統(tǒng)結(jié)構(gòu)特征構(gòu)建一個混合缺陷預(yù)測模型。

3.2 實驗評價標(biāo)準(zhǔn)

為了評估模型性能,需要選擇合適的指標(biāo)比較不同模型的性能。由于軟件缺陷預(yù)測數(shù)據(jù)集是一種典型不平衡數(shù)據(jù)集[21],所以預(yù)測正確率不能很好地反映應(yīng)模型性能優(yōu)劣,選擇F1指標(biāo)對模型性能進(jìn)行評估,F(xiàn)1指標(biāo)是精度P和召回率R的調(diào)和平均。精度P計算式如下:

P=TPTP+FP(4)

其中:TP表示缺陷樣本預(yù)測正確的個數(shù);FP表示無缺陷樣本預(yù)測為缺陷樣本的個數(shù);P為預(yù)測結(jié)果中有缺陷的樣本預(yù)測正確的概率。召回率R計算式如下:

R=TPTP+TN(5)

其中:TN表示缺陷樣本中預(yù)測為無缺陷樣本的個數(shù)。這兩個指標(biāo)進(jìn)行調(diào)和平均計算F1值:

F1=2×P×RP+R(6)

對于數(shù)據(jù)分布平衡的數(shù)據(jù)集,精度P和召回率R可以很好地衡量模型性能;但是對于軟件缺陷這種經(jīng)典的數(shù)據(jù)不平衡數(shù)據(jù)集,判定類別的先驗概率閾值不等于0.5,所以比較模型性能時使用F1值比較模型。

3.3 實驗數(shù)據(jù)

本實驗的數(shù)據(jù)來源于Apache基金會下的開源軟件項目,考慮到項目模塊數(shù)以及項目轉(zhuǎn)換成軟件網(wǎng)絡(luò)的平均度和連通性等影響因素,最終選擇使用了3個開源Java軟件項目poi、lucene、synapse。對于每一個開源軟件項目,本文選擇了其中兩個連續(xù)版本,軟件具體版本號如表2所示。在實驗中,利用舊版本作為訓(xùn)練集訓(xùn)練模型,使用新版本作為測試集評估模型性能。表2詳細(xì)給出了3個Apache開源軟件項目的功能、版本、平均文件數(shù)和缺陷率。

此外,本文收集了這3個Apache開源軟件項目的20個統(tǒng)計指標(biāo)特征和缺陷統(tǒng)計情況數(shù)據(jù)集。統(tǒng)計特征數(shù)據(jù)來源于tera-PROMISE項目,數(shù)據(jù)集的貢獻(xiàn)來自于Jureczko。該數(shù)據(jù)集中包含了從軟件項目庫中統(tǒng)計得到的基于軟件規(guī)模和軟件復(fù)雜度的度量元數(shù)據(jù),其中部分統(tǒng)計度量元如表3所示。

3.4 結(jié)果分析

根據(jù)實驗設(shè)計的方法,在Apache基金會下的3個開源軟件項目數(shù)據(jù)集上進(jìn)行實驗。軟件舊版本作為訓(xùn)練集,軟件新版本作為測試集。4個模型在3個開源軟件的F1分?jǐn)?shù)實驗結(jié)果對比如表4所示。

為了驗證系統(tǒng)結(jié)構(gòu)特征可以有效改進(jìn)缺陷預(yù)測性能,需要對不同模型的實驗結(jié)果進(jìn)行比較。由LR和CNN模型的缺陷預(yù)測結(jié)果可知,統(tǒng)計指標(biāo)特征和CNN提取的語義特征能夠有效地對軟件模塊缺陷進(jìn)行挖掘。DP-CNN綜合了統(tǒng)計指標(biāo)特征和軟件模塊的語義特征,從實驗結(jié)果可以看出,DP-CNN比LR和CNN模型的缺陷預(yù)測的F1分?jǐn)?shù)要高,表明通過組合軟件模塊的統(tǒng)計指標(biāo)特征和語義特征的缺陷預(yù)測模型的綜合性能比分別基于統(tǒng)計特征和語義特征的缺陷預(yù)測模型性能略有提高。DP-NRL模型是本文提出的一種基于軟件網(wǎng)絡(luò)表示的缺陷預(yù)測模型。與DP-CNN模型的不同之處在于,DP-NRL不僅綜合了軟件模塊的統(tǒng)計指標(biāo)特征和語義特征,還結(jié)合了DeepWalk無監(jiān)督學(xué)習(xí)軟件網(wǎng)絡(luò)的系統(tǒng)結(jié)構(gòu)特征。從DP-NRL在3個開源軟件項目上的實驗結(jié)果來看,DP-NRL的模型性能比最優(yōu)模型DP-CNN模型性能要好,從而證明了DeepWalk無監(jiān)督學(xué)習(xí)軟件網(wǎng)絡(luò)的系統(tǒng)結(jié)構(gòu)特征和軟件缺陷存在相關(guān)性。

由表4可以看出,DP-NRL的F1分?jǐn)?shù)比DP-CNN模型的F1分?jǐn)?shù)要高。以poi為例,以poi的舊版本2.5作為訓(xùn)練集,新版本3.0作為測試集,4個模型在該項目上的缺陷預(yù)測的F1分?jǐn)?shù)分別為0.748、0.778、0.784、0.814;其中DP-NRL的性能較為顯著,與DP-CNN的F1分?jǐn)?shù)相比,DP-NRL的F1分?jǐn)?shù)提高了3.83%。

從表4中還可以看出,LR的缺陷預(yù)測綜合評價指標(biāo)在3個數(shù)據(jù)集的算法結(jié)果基本上偏低,CNN的缺陷預(yù)測綜合評價相對來說比較好,表明程序中確實含有比較豐富的語義特征,并且CNN能夠在一定程度上捕獲這種語義信息,甚至軟件系統(tǒng)的語義信息比手工提取的統(tǒng)計特征更為有效。通過比較LR的缺陷預(yù)測、CNN的缺陷預(yù)測和DP-CNN模型的實驗結(jié)果,表明組合統(tǒng)計指標(biāo)特征和語義特征能夠有效改善缺陷預(yù)測模型的綜合性能。通過比較DP-CNN模型和DP-NRL模型可知,DP-NRL模型性能比DP-CNN要好,從而驗證了表征學(xué)習(xí)提取的軟件網(wǎng)絡(luò)結(jié)構(gòu)特征可以有效改進(jìn)模型的性能,該網(wǎng)絡(luò)結(jié)構(gòu)特征能夠在一定程度上表征集成測試的缺陷。

以poi數(shù)據(jù)集為例展示了基于網(wǎng)絡(luò)表征學(xué)習(xí)的缺陷預(yù)測模型在不同節(jié)點度級別的F1指標(biāo),結(jié)果如表5所示。度級別i表示以模塊節(jié)點度個數(shù)在2i-1~2i范圍內(nèi),Total統(tǒng)計了不同度級別的模塊數(shù),Actual Bug統(tǒng)計了不同度級別存在缺陷的模塊數(shù),Predict Bug統(tǒng)計了不同度級別預(yù)測為存在缺陷的模塊數(shù),F(xiàn)1記錄了DP-NRL模型在不同度級別的F1分?jǐn)?shù)。從表5可以看出,模塊度和缺陷的可能性呈正相關(guān),證明了軟件網(wǎng)絡(luò)的結(jié)構(gòu)和軟件缺陷存在著相關(guān)性,并且DP-NRL模型的預(yù)測性能隨著模塊度的增加而呈增長的趨勢。

4 結(jié)語

本文從軟件網(wǎng)絡(luò)的角度去分析軟件系統(tǒng)的整體結(jié)構(gòu),從而構(gòu)建了一個基于網(wǎng)絡(luò)表征學(xué)習(xí)的混合缺陷預(yù)測模型。該模型通過網(wǎng)絡(luò)表征學(xué)習(xí)無監(jiān)督提取軟件模塊的系統(tǒng)結(jié)構(gòu)特征,結(jié)合CNN提取的程序語義特征和統(tǒng)計指標(biāo)特征去預(yù)測軟件模塊的缺陷?;贏pache的3個開源軟件項目的實驗結(jié)果表明,本文提出的系統(tǒng)結(jié)構(gòu)特征可以進(jìn)一步改進(jìn)缺陷預(yù)測模型,提高缺陷預(yù)測可靠性。在接下來的工作中,我們將探索如何更有效地提取軟件網(wǎng)絡(luò)結(jié)構(gòu)信息,提升缺陷預(yù)測性能。

參考文獻(xiàn) (References)

[1]TAN M, TAN L, DARA S, et al. Online defect prediction for imbalanced data [C]// Proceedings of the IEEE/ACM 37th IEEE International Conference on Software Engineering. Piscataway: IEEE, 2015: 99-108.

[2]ZHANG F, ZHENG Q, ZOU Y, et al. Cross-project defect prediction using a connectivity-based unsupervised classifier [C]// Proceedings of the 38th International Conference on Software Engineering. New York: ACM, 2016: 309-320.

[3]HALSTEAD M H. Elements of Software Science [M]. New York: Elsevier Science Inc., 1977: 32-41.

[4]LIPOW M. Number of faults per line of code [J]. IEEE Transactions on Software Engineering, 1982, SE-8(4): 437-439

[5]TAKAHASHI M, KAMACACHI Y. An empirical study of a model for program error prediction [J]. IEEE Transactions on Software Engineering, 1989, 15(1): 82-86.

[6]KHOSHGOFTAAR T M, SELIYA N. Comparative assessment of software quality classification techniques: an empirical case study [J]. Empirical Software Engineering Laboratory, 2004, 9(3): 229-257.

[7]FENTON N, KRAUSE P, NEIL M. A probabilistic model for software defect prediction [J]. IEEE Transactions in Software Engineering, 2001, 44(21): 444-453.

[8]VANDECRUYS O, MARTENS D, BAESENS B, et al. Mining software repositories for comprehensible software fault prediction models [J]. Journal of Systems and Software, 2008, 81(5): 823-839.

[9]傅藝綺,董威,尹良澤,等.基于組合機(jī)器學(xué)習(xí)算法的軟件缺陷預(yù)測模型[J].計算機(jī)研究與發(fā)展,2017,54(3):633-641.(FU Y Q, DONG W, YIN L Z, et al. Software defect prediction model based on the combination of machine learning algorithms [J]. Journal of Computer Research and Development, 2017, 54(3): 633-641.)

[10]李勇,黃志球,王勇,等.數(shù)據(jù)驅(qū)動的軟件缺陷預(yù)測研究綜述[J].電子學(xué)報,2017,25(4):982-988.(LI Y, HUANG Z Q, WANG Y, et al. Survey on data driven software defects prediction [J]. Acta Electronica Sinica, 2017, 45(4): 982-988.)

[11]陳翔,顧慶,劉望舒,等.靜態(tài)軟件缺陷預(yù)測方法研究[J].軟件學(xué)報,2016,27(1):1-25.(CHEN X, GU Q, LIU W S, et al. Survey of static software defect prediction [J]. Journal of Software, 2016, 27(1): 1-25.)

[12]ARISHOLM E, BRIAND L C, JOHANNESSEN E B. A systematic and comprehensive investigation of methods to build and evaluate fault prediction models [J]. Journal of Systems and Software, 2010, 83(1): 2-17.

[13]WANG S, LIU T Y, TAN L. Automatically learning semantic features for defect prediction [C]// Proceedings of the IEEE/ACM 38th International Conference on Software Engineering. Piscataway: IEEE, 2016: 297-308.

[14]LI J, HE P, ZHU J, et al. Software defect prediction via convolutional neural network [C]// Proceedings of the 2017 IEEE International Conference on Software Quality, Reliability and Security. Piscataway: IEEE, 2017: 318-328.

[15]PEROZZI B, AI-RFOU R, SKIENA S. DeepWalk: online learning of social representations [C]// Proceedings of the 20th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: ACM, 2014: 701-710.

[16]GROVER A, LESKOVEC J. Node2vec: scalable feature learning for networks [C]// Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: ACM, 2016: 855-864.

[17]TANG J, QU M, WANG M, et al. LINE: large-scale information network embedding [C]// Proceedings of the 24th International Conference on World Wide Web. Republic and Canton of Geneva: International World Wide Web Conferences Steering Committee, 2015: 1067-1077.

[18]MIKOLOV T, SUTSKEVER I, CHEN K, et al. Distributed representations of words and phrases and their compositionality [C]// Proceedings of the 26th International Conference on Neural Information Processing Systems. New York: Curran Associates Inc., 2013: 3111-3119.

[19]JONES J. Abstract syntax tree implementation idioms [EB/OL]. [2019-06-01]. http://hillside.net/plop/plop2003/Papers/Jones-

ImplementingASTs.pdf.

[20]CHONG C Y, LEE S P. Analyzing maintain ability and reliability of object-oriented software using weighted complex network [J]. The Journal of Systems and Software, 2015, 110: 28-53.

[21]ZHANG S, AI J, LI X. Correlation between the distribution of software bugs and network motifs [C]// Proceedings of the 2016 IEEE International Conference on Software Quality, Reliability and Security. Piscataway: IEEE, 2016: 202-213.

This work is partially supported by the Natural Science Foundation of Jiangxi Provincial Department of Education (GJJ180523).

LIU Chengbin, born in 1994, M. S. candidate. His research interests include software defect prediction, network representation learning.

ZHENG Wei, born in 1982, Ph. D., associate professor. His research interests include software testing, network optimization.

FAN Xin, born in 1981, M. S., lecturer. His research interests include software test automation, software defect prediction.

YANG Fengyu, born in 1980, M. S., associate professor. His research interests include software engineering, data mining.

收稿日期:2019-06-18;修回日期:2019-09-16;錄用日期:2019-09-19。基金項目:江西省教育廳自然科學(xué)基金資助項目(GJJ180523)。

作者簡介:劉成斌(1994—),男,江西吉安人,碩士研究生,CCF會員,主要研究方向:軟件缺陷預(yù)測、網(wǎng)絡(luò)表示學(xué)習(xí); 鄭?。?982—),男,江西萍鄉(xiāng)人,副教授,博士,CCF會員,主要研究方向:軟件測試、網(wǎng)絡(luò)優(yōu)化; 樊鑫(1981—),男,湖北荊州人,講師,碩士,CCF會員,主要研究方向:軟件測試自動化、軟件缺陷預(yù)測; 楊豐玉(1980—),男,江西九江人,副教授,碩士,CCF會員,主要研究方向:軟件工程、數(shù)據(jù)挖掘。

文章編號:1001-9081(2019)12-3633-06 DOI:10.11772/j.issn.1001-9081.2019061028

猜你喜歡
語義特征卷積神經(jīng)網(wǎng)絡(luò)
基于卷積神經(jīng)網(wǎng)絡(luò)溫室智能大棚監(jiān)控系統(tǒng)的研究
基于深度卷積神經(jīng)網(wǎng)絡(luò)的物體識別算法
漢語方言“馱”字被動句的特征及其生成機(jī)制
淺談現(xiàn)代漢語中名詞作謂語現(xiàn)象
淺析網(wǎng)絡(luò)用語中的新興結(jié)構(gòu)“第二最NP”
動態(tài)助詞“了”、“過”的對比分析與對外漢語教學(xué)
深度學(xué)習(xí)算法應(yīng)用于巖石圖像處理的可行性研究
基于深度卷積網(wǎng)絡(luò)的人臉年齡分析算法與實現(xiàn)
漢語足部運動詞的空間隱喻研究
基于卷積神經(jīng)網(wǎng)絡(luò)的樹葉識別的算法的研究