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

    基于BP神經(jīng)網(wǎng)絡(luò)的代碼壞味檢測

    2020-10-16 06:31:48王曙燕張一權(quán)孫家澤
    計算機(jī)工程 2020年10期
    關(guān)鍵詞:度量實例代碼

    王曙燕,張一權(quán),孫家澤

    (西安郵電大學(xué) 計算機(jī)學(xué)院,西安 710000)

    0 概述

    FOWLER等人[1]在1999年提出了“代碼壞味”的概念,其指軟件開發(fā)過程中可能會出現(xiàn)的代碼問題。代碼壞味檢測是通過重構(gòu)步驟解決源代碼(或設(shè)計)問題的既定方法,其目的是提高軟件質(zhì)量和維護(hù)效果。FOWLER等人一共提出了22種代碼壞味,包括克隆代碼、特征依戀和長方法等。代碼壞味及其檢測方法極大地推動了自動化軟件重構(gòu)的應(yīng)用和發(fā)展,成為軟件重構(gòu)領(lǐng)域的研究熱點之一。

    目前,研究人員設(shè)計出很多代碼壞味檢測工具,具有代表性的包括DECOR、IPlasma、InFusion、JDeodorant、PMD以及Checkstyle,這些工具基于一組度量和規(guī)則來檢測特定代碼壞味,如眾所周知的面向?qū)ο蟮亩攘炕蛘邽闄z測特定壞味而臨時定義的度量。根據(jù)檢測規(guī)則,用于通過不同工具檢測代碼壞味的度量可以是不同的,不同的工具對同一種代碼壞味的檢測結(jié)果也不同。此外,即使度量標(biāo)準(zhǔn)相同,度量標(biāo)準(zhǔn)的閾值也可能發(fā)生變化,從而使得檢測到的壞味數(shù)量相應(yīng)地改變。檢測工具的另外一個問題是檢測準(zhǔn)確性普遍較低,會檢測到許多假陽性壞味。上述問題推動了研究人員對代碼壞味檢測方法進(jìn)行分析并提出了一系列的自動或半自動改進(jìn)方法,以從代碼中檢測壞味[2]。其中,JDeodorant[3]是由TSANTALIS等人設(shè)計的代碼壞味檢測工具,該工具利用杰卡德距離衡量2個代碼實體之間的相似性。文獻(xiàn)[4-6]研究表明,在不同的代碼壞味檢測算法中,特征度量和閾值存在差異,不同的方法選取的度量值和閾值也有所不同,這就導(dǎo)致在代碼壞味檢測中沒有一個具體的標(biāo)準(zhǔn)[2]。學(xué)者們?yōu)榱私鉀Q該問題,提出基于各類機(jī)器學(xué)習(xí)算法的代碼壞味檢測方法,但是這些方法也存在一定的局限性。NUCCI等人[7]通過大量實驗,指出在機(jī)器學(xué)習(xí)算法的檢測過程中,代碼壞味數(shù)據(jù)集普遍僅存在一種類型的壞味,這并不符合實際情況,因為在軟件開發(fā)中代碼壞味不可能只存在單一類型,通過實驗可知在數(shù)據(jù)集中存在不同類型的代碼壞味,機(jī)器學(xué)習(xí)算法在對其檢測時準(zhǔn)確率較低,說明了不同類型的代碼壞味分布在數(shù)據(jù)集中時減弱了機(jī)器學(xué)習(xí)算法對代碼壞味的檢測能力。

    本文將BP神經(jīng)網(wǎng)絡(luò)(BPNN)與常見的軟件度量項相結(jié)合,以對代碼壞味進(jìn)行檢測。合并不同類型的代碼壞味,使數(shù)據(jù)集中存在不同的壞味類型,將常見的軟件度量特征與代碼壞味實例進(jìn)行相對應(yīng)的編碼,根據(jù)數(shù)據(jù)集中的標(biāo)簽信息實現(xiàn)有監(jiān)督深度學(xué)習(xí)。利用神經(jīng)網(wǎng)絡(luò)在自動選擇原始數(shù)據(jù)特征方面的優(yōu)勢,提取出這些度量項之間的相互關(guān)系,使度量特征項與代碼壞味實例完成映射建模,同時模型學(xué)習(xí)輸入的代碼壞味特征中的復(fù)雜關(guān)系規(guī)則,從而對代碼壞味實例進(jìn)行分類。由于有監(jiān)督的深度學(xué)習(xí)通常需要大量的標(biāo)記數(shù)據(jù)作為訓(xùn)練樣本,因此本文借助2種代碼壞味檢測工具針對4種類型的代碼壞味實例進(jìn)行提取,檢測程序主要包括Apache中的7個Java開源項目。

    1 相關(guān)工作

    目前的代碼壞味檢測方法主要分為兩大類,一類為基于規(guī)則的方法,這些方法主要依賴于度量,在某些情況下還有與代碼結(jié)構(gòu)和命名相關(guān)的其他規(guī)則;另一類方法使用機(jī)器學(xué)習(xí)技術(shù),這些技術(shù)主要基于度量進(jìn)行代碼壞味檢測。

    基于規(guī)則的方法較復(fù)雜,因為它們使用的信息來源多于基于度量的機(jī)器學(xué)習(xí)方法,如命名規(guī)則[8]、結(jié)構(gòu)規(guī)則[8]以及軟件版本歷史[9]。章曉芳等人[10]考慮到代碼壞味與軟件演化中的源文件操作關(guān)系,探究包含壞味的文件在軟件版本歷史中的不同特征,研究結(jié)果表明,有幾種特定的壞味對文件的修改產(chǎn)生了顯著影響。另一方面,基于規(guī)則的方法依賴于人為手動創(chuàng)建的規(guī)則。例如,DECOR要求規(guī)則為特定的語言形式,并且此規(guī)范過程必須由領(lǐng)域?qū)<?、工程師完成[11]。然而,基于度量的機(jī)器學(xué)習(xí)方法是否比基于規(guī)則的方法需要更少的人為干預(yù)不得而知,它取決于2個因素:1)基于規(guī)則的方法需要什么復(fù)雜程度的規(guī)則;2)基于度量的機(jī)器學(xué)習(xí)方法需要多少訓(xùn)練樣本[12]。基于度量的機(jī)器學(xué)習(xí)方法的明顯優(yōu)勢是減少了開發(fā)人員的工作壓力,基于規(guī)則的方法要求工程師創(chuàng)建定義每種氣味的特定規(guī)則。對于基于度量的機(jī)器學(xué)習(xí)方法,由機(jī)器學(xué)習(xí)算法創(chuàng)建規(guī)則,要求工程師僅提供一段代碼是否有氣味的信息。

    研究人員提出了基于各類機(jī)器學(xué)習(xí)算法的代碼壞味檢測方法。KREIMER[13]提出了一種自適應(yīng)檢測方法,該方法將基于度量與學(xué)習(xí)決策樹的基礎(chǔ)方法相結(jié)合,對過大類和長方法的2種代碼壞味類型進(jìn)行檢測,并且在IYC系統(tǒng)和WEKA工具上完成分析。該方法適用于特定的場景,但在識別不同的代碼壞味時會因為度量規(guī)則而存在性能差異。KHOMH等人[14]提出了BDTEX方法,其為一種目標(biāo)問題度量方法,根據(jù)反模式的定義構(gòu)建貝葉斯信任網(wǎng)絡(luò),并在2個開源程序上使用Blob反模式、功能分解和Spaghetti Code反模式驗證BDTEX方法。MAIGA等人[15]利用一種基于支持向量機(jī)的檢測方法在3個開源程序中進(jìn)行反模式檢測,該方法的F1值達(dá)到80%左右,但是準(zhǔn)確度較低。YANG等人[16]通過在克隆代碼上應(yīng)用機(jī)器學(xué)習(xí)算法研究開發(fā)人員對代碼壞味的判斷。PALOMBA等人[17]提出一種基于信息檢索技術(shù),利用程序中的文本信息進(jìn)行壞味檢測。FONTANA等人[12]將幾種常見的機(jī)器學(xué)習(xí)算法應(yīng)用在各類代碼壞味檢測中,并總結(jié)了J48、隨機(jī)森林以及貝葉斯網(wǎng)絡(luò)等幾種表現(xiàn)較好的機(jī)器學(xué)習(xí)算法。但是,在利用機(jī)器學(xué)習(xí)算法對代碼壞味進(jìn)行檢測的過程中,數(shù)據(jù)集包含的有壞味與無壞味實例之間的度量分布不同,實例的選擇可能會導(dǎo)致機(jī)器學(xué)習(xí)算法對壞味的檢測性能下降。劉麗倩等人[18]針對數(shù)據(jù)不平衡對機(jī)器學(xué)習(xí)算法的影響問題,將決策樹算法與代價敏感學(xué)習(xí)理論相結(jié)合以對長方法進(jìn)行檢測,研究結(jié)果表明,其能提高長方法的檢測查準(zhǔn)率和查全率。卜依凡等人[19]將代碼中的文本信息和軟件度量相結(jié)合,通過一種基于深度學(xué)習(xí)技術(shù)的方法對上帝類代碼壞味進(jìn)行檢測,實驗結(jié)果表明,該方法對上帝類代碼壞味的檢測性能優(yōu)于代碼壞味檢測工具JDeodorant,尤其是在查全率上優(yōu)勢明顯。

    上述基于機(jī)器學(xué)習(xí)的方法在進(jìn)行代碼壞味檢測時取得了較好的檢測效果。但是,此類方法僅考慮數(shù)據(jù)集中包含受單一類型壞味影響的實例的情景,并不符合軟件開發(fā)過程中出現(xiàn)各種類型代碼壞味的實際情況。本文基于BP神經(jīng)網(wǎng)絡(luò),對同一種數(shù)據(jù)集中存在不同類型代碼壞味和無壞味的情況進(jìn)行代碼壞味檢測。

    2 相關(guān)知識

    BP神經(jīng)網(wǎng)絡(luò)具有高效非線性數(shù)據(jù)函數(shù)映射逼近功能,其為一種功能強(qiáng)大的數(shù)據(jù)建模工具,能夠捕獲和表示復(fù)雜的輸入與輸出關(guān)系[20]。

    2.1 網(wǎng)絡(luò)初始化

    (1)

    其中,f(·)為激活函數(shù),在輸出層輸出過程中使用Softmax激活函數(shù),將其設(shè)置為3個單元表示輸出代碼壞味特征類型。Softmax激活函數(shù)可以將多個神經(jīng)元的輸出映射到(0,1)區(qū)間,選取概率最大的分類作為代碼壞味預(yù)測結(jié)果。

    2.2 輸出值計算

    在BP神經(jīng)網(wǎng)絡(luò)模型中,層與層之間存在計算線性關(guān)系,在網(wǎng)絡(luò)初始化完成之后,需要為每層選擇合適的激活函數(shù),目的是為了盡可能多地得到神經(jīng)網(wǎng)絡(luò)中每層之間學(xué)習(xí)輸入數(shù)據(jù)的線性變換集合空間,從而充分利用多層表示的優(yōu)勢。在網(wǎng)絡(luò)中,隱藏層學(xué)習(xí)輸入層數(shù)據(jù)的線性變換(網(wǎng)絡(luò)中間一層使用ReLU激活函數(shù)),ReLU激活函數(shù)用于隱藏層神經(jīng)元輸出,當(dāng)輸入x<0時,輸出為0,當(dāng)x>0時,輸出為x,該激活函數(shù)使神經(jīng)網(wǎng)絡(luò)更快收斂,計算公式如式(2)所示:

    φ(x)=max(0,x)

    (2)

    (3)

    2.3 模型訓(xùn)練

    為了使BP神經(jīng)網(wǎng)絡(luò)對代碼壞味進(jìn)行可靠的預(yù)測,必須對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行適當(dāng)訓(xùn)練。在訓(xùn)練過程中,BP神經(jīng)網(wǎng)絡(luò)算法利用梯度下降法尋找最優(yōu)解,在輸出層和隱藏層之間,通過誤差值按權(quán)重比例進(jìn)行分割,計算出每條鏈接相關(guān)的特定誤差值,通過重組這些誤差值得到隱藏層神經(jīng)元節(jié)點相關(guān)聯(lián)的誤差值,再次將這些誤差值按照輸入層和隱藏層之間的權(quán)重進(jìn)行分割,完成誤差的反向傳播。其中,最主要的步驟是更新層與層之間的權(quán)重值和閾值,更新規(guī)則表達(dá)式如式(4)~式(7)所示:

    (4)

    θ2=θ2+β·(Ypred-Yreal)·Ypred·(1-Ypred)

    (5)

    (6)

    (7)

    其中,α和β為學(xué)習(xí)率,在訓(xùn)練過程中,需要獲取BP神經(jīng)網(wǎng)絡(luò)的目標(biāo)輸出,Yreal為代碼壞味真實值,將其作為最終的目標(biāo)輸出。如果目標(biāo)輸出Yreal與預(yù)測目標(biāo)Ypred之間的誤差小于當(dāng)前設(shè)定的閾值,或者訓(xùn)練迭代輪數(shù)達(dá)到預(yù)設(shè)的閾值,則完成模型訓(xùn)練。

    3 基于BP神經(jīng)網(wǎng)絡(luò)的代碼壞味檢測方法

    機(jī)器學(xué)習(xí)算法在對代碼壞味進(jìn)行檢測的過程中,數(shù)據(jù)集中只包含一種類型的代碼壞味,并不能反映軟件設(shè)計過程中存在的實際問題。本文提出基于BP神經(jīng)網(wǎng)絡(luò)的代碼壞味檢測方法,針對數(shù)據(jù)類(Data class)、上帝類(God class)、長方法(Long method)和特征依戀(Feature envy)4種壞味類型進(jìn)行分類,并將4種類型合并為方法級別和類級別2種類型的數(shù)據(jù)集,使數(shù)據(jù)集中包含不同的壞味類型。表1所示為4種類型的代碼壞味描述。

    表1 代碼壞味描述Table 1 Description of bad smell in code

    利用神經(jīng)網(wǎng)絡(luò)對代碼壞味進(jìn)行檢測,是將度量特征信息與標(biāo)簽信息組成的向量形式作為神經(jīng)網(wǎng)絡(luò)輸入層的輸入,通過網(wǎng)絡(luò)得到特征并輸入到目標(biāo)函數(shù)的神經(jīng)網(wǎng)絡(luò)分類器中進(jìn)行訓(xùn)練,分類器的預(yù)期輸出為樣本的標(biāo)簽,在經(jīng)過多次迭代訓(xùn)練后,可以得到最終被訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)分類器。圖1所示為本文代碼壞味檢測方法的流程。

    圖1 基于BP神經(jīng)網(wǎng)絡(luò)的代碼壞味檢測方法流程Fig.1 Procedure of detection method of bad smell in code based on BP neural network

    3.1 數(shù)據(jù)集預(yù)處理

    在對數(shù)據(jù)集進(jìn)行預(yù)處理時需要提取代碼壞味實例、度量特征以及標(biāo)簽,由于不同的研究人員對度量特征提取的結(jié)果不同,本文主要按以下度量項來提取代碼壞味度量特征:

    1)數(shù)據(jù)類:耦合強(qiáng)度(CINT)和類耦合類數(shù)(CBO)。

    2)上帝類:訪問外部數(shù)據(jù)數(shù)(ATFD)、類的圈復(fù)雜度(WMC)、類中通過訪問相同屬性而發(fā)生連接的方法對個數(shù)(TCC)。

    3)特征依戀:訪問外部數(shù)據(jù)數(shù)(ATFD)、屬性訪問的位置(LAA)、提供外部數(shù)據(jù)數(shù)(FDP)。

    4)長方法:代碼總行數(shù)(LOC)、方法數(shù)(NOM)、屬性數(shù)(NOA)。

    提取度量特征、代碼壞味實例與標(biāo)簽的具體步驟如下:

    步驟1針對4種代碼壞味類型,使用代碼壞味自動檢測工具iPlasma和Checkstyle對開源軟件系統(tǒng)進(jìn)行檢測,提取代碼壞味實例和無壞味實例并對其進(jìn)行標(biāo)記,生成標(biāo)簽。

    步驟2計算有代碼壞味實例和無代碼壞味實例的度量特征。使用浮點數(shù)序列對有代碼壞味和無代碼壞味實例度量特征進(jìn)行編碼表示,其中,0代表某度量特征不是代碼壞味影響因素,純小數(shù)值代表某度量特征是影響代碼壞味的因素。

    步驟3將步驟1和步驟2中的度量特征和標(biāo)簽進(jìn)行合并,生成方法級別和類級別的2種數(shù)據(jù)集,以此構(gòu)成訓(xùn)練集。

    利用度量特征和標(biāo)簽構(gòu)成訓(xùn)練集的具體實現(xiàn)過程如下:

    將得到的度量特征與標(biāo)簽信息進(jìn)行合并,并將度量特征與標(biāo)簽信息轉(zhuǎn)換為向量表示〈m11,m12,…,p1n〉,m表示度量特征,p表示標(biāo)簽。合并之后的2種代碼壞味訓(xùn)練集結(jié)構(gòu)為:每一行代表代碼壞味實例,每一列代表度量特征,最后一列為標(biāo)簽信息,以此形成一種矩陣數(shù)據(jù)M。

    3.2 神經(jīng)網(wǎng)絡(luò)模型設(shè)計

    AHSAN等人[21]在肌電圖(EMG)信號的基礎(chǔ)上,利用人工神經(jīng)網(wǎng)絡(luò)檢測不同的預(yù)定義手部運(yùn)動(上、下、左、右),所設(shè)計的網(wǎng)絡(luò)能夠成功識別手部運(yùn)動。王毅等人[22]將卷積神經(jīng)網(wǎng)絡(luò)和長短期記憶神經(jīng)網(wǎng)絡(luò)相結(jié)合,對用戶偽裝入侵模式的缺陷進(jìn)行檢測,其檢測效果優(yōu)于基準(zhǔn)系統(tǒng),從而驗證了該方法的有效性。神經(jīng)網(wǎng)絡(luò)在分類方面具有優(yōu)勢,利用BP神經(jīng)網(wǎng)絡(luò)模型可以較好地預(yù)測代碼壞味。BP神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)如圖2所示。

    圖2 BP神經(jīng)網(wǎng)絡(luò)分類模型結(jié)構(gòu)Fig.2 Structure of BP neural network classification model

    在對數(shù)據(jù)集進(jìn)行預(yù)處理后,將數(shù)據(jù)集輸入到神經(jīng)網(wǎng)絡(luò)模型中,代碼壞味檢測的具體步驟如下:

    輸入帶有標(biāo)簽的代碼壞味矩陣數(shù)據(jù)樣本M

    輸出代碼壞味類別

    步驟1建立神經(jīng)網(wǎng)絡(luò)分類器模型,構(gòu)建的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)采用全連接形式,第1層為一個輸入層,第2層是隱藏層,網(wǎng)絡(luò)的最后一層是輸出層,輸出層采用Softmax函數(shù)并輸出代碼壞味的類別。

    步驟2將數(shù)據(jù)集預(yù)處理之后的代碼壞味度量特征的矩陣數(shù)據(jù)M作為輸入層的輸入,將標(biāo)簽信息作為網(wǎng)絡(luò)輸出基準(zhǔn),表示為Yreal,輸出層的輸出值表示為Ypred,如果Yreal與Ypred之間的誤差小于當(dāng)前設(shè)定的閾值或者訓(xùn)練迭代輪數(shù)達(dá)到閾值,則完成神經(jīng)網(wǎng)絡(luò)對代碼壞味預(yù)測輸出的訓(xùn)練,否則返回神經(jīng)網(wǎng)絡(luò)輸入層進(jìn)行模型訓(xùn)練。

    步驟3將FONTANA等人提出的代碼壞味公開數(shù)據(jù)集作為基準(zhǔn)代碼壞味測試集,并且按照數(shù)據(jù)集預(yù)處理過程中所述方式對測試數(shù)據(jù)進(jìn)行合并與向量形式轉(zhuǎn)換。將得到的測試集輸入訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型中,模型自動輸出預(yù)測的代碼壞味類別。

    3.3 評估模型

    在訓(xùn)練與測試階段需要監(jiān)控樣本上的損失和精度,并以準(zhǔn)確度(Accuracy)、F1值以及AUC值評價指標(biāo)評估神經(jīng)網(wǎng)絡(luò)模型的分類性能。準(zhǔn)確度、F1值具體計算公式如式(8)~式(11)所示:

    (8)

    (9)

    (10)

    (11)

    其中,TP代表樣本正類,TN代表樣本負(fù)類,FP為將錯誤的樣本分類成正確樣本的數(shù)量,FN則是將正確樣本分類成錯誤樣本的數(shù)量。

    F1值可以看作模型精確率和召回率的一種加權(quán)平均值,取值范圍為0~1。在分類任務(wù)中,期望精確率和召回率都達(dá)到很高,但實際上不可能實現(xiàn)。因此,需要獲取兩者之間的平衡點,而F1值可以看作此平衡點,F1值越高說明精確率和召回率同時達(dá)到較高且取得了平衡。

    AUC值被定義為ROC曲線下的面積,其不受閾值的影響。作為數(shù)值類型,AUC值越大的分類器效果越好。

    4 實驗驗證

    NUCCI等人對FONTANA提出的代碼壞味公開數(shù)據(jù)集進(jìn)行合并,使其中擁有不同的壞味類型。本文基于該數(shù)據(jù)集,在相同的條件下利用Weka工具提供的機(jī)器學(xué)習(xí)算法和本文方法分別進(jìn)行代碼壞味檢測,以驗證本文代碼壞味檢測方法的性能。

    4.1 實驗過程

    本文實驗在Ubuntu14.04 LTS環(huán)境下進(jìn)行,模型代碼基于Keras深度學(xué)習(xí)框架實現(xiàn),使用Tensorflow作為計算后端引擎。神經(jīng)網(wǎng)絡(luò)模型采用全連接形式,以batch size=10的形式組成小批量對網(wǎng)絡(luò)進(jìn)行梯度更新,網(wǎng)絡(luò)的訓(xùn)練迭代輪數(shù)epoch設(shè)置為500。

    本次實驗通過代碼壞味檢測工具對7個Java開源項目進(jìn)行檢測,以獲取代碼壞味實例,并將數(shù)據(jù)類、上帝類、特征依戀以及長方法的4種數(shù)據(jù)集進(jìn)行合并,生成類級別和方法級別的2種類型數(shù)據(jù)集,使代碼壞味數(shù)據(jù)集中包含不同壞味類型以及度量特征值。利用FONTANA等人[12]提出的公開代碼壞味數(shù)據(jù)集作為基準(zhǔn)測試集,對訓(xùn)練好的模型進(jìn)行測試。具體過程如下:

    1)對數(shù)據(jù)集中的度量特征、代碼壞味實例以及標(biāo)簽進(jìn)行預(yù)處理。本文利用代碼壞味自動檢測工具獲取到代碼壞味實例并進(jìn)行標(biāo)記生成標(biāo)簽,結(jié)合度量特征與標(biāo)簽信息得到代碼壞味訓(xùn)練集。考慮到基準(zhǔn)數(shù)據(jù)集為Arff格式,不利于輸入BP神經(jīng)網(wǎng)絡(luò),本文利用Python實現(xiàn)CSV數(shù)據(jù)集格式與Arff數(shù)據(jù)集格式的相互轉(zhuǎn)換。為了驗證代碼壞味預(yù)測模型的實際能力,將上帝類和數(shù)據(jù)類的數(shù)據(jù)集合并為類級別的數(shù)據(jù)集,將特征依戀和長方法的數(shù)據(jù)集合并為方法級別的數(shù)據(jù)集。合并之后的2種數(shù)據(jù)集分別包含840種代碼壞味實例。

    2)神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練。將預(yù)處理后的代碼壞味數(shù)據(jù)集作為網(wǎng)絡(luò)輸入層的輸入,標(biāo)簽值作為網(wǎng)絡(luò)的預(yù)期輸出,實現(xiàn)網(wǎng)絡(luò)對代碼壞味分類輸出的訓(xùn)練,從而得到BP神經(jīng)網(wǎng)絡(luò)分類模型。

    3)模型優(yōu)化。在模型優(yōu)化階段,利用十折交叉驗證法驗證模型對代碼壞味的預(yù)測精度,以避免在訓(xùn)練過程中出現(xiàn)過擬合現(xiàn)象。模型以分類交叉熵作為損失函數(shù),降低BP神經(jīng)網(wǎng)絡(luò)對代碼壞味的預(yù)測錯誤率,選擇自適應(yīng)學(xué)習(xí)率的Adam進(jìn)行模型參數(shù)學(xué)習(xí)。

    4.2 結(jié)果分析

    實驗從以下3個方面分析本文基于BP神經(jīng)網(wǎng)絡(luò)的代碼壞味檢測方法與NUCCI等人使用的機(jī)器學(xué)習(xí)算法在相同數(shù)據(jù)集上的代碼壞味檢測結(jié)果:

    1)數(shù)據(jù)集中包含不同類型的代碼壞味對于神經(jīng)網(wǎng)絡(luò)分類器的效果影響。為了探究數(shù)據(jù)集中存在不同類型的代碼壞味對神經(jīng)網(wǎng)絡(luò)分類器檢測效果的影響,將方法級別和類級別的代碼壞味數(shù)據(jù)集分別作為神經(jīng)網(wǎng)絡(luò)的分類輸入。各檢測方法在不同數(shù)據(jù)集中的準(zhǔn)確度、F1值和AUC值結(jié)果分別如表2~表5所示。

    表2 數(shù)據(jù)類數(shù)據(jù)集的測試結(jié)果Table 2 Test results of Data class dataset

    表3 上帝類數(shù)據(jù)集的測試結(jié)果Table 3 Test results of God class dataset

    表4 特征依戀數(shù)據(jù)集的測試結(jié)果Table 4 Test results of Feature envy dataset

    表5 長方法數(shù)據(jù)集的測試結(jié)果Table 5 Test results of Long method dataset

    實驗結(jié)果表明,本文方法在數(shù)據(jù)集存在不同壞味類型的情況下,平均準(zhǔn)確度達(dá)到91.63%,平均F1值達(dá)到87.63%,在AUC值上與其他檢測方法相比沒有明顯差別,但在分類整體效果上優(yōu)于其他檢測方法。以J48方法為例,本文方法在平均準(zhǔn)確度上提高了9.26%,平均F1值提高了41.75%。對比基于度量和規(guī)則的代碼壞味檢測工具JDeodorant,本文方法在平均準(zhǔn)確度上提高了16.03%,平均F1值提高了74.33%。綜合基于機(jī)器學(xué)習(xí)的代碼壞味檢測方法和基于度量的代碼壞味檢測工具JDeodorant,本文方法在總體平均準(zhǔn)確度上提升了15.19%,平均F1值提升了58.39%。

    2)神經(jīng)網(wǎng)絡(luò)模型構(gòu)建過程中的參數(shù)設(shè)置。在利用BP神經(jīng)網(wǎng)絡(luò)模型檢測代碼壞味的過程中,網(wǎng)絡(luò)隱藏層神經(jīng)元的數(shù)量選擇尤為重要。根據(jù)2種數(shù)據(jù)集含有不同的代碼壞味特征,本文對類級別數(shù)據(jù)集和方法級別數(shù)據(jù)集的模型神經(jīng)元個數(shù)設(shè)置如表6所示。

    表6 神經(jīng)元數(shù)量設(shè)置Table 6 Number setting of neurons

    在網(wǎng)絡(luò)中,隱藏層采用ReLU激活函數(shù),輸出層采用Softmax激活函數(shù)。

    3)代碼壞味分類的準(zhǔn)確度。為了能夠形象描述本文模型在訓(xùn)練階段與測試階段的代碼壞味分類準(zhǔn)確度,記錄樣本在分類過程中的準(zhǔn)確度,結(jié)果如圖3~圖6所示。從中可以看出,神經(jīng)網(wǎng)絡(luò)分類器在迭代輪數(shù)為400~500時能達(dá)到最佳整體分類性能。

    圖3 數(shù)據(jù)類數(shù)據(jù)集的準(zhǔn)確度Fig.3 Accuracy of Data class dataset

    圖4 上帝類數(shù)據(jù)集的準(zhǔn)確度Fig.4 Accuracy of God class dataset

    圖5 特征依戀數(shù)據(jù)集的準(zhǔn)確度Fig.5 Accuracy of Feature envy dataset

    圖6 長方法數(shù)據(jù)集的準(zhǔn)確度Fig.6 Accuracy of Long method dataset

    5 結(jié)束語

    代碼壞味檢測對程序質(zhì)量具有重要影響,本文提出一種基于BP神經(jīng)網(wǎng)絡(luò)的代碼壞味檢測方法,將常見的軟件度量特征項與代碼壞味實例信息相結(jié)合,并將收集到的代碼壞味類別合并成類級別和方法級別的2種類型數(shù)據(jù)集,以此作為神經(jīng)網(wǎng)絡(luò)模型的輸入,模型輸出代碼壞味的分類類別。實驗結(jié)果表明,與J48、Random Forest等代碼壞味檢測方法相比,該方法在測試集上的整體效果更優(yōu)。

    在實際的代碼壞味檢測中,收集到的相關(guān)數(shù)據(jù)集中正樣本數(shù)量與負(fù)樣本數(shù)量存在很大的不平衡性,影響了預(yù)測結(jié)果的準(zhǔn)確度,為解決該問題,研究人員通常手動選取數(shù)據(jù)集的正負(fù)樣本數(shù)量,以達(dá)到數(shù)據(jù)集的正負(fù)樣本平衡,該方式會耗費大量的人力且難以保證檢測結(jié)果的正確性。因此,下一步將基于生成式對抗神經(jīng)網(wǎng)絡(luò)對代碼壞味進(jìn)行檢測,以解決數(shù)據(jù)集正負(fù)樣本不平衡的問題。

    猜你喜歡
    度量實例代碼
    有趣的度量
    模糊度量空間的強(qiáng)嵌入
    迷向表示分為6個不可約直和的旗流形上不變愛因斯坦度量
    創(chuàng)世代碼
    動漫星空(2018年11期)2018-10-26 02:24:02
    創(chuàng)世代碼
    動漫星空(2018年2期)2018-10-26 02:11:00
    創(chuàng)世代碼
    動漫星空(2018年9期)2018-10-26 01:16:48
    創(chuàng)世代碼
    動漫星空(2018年5期)2018-10-26 01:15:02
    地質(zhì)異常的奇異性度量與隱伏源致礦異常識別
    完形填空Ⅱ
    完形填空Ⅰ
    av在线观看视频网站免费| 小蜜桃在线观看免费完整版高清| 精品日产1卡2卡| 日韩 亚洲 欧美在线| 精品久久久久久久末码| 床上黄色一级片| 色吧在线观看| 宅男免费午夜| 亚洲无线在线观看| 中文字幕熟女人妻在线| 18禁在线播放成人免费| av视频在线观看入口| 亚洲精华国产精华精| 免费观看的影片在线观看| 亚洲成av人片免费观看| 99在线视频只有这里精品首页| 国产成人影院久久av| 日韩av在线大香蕉| 久久久久久国产a免费观看| 国产精品av视频在线免费观看| ponron亚洲| 精品日产1卡2卡| 免费人成视频x8x8入口观看| av在线天堂中文字幕| 高清日韩中文字幕在线| 亚洲精品亚洲一区二区| 精品不卡国产一区二区三区| 国产成+人综合+亚洲专区| 中文字幕av在线有码专区| 乱码一卡2卡4卡精品| 色视频www国产| 精品熟女少妇八av免费久了| 欧美成人一区二区免费高清观看| 精品午夜福利在线看| 日韩欧美国产一区二区入口| 激情在线观看视频在线高清| 亚洲国产精品合色在线| 国产午夜精品论理片| 亚洲成av人片在线播放无| 免费av观看视频| 日韩大尺度精品在线看网址| 别揉我奶头 嗯啊视频| 国产成人av教育| 男女之事视频高清在线观看| 天堂√8在线中文| 色在线成人网| 91午夜精品亚洲一区二区三区 | 乱人视频在线观看| 日韩欧美一区二区三区在线观看| 最新中文字幕久久久久| 亚洲精品日韩av片在线观看| 亚洲国产精品sss在线观看| 高清日韩中文字幕在线| 嫩草影院新地址| 51国产日韩欧美| 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | 我的老师免费观看完整版| 免费无遮挡裸体视频| 内射极品少妇av片p| 国产精品99久久久久久久久| 国产探花在线观看一区二区| 最近最新中文字幕大全电影3| 欧美成狂野欧美在线观看| 啪啪无遮挡十八禁网站| 国产国拍精品亚洲av在线观看| 国产精品一及| 97人妻精品一区二区三区麻豆| 波多野结衣高清无吗| 身体一侧抽搐| 不卡一级毛片| 亚洲成人免费电影在线观看| 内射极品少妇av片p| 欧美精品啪啪一区二区三区| 欧美乱色亚洲激情| 免费av观看视频| 中文资源天堂在线| 757午夜福利合集在线观看| 亚洲最大成人中文| 亚洲va日本ⅴa欧美va伊人久久| 一个人看视频在线观看www免费| 日韩欧美在线乱码| 中文字幕av在线有码专区| 国产亚洲精品综合一区在线观看| 色综合婷婷激情| 日日夜夜操网爽| 丁香六月欧美| 国产激情偷乱视频一区二区| 怎么达到女性高潮| 乱码一卡2卡4卡精品| 99久国产av精品| 又爽又黄无遮挡网站| 狂野欧美白嫩少妇大欣赏| 国产亚洲精品久久久com| 18禁在线播放成人免费| 最近中文字幕高清免费大全6 | 国产激情偷乱视频一区二区| 国产色爽女视频免费观看| 国产精品永久免费网站| 国产精品久久电影中文字幕| 免费黄网站久久成人精品 | 中文亚洲av片在线观看爽| 欧美激情久久久久久爽电影| 亚洲色图av天堂| 国产老妇女一区| 在线观看66精品国产| 亚洲人成网站在线播放欧美日韩| 麻豆成人av在线观看| 一级黄色大片毛片| 国产黄片美女视频| 欧美激情久久久久久爽电影| 亚洲人成网站在线播放欧美日韩| 国产精品乱码一区二三区的特点| 亚洲三级黄色毛片| 亚洲中文日韩欧美视频| 窝窝影院91人妻| 亚洲人成网站高清观看| 国产精品永久免费网站| 黄色丝袜av网址大全| 亚洲男人的天堂狠狠| 校园春色视频在线观看| 久久久国产成人精品二区| 又爽又黄a免费视频| 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | 欧美成人性av电影在线观看| 偷拍熟女少妇极品色| 美女xxoo啪啪120秒动态图 | 国产 一区 欧美 日韩| 级片在线观看| 赤兔流量卡办理| 一个人看的www免费观看视频| 每晚都被弄得嗷嗷叫到高潮| 亚洲精品在线观看二区| 热99在线观看视频| 高清日韩中文字幕在线| 嫩草影院精品99| 午夜老司机福利剧场| 国产中年淑女户外野战色| 色视频www国产| 亚洲avbb在线观看| 男女那种视频在线观看| 国产色婷婷99| 国产亚洲精品综合一区在线观看| 欧美+日韩+精品| 麻豆成人av在线观看| av在线蜜桃| 又粗又爽又猛毛片免费看| 男人舔奶头视频| 国产高清激情床上av| 深夜精品福利| 乱人视频在线观看| 91在线精品国自产拍蜜月| 欧美一区二区亚洲| 欧美一区二区国产精品久久精品| 好男人电影高清在线观看| 12—13女人毛片做爰片一| 中文亚洲av片在线观看爽| 国产三级中文精品| 日韩欧美精品v在线| 亚洲熟妇中文字幕五十中出| 久久久久久大精品| 日本 欧美在线| 精品人妻熟女av久视频| 内地一区二区视频在线| 看片在线看免费视频| 内射极品少妇av片p| 国产一级毛片七仙女欲春2| 精品人妻偷拍中文字幕| 他把我摸到了高潮在线观看| 深夜精品福利| 露出奶头的视频| 亚洲av熟女| 中亚洲国语对白在线视频| 美女cb高潮喷水在线观看| 特大巨黑吊av在线直播| 别揉我奶头 嗯啊视频| 精品久久久久久久久久免费视频| 可以在线观看毛片的网站| 窝窝影院91人妻| 小蜜桃在线观看免费完整版高清| 国产精品一区二区三区四区免费观看 | 一区二区三区免费毛片| 久久久久九九精品影院| 免费观看的影片在线观看| 成年免费大片在线观看| 99热精品在线国产| 久久香蕉精品热| 一a级毛片在线观看| 精品久久国产蜜桃| 99久久无色码亚洲精品果冻| 一级黄片播放器| 国产成人a区在线观看| 老司机深夜福利视频在线观看| 九九在线视频观看精品| 精品人妻视频免费看| 黄片小视频在线播放| 国产精品久久久久久人妻精品电影| 男人的好看免费观看在线视频| 很黄的视频免费| 久久人妻av系列| 国产午夜精品论理片| 午夜福利高清视频| 国产精品久久久久久精品电影| 日韩欧美免费精品| 国产淫片久久久久久久久 | 国产av一区在线观看免费| 91在线观看av| 身体一侧抽搐| 国产精品久久久久久精品电影| 成年女人永久免费观看视频| 久久亚洲真实| 无人区码免费观看不卡| 欧美高清性xxxxhd video| 精品久久久久久久人妻蜜臀av| 日韩国内少妇激情av| 一级黄色大片毛片| 丰满的人妻完整版| 男人的好看免费观看在线视频| av在线老鸭窝| 国产一级毛片七仙女欲春2| 国产精品一及| 久久天躁狠狠躁夜夜2o2o| 精品久久久久久成人av| 精品不卡国产一区二区三区| 色综合亚洲欧美另类图片| 一区二区三区四区激情视频 | 男人和女人高潮做爰伦理| 欧美丝袜亚洲另类 | 亚洲久久久久久中文字幕| 日韩欧美在线乱码| 欧美日韩黄片免| 久久婷婷人人爽人人干人人爱| 中文字幕熟女人妻在线| 国产亚洲av嫩草精品影院| 人妻久久中文字幕网| a级一级毛片免费在线观看| 亚洲精品一卡2卡三卡4卡5卡| 波多野结衣高清无吗| 国产成年人精品一区二区| 日韩av在线大香蕉| 非洲黑人性xxxx精品又粗又长| 精品99又大又爽又粗少妇毛片 | aaaaa片日本免费| 又爽又黄a免费视频| 国产免费男女视频| 麻豆久久精品国产亚洲av| 国产私拍福利视频在线观看| 国产国拍精品亚洲av在线观看| 亚洲黑人精品在线| 欧美丝袜亚洲另类 | 亚洲美女搞黄在线观看 | 国产国拍精品亚洲av在线观看| 亚洲av电影在线进入| a在线观看视频网站| 一进一出抽搐动态| 国产大屁股一区二区在线视频| 91在线观看av| 亚洲电影在线观看av| 亚洲激情在线av| 99国产精品一区二区蜜桃av| 成人性生交大片免费视频hd| 久久久国产成人精品二区| 丰满人妻熟妇乱又伦精品不卡| 少妇熟女aⅴ在线视频| 亚洲 国产 在线| 久久精品夜夜夜夜夜久久蜜豆| 亚洲无线在线观看| 一边摸一边抽搐一进一小说| 很黄的视频免费| 夜夜躁狠狠躁天天躁| 每晚都被弄得嗷嗷叫到高潮| 国产精品,欧美在线| 亚洲精品久久国产高清桃花| 中出人妻视频一区二区| 亚洲av中文字字幕乱码综合| 日本黄大片高清| 欧美精品国产亚洲| 成年人黄色毛片网站| 国产高清三级在线| 国产精品久久久久久久电影| 久久中文看片网| 最近在线观看免费完整版| 国产激情偷乱视频一区二区| 午夜福利在线在线| 亚洲内射少妇av| 精品一区二区三区视频在线| 国产探花在线观看一区二区| 老熟妇仑乱视频hdxx| 俄罗斯特黄特色一大片| 国产黄色小视频在线观看| 最近在线观看免费完整版| 中文字幕高清在线视频| 久久欧美精品欧美久久欧美| 在线观看美女被高潮喷水网站 | 国产久久久一区二区三区| 亚洲专区国产一区二区| 波多野结衣高清作品| 亚洲人与动物交配视频| 精品久久久久久久人妻蜜臀av| 国产精品影院久久| 69人妻影院| 亚洲天堂国产精品一区在线| 欧美一区二区精品小视频在线| 亚洲性夜色夜夜综合| 成人鲁丝片一二三区免费| 国产精品人妻久久久久久| 亚洲真实伦在线观看| 九九热线精品视视频播放| 日本撒尿小便嘘嘘汇集6| 欧美绝顶高潮抽搐喷水| 亚洲激情在线av| 成人性生交大片免费视频hd| 人妻丰满熟妇av一区二区三区| 国产精品1区2区在线观看.| 午夜免费成人在线视频| 亚洲av电影在线进入| 一进一出抽搐动态| 午夜日韩欧美国产| 日本与韩国留学比较| 亚洲精品色激情综合| 亚洲精品久久国产高清桃花| 亚洲精品乱码久久久v下载方式| 老司机深夜福利视频在线观看| 午夜a级毛片| 国模一区二区三区四区视频| 国产亚洲欧美98| 在线国产一区二区在线| 亚洲第一区二区三区不卡| 丰满的人妻完整版| 日韩欧美精品免费久久 | 黄色日韩在线| 亚洲精品成人久久久久久| 舔av片在线| 热99re8久久精品国产| 成人精品一区二区免费| 日本与韩国留学比较| 日本a在线网址| 尤物成人国产欧美一区二区三区| 成人特级黄色片久久久久久久| 欧美性猛交黑人性爽| 99热这里只有是精品在线观看 | 一区福利在线观看| 99国产精品一区二区蜜桃av| 亚洲久久久久久中文字幕| 国产免费男女视频| 国产av在哪里看| a级毛片a级免费在线| bbb黄色大片| 亚洲在线自拍视频| 12—13女人毛片做爰片一| 国产高清视频在线观看网站| 嫁个100分男人电影在线观看| 久久久精品大字幕| 此物有八面人人有两片| 亚洲性夜色夜夜综合| xxxwww97欧美| netflix在线观看网站| 国内揄拍国产精品人妻在线| 97热精品久久久久久| 久久久精品大字幕| 国产精品久久久久久亚洲av鲁大| 一个人免费在线观看的高清视频| 一级黄片播放器| 小蜜桃在线观看免费完整版高清| 精品人妻偷拍中文字幕| 免费大片18禁| 色综合欧美亚洲国产小说| 欧美绝顶高潮抽搐喷水| 欧美在线黄色| 在线观看午夜福利视频| 日本在线视频免费播放| 亚洲中文字幕日韩| 亚洲18禁久久av| 一本一本综合久久| 日本三级黄在线观看| .国产精品久久| www.色视频.com| 男人的好看免费观看在线视频| 亚洲在线自拍视频| 亚洲 欧美 日韩 在线 免费| 亚洲熟妇熟女久久| 99在线视频只有这里精品首页| 亚洲中文日韩欧美视频| 亚洲美女黄片视频| 一个人观看的视频www高清免费观看| 久久久精品大字幕| 欧美日本亚洲视频在线播放| 亚洲七黄色美女视频| 日本在线视频免费播放| 亚洲精品在线美女| 亚洲无线在线观看| 久久精品国产99精品国产亚洲性色| 中文字幕高清在线视频| 亚洲乱码一区二区免费版| 精品久久久久久久末码| 久久久精品大字幕| 欧美+亚洲+日韩+国产| 日韩欧美免费精品| 欧美3d第一页| 在线天堂最新版资源| 日韩欧美三级三区| 在线免费观看不下载黄p国产 | 国产成人aa在线观看| 国产午夜精品论理片| 国产伦精品一区二区三区视频9| 日韩高清综合在线| 人人妻人人看人人澡| 婷婷精品国产亚洲av在线| 一夜夜www| 淫妇啪啪啪对白视频| 国产真实伦视频高清在线观看 | 国产欧美日韩一区二区精品| 欧美日本视频| 免费av毛片视频| 国产麻豆成人av免费视频| 免费av不卡在线播放| 免费高清视频大片| 两人在一起打扑克的视频| 女同久久另类99精品国产91| 亚洲内射少妇av| 日本撒尿小便嘘嘘汇集6| 国产黄a三级三级三级人| 桃红色精品国产亚洲av| 9191精品国产免费久久| 男人舔女人下体高潮全视频| 久久天躁狠狠躁夜夜2o2o| 可以在线观看毛片的网站| 97人妻精品一区二区三区麻豆| 老鸭窝网址在线观看| a级一级毛片免费在线观看| 亚洲片人在线观看| 久久性视频一级片| 18+在线观看网站| 一区福利在线观看| 午夜激情欧美在线| 麻豆成人av在线观看| 亚洲av第一区精品v没综合| 级片在线观看| 亚洲精品一区av在线观看| 欧美乱妇无乱码| 搞女人的毛片| 亚洲av日韩精品久久久久久密| 蜜桃久久精品国产亚洲av| 日韩精品青青久久久久久| 久久午夜亚洲精品久久| 熟妇人妻久久中文字幕3abv| 国产黄a三级三级三级人| 色综合欧美亚洲国产小说| 亚洲成人久久性| 一边摸一边抽搐一进一小说| 欧美+日韩+精品| 宅男免费午夜| 91麻豆av在线| 亚洲av成人不卡在线观看播放网| 18禁裸乳无遮挡免费网站照片| 亚洲一区二区三区不卡视频| 国产精品免费一区二区三区在线| 热99re8久久精品国产| 亚洲色图av天堂| 哪里可以看免费的av片| 亚洲avbb在线观看| 亚洲精品在线观看二区| 一进一出抽搐gif免费好疼| 搡老妇女老女人老熟妇| 欧美一级a爱片免费观看看| 好男人电影高清在线观看| 国产精品久久视频播放| 亚洲av中文字字幕乱码综合| 久久这里只有精品中国| 熟女人妻精品中文字幕| 小说图片视频综合网站| 一夜夜www| 亚洲人成网站高清观看| avwww免费| 成人鲁丝片一二三区免费| 国产高清视频在线播放一区| 男女视频在线观看网站免费| 成人美女网站在线观看视频| 搡老岳熟女国产| 在线看三级毛片| 国产极品精品免费视频能看的| 国产精品久久久久久人妻精品电影| 日韩欧美在线乱码| 国产成年人精品一区二区| 亚洲不卡免费看| 国产三级中文精品| 97热精品久久久久久| 国产精品人妻久久久久久| av欧美777| 久99久视频精品免费| 日本黄大片高清| 午夜免费激情av| 免费看光身美女| a级毛片a级免费在线| 99热这里只有是精品50| 色噜噜av男人的天堂激情| 精品欧美国产一区二区三| 国产精品1区2区在线观看.| 久久6这里有精品| 国产激情偷乱视频一区二区| 亚洲av.av天堂| 首页视频小说图片口味搜索| 成人av一区二区三区在线看| 亚洲五月天丁香| 国产午夜精品论理片| 久久精品综合一区二区三区| 国产成人a区在线观看| 中文字幕人成人乱码亚洲影| 最新在线观看一区二区三区| 日本黄大片高清| 色精品久久人妻99蜜桃| 伊人久久精品亚洲午夜| 我要看日韩黄色一级片| 真实男女啪啪啪动态图| 色噜噜av男人的天堂激情| 在线免费观看不下载黄p国产 | netflix在线观看网站| 国产欧美日韩精品亚洲av| 国产大屁股一区二区在线视频| 国产精品av视频在线免费观看| 麻豆成人午夜福利视频| 久久国产精品影院| 男女之事视频高清在线观看| 小蜜桃在线观看免费完整版高清| 亚州av有码| 天堂影院成人在线观看| 少妇被粗大猛烈的视频| 国产视频内射| 一区二区三区高清视频在线| 国产亚洲精品久久久com| 亚洲国产高清在线一区二区三| 91在线精品国自产拍蜜月| 看免费av毛片| 国产精品,欧美在线| 欧美日韩亚洲国产一区二区在线观看| 在线观看av片永久免费下载| 午夜免费激情av| 免费av不卡在线播放| 岛国在线免费视频观看| 免费av观看视频| 国产精品日韩av在线免费观看| 久久久久精品国产欧美久久久| 精华霜和精华液先用哪个| 亚洲av电影不卡..在线观看| 婷婷色综合大香蕉| 欧美3d第一页| 2021天堂中文幕一二区在线观| 国产人妻一区二区三区在| 国内精品美女久久久久久| 一区二区三区免费毛片| 国产乱人伦免费视频| 欧美黑人巨大hd| 成年版毛片免费区| 久久亚洲真实| 亚洲av二区三区四区| 亚洲精华国产精华精| 亚洲精品一卡2卡三卡4卡5卡| 免费人成视频x8x8入口观看| 老熟妇乱子伦视频在线观看| 久久久久久久精品吃奶| 亚洲,欧美,日韩| 一级毛片久久久久久久久女| netflix在线观看网站| 国产伦人伦偷精品视频| 特级一级黄色大片| 免费大片18禁| 欧美乱色亚洲激情| 淫秽高清视频在线观看| 窝窝影院91人妻| 一二三四社区在线视频社区8| 国产 一区 欧美 日韩| 黄片小视频在线播放| 精品久久久久久久久久免费视频| 久久久久国产精品人妻aⅴ院| 搡老妇女老女人老熟妇| a级一级毛片免费在线观看| a级毛片免费高清观看在线播放| 亚洲欧美日韩高清在线视频| www.999成人在线观看| 天堂影院成人在线观看| 色吧在线观看| 一本精品99久久精品77| 久久久久久久久大av| 国内久久婷婷六月综合欲色啪| 日本 av在线| 精品久久久久久成人av| avwww免费| 精品久久久久久成人av| 美女免费视频网站| 国产精品久久久久久久久免 | 自拍偷自拍亚洲精品老妇| 一级黄片播放器| 国产三级中文精品| 精品无人区乱码1区二区| 中文字幕av成人在线电影| 亚洲欧美日韩高清专用| 精品国产亚洲在线| 青草久久国产| 精品一区二区三区视频在线观看免费| 十八禁人妻一区二区| 欧美区成人在线视频| 国产成人影院久久av| 国产精品亚洲一级av第二区| a在线观看视频网站| 国产精品久久久久久久电影| 18禁裸乳无遮挡免费网站照片| 欧美最新免费一区二区三区 | 亚洲欧美激情综合另类| 国产精品影院久久| 非洲黑人性xxxx精品又粗又长| 亚洲精品在线观看二区| 日本撒尿小便嘘嘘汇集6| 午夜福利18| 一级av片app| 婷婷色综合大香蕉| 精品99又大又爽又粗少妇毛片 |