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

    結(jié)合特征對(duì)齊與實(shí)例遷移的跨項(xiàng)目缺陷預(yù)測(cè)

    2023-10-17 12:07:01李莉趙鑫石可欣蘇仁嘉任振康
    計(jì)算機(jī)應(yīng)用研究 2023年10期

    李莉 趙鑫 石可欣 蘇仁嘉 任振康

    摘 要:為解決跨項(xiàng)目缺陷預(yù)測(cè)中源項(xiàng)目和目標(biāo)項(xiàng)目分布差異較大的問題,提出了一種基于特征對(duì)齊和實(shí)例遷移的兩階段缺陷預(yù)測(cè)方法(FAIT)。首先,在特征對(duì)齊階段,根據(jù)邊緣概率分布進(jìn)行特征的邊緣分布對(duì)齊;然后,基于源項(xiàng)目和目標(biāo)項(xiàng)目構(gòu)建條件分布映射矩陣完成條件分布對(duì)齊;最后,在實(shí)例遷移階段,通過改進(jìn)了權(quán)重調(diào)整策略的TrAdaBoost方法構(gòu)建跨項(xiàng)目缺陷預(yù)測(cè)模型。以F1作為評(píng)價(jià)指標(biāo),當(dāng)目標(biāo)項(xiàng)目有標(biāo)簽實(shí)例比例為20%時(shí),F(xiàn)AIT性能最佳,且兩過程特征對(duì)齊優(yōu)于單一過程特征對(duì)齊。此外,F(xiàn)AIT的預(yù)測(cè)性能在AEEEM和NASA數(shù)據(jù)集上分別提高了10.69%、15.04%。FAIT在一定程度上解決了源項(xiàng)目與目標(biāo)項(xiàng)目的分布差異,能夠取得較好的缺陷預(yù)測(cè)性能。

    關(guān)鍵詞:跨項(xiàng)目缺陷預(yù)測(cè);特征對(duì)齊;最大均值差異;實(shí)例遷移;TrAdaBoost

    中圖分類號(hào):TP311.5 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1001-3695(2023)10-032-3091-09

    doi:10.19734/j.issn.1001-3695.2023.02.0068

    Cross-project defect prediction combining feature alignment and instance migration

    Li Li,Zhao Xin,Shi Kexin,Su Renjia,Ren Zhenkang

    (College of Computer & Control Engineering,Northeast Forestry University,Harbin 150040,China)

    Abstract:To address the problem of significant distributional differences between source and target projects in cross-project defect prediction,this paper proposed a two-stage defect prediction method based on feature alignment and instance transfer (FAIT).In the feature alignment stage,F(xiàn)AIT aligned the marginal distributions of features based on their probability distributions.Next,this method constructed a conditional distribution mapping matrix based on both source and target projects to achieve conditional distribution alignment.Finally,in the instance transfer stage,it built a cross-project defect prediction model using an improved weight adjustment strategy for TrAdaBoost.FAIT achieves the best performance when the proportion of labeled instances in the target project is 20%,with F1 as the evaluation metric.Furthermore,dual-process feature alignment outperforms single-process feature alignment,and FAITs predictive performance improves by 10.69% and 15.04% on the AEEEM and NASA datasets,respectively.To some extent,F(xiàn)AIT addresses distributional differences between source and target projects and achieves good defect prediction performance.

    Key words:cross-project defect prediction(CPDP);feature alignment;maximum mean discrepancy;instance transfer;TrAdaBoost

    0 引言

    隨著軟件復(fù)雜度的不斷增長(zhǎng),軟件開發(fā)難度不斷變大,由于開發(fā)過程不規(guī)范、需求理解錯(cuò)誤等問題,導(dǎo)致軟件中存在大量缺陷;而軟件缺陷若無(wú)法盡早修正,將會(huì)帶來巨大的人力物力損失[1,2]。軟件缺陷預(yù)測(cè)技術(shù)可以幫助開發(fā)人員和測(cè)試人員盡可能早地識(shí)別出項(xiàng)目中存在的缺陷。目前,大部分缺陷預(yù)測(cè)工作集中于項(xiàng)目?jī)?nèi),即對(duì)當(dāng)前項(xiàng)目的歷史信息進(jìn)行挖掘分析,構(gòu)建模型,然后對(duì)新版本進(jìn)行預(yù)測(cè)[3]。但是對(duì)于新項(xiàng)目,沒有足夠的數(shù)據(jù)積累,無(wú)法保證缺陷預(yù)測(cè)性能。因此,跨項(xiàng)目軟件缺陷預(yù)測(cè)(CPDP)應(yīng)需而生,即基于其他項(xiàng)目訓(xùn)練模型對(duì)新項(xiàng)目進(jìn)行預(yù)測(cè)。然而,源項(xiàng)目與目標(biāo)項(xiàng)目之間通常因?yàn)闃I(yè)務(wù)和編程語(yǔ)言等因素不同導(dǎo)致數(shù)據(jù)分布存在較大的差異,該差異主要包括特征分布差異和實(shí)例分布差異。特征分布差異使得源項(xiàng)目和目標(biāo)項(xiàng)目分屬不同的知識(shí)空間,源項(xiàng)目的知識(shí)表現(xiàn)形式無(wú)法應(yīng)用于目標(biāo)項(xiàng)目;實(shí)例分布差異使得源項(xiàng)目大部分實(shí)例與目標(biāo)項(xiàng)目實(shí)例關(guān)聯(lián)程度較低,模型在源項(xiàng)目中學(xué)習(xí)到的實(shí)例信息在目標(biāo)項(xiàng)目中的泛化能力不足。因此,跨項(xiàng)目軟件缺陷預(yù)測(cè)首先需要減小源項(xiàng)目和目標(biāo)項(xiàng)目之間的特征分布差異和實(shí)例分布差異。雖然現(xiàn)有研究已提出多種數(shù)據(jù)過濾策略以解決該問題,但是此類方法無(wú)論是在減小特征分布差異還是實(shí)例分布差異方面,都只注重源項(xiàng)目的數(shù)據(jù)選擇而忽視了目標(biāo)項(xiàng)目潛在的先驗(yàn)知識(shí),導(dǎo)致跨項(xiàng)目缺陷預(yù)測(cè)性能提升受限。

    針對(duì)上述問題,本文提出了一種結(jié)合特征對(duì)齊與實(shí)例遷移的跨項(xiàng)目缺陷預(yù)測(cè)方法(cross-project defect prediction based on feature alignment and instance transfer,F(xiàn)AIT)。FAIT方法包括兩個(gè)階段:在特征的分布對(duì)齊階段,通過邊緣分布對(duì)齊和條件分布對(duì)齊對(duì)特征進(jìn)行遷移,使源項(xiàng)目和目標(biāo)項(xiàng)目的特征在再生希爾伯特空間具有一致的分布;在實(shí)例遷移階段,基于TrAdaBoost[4]方法并對(duì)其進(jìn)行改進(jìn),給源項(xiàng)目中與目標(biāo)項(xiàng)目具有相似分布的實(shí)例賦予更高權(quán)重,構(gòu)建跨項(xiàng)目缺陷預(yù)測(cè)模型。

    1 相關(guān)工作

    跨項(xiàng)目軟件缺陷預(yù)測(cè)技術(shù)通過有類標(biāo)的其他項(xiàng)目(源項(xiàng)目)數(shù)據(jù)建立模型來盡可能地識(shí)別出被測(cè)項(xiàng)目中有缺陷的模塊,是一個(gè)二分類問題。由于項(xiàng)目間程序語(yǔ)言等各要素不同,源項(xiàng)目和目標(biāo)項(xiàng)目的特征分布及實(shí)例分布均可能存在較大差異。為探究跨項(xiàng)目缺陷預(yù)測(cè)的可行性,文獻(xiàn)[5]基于回歸方法對(duì)Jwrite項(xiàng)目進(jìn)行跨項(xiàng)目預(yù)測(cè),實(shí)驗(yàn)結(jié)果表明利用源項(xiàng)目對(duì)目標(biāo)項(xiàng)目預(yù)測(cè)的性能優(yōu)于隨機(jī)預(yù)測(cè),但無(wú)法達(dá)到同一項(xiàng)目之間的預(yù)測(cè)性能。近年來,研究人員已提出多種跨項(xiàng)目缺陷預(yù)測(cè)方法,其大致可以分為基于訓(xùn)練數(shù)據(jù)清洗的CPDP方法和基于遷移學(xué)習(xí)的CPDP方法兩類。

    1.1 基于訓(xùn)練數(shù)據(jù)清洗的CPDP方法

    基于訓(xùn)練數(shù)據(jù)清洗的CPDP方法旨在通過對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行特征變換、特征選擇[6]以及缺陷實(shí)例過濾[7]等操作進(jìn)行數(shù)據(jù)預(yù)處理,為目標(biāo)項(xiàng)目數(shù)據(jù)找到合適的源項(xiàng)目數(shù)據(jù)。

    特征變換是根據(jù)特征之間的關(guān)系將原始特征集通過某種變換映射到一個(gè)新的特征空間內(nèi),在降低特征維度[8]的同時(shí)避免模型在源項(xiàng)目上過擬合。文獻(xiàn)[9]認(rèn)為不同源的數(shù)據(jù)會(huì)導(dǎo)致訓(xùn)練集結(jié)構(gòu)復(fù)雜,不利于跨項(xiàng)目缺陷預(yù)測(cè)模型的訓(xùn)練,提出利用主成分分析(principal component analysis,PCA)對(duì)數(shù)據(jù)訓(xùn)練集進(jìn)行特征變換以克服該問題。文獻(xiàn)[10]基于PCA方法提出了核主成分分析(kernel principal component analysis,KPCA),通過對(duì)不同特性的核函數(shù)充分提取原特征的非線性關(guān)系,取得了較優(yōu)的缺陷預(yù)測(cè)效果。文獻(xiàn)[11]則進(jìn)一步將具有不同表達(dá)能力的核函數(shù)進(jìn)行組合,使變換后的數(shù)據(jù)保留更多主要成分,然后與集成學(xué)習(xí)結(jié)合提出了基于多核集成學(xué)習(xí)的跨項(xiàng)目軟件缺陷預(yù)測(cè)(cross-project software defect prediction based on multiple kernel ensemble learning,CMKEL)方法,但該方法需要對(duì)所有特征進(jìn)行多次核映射,當(dāng)特征數(shù)量較多時(shí)計(jì)算代價(jià)較大。文獻(xiàn)[12]在特征提取過程中實(shí)現(xiàn)了特征降維,不會(huì)出現(xiàn)文獻(xiàn)[10]的維度災(zāi)難問題,它從統(tǒng)計(jì)學(xué)的角度分析了每個(gè)特征的16種描述性統(tǒng)計(jì),將原始特征轉(zhuǎn)換成16維的新特征。其中,采用方差、異種比率等描述特征取值的離散性;采用峰度和偏態(tài)等描述特征的形狀;采用均值、中位數(shù)、眾數(shù)等描述特征的集中趨勢(shì)。

    特征選擇是從原特征中選取部分與類標(biāo)關(guān)聯(lián)性較大的優(yōu)質(zhì)特征組成新的特征集。文獻(xiàn)[13]利用最大信息系數(shù)(maximal information coefficient,MIC)衡量特征與類標(biāo)之間的關(guān)聯(lián)程度,進(jìn)而對(duì)特征進(jìn)行過濾。雖然MIC是一種優(yōu)秀的數(shù)據(jù)關(guān)聯(lián)性衡量指標(biāo),但單一指標(biāo)無(wú)法保證篩選結(jié)果的準(zhǔn)確性。文獻(xiàn)[14]考慮四種關(guān)聯(lián)性衡量指標(biāo),基于Boruta算法、交替條件期望(alternating conditional expectation,ACE)、回歸子集和簡(jiǎn)單關(guān)聯(lián)分析四種指標(biāo)進(jìn)行特征非線性分析。由于使用多種衡量指標(biāo)需要考慮特征選擇結(jié)果的交集,所以在特征選擇過程中會(huì)拋棄更多特征,導(dǎo)致更多信息丟失。文獻(xiàn)[15]提出在多指標(biāo)中選取top-k統(tǒng)計(jì)方法驗(yàn)證預(yù)分類的可接受性能,然后通過刪除冗余指標(biāo)來最小化top-k指標(biāo)子集,并使用單因素方差分析檢驗(yàn)測(cè)試了此類最小指標(biāo)子集的穩(wěn)定性。此方法是一種權(quán)衡方法,可在保證篩選結(jié)果準(zhǔn)確性的同時(shí)避免信息丟失過多。

    無(wú)論是特征變換還是特征選擇,均是在項(xiàng)目?jī)?nèi)部對(duì)特征進(jìn)行處理,源項(xiàng)目與目標(biāo)項(xiàng)目特征處理并無(wú)關(guān)聯(lián),這就導(dǎo)致了在源項(xiàng)目?jī)?nèi)得到的特征集與目標(biāo)項(xiàng)目?jī)?nèi)得到的特征集之間仍然存在著分布差異。本文考慮到該問題,在特征處理過程中關(guān)聯(lián)源項(xiàng)目特征與目標(biāo)項(xiàng)目特征,利用特征遷移技術(shù)對(duì)源項(xiàng)目和目標(biāo)項(xiàng)目的特征進(jìn)行對(duì)齊。

    實(shí)例過濾是通過算法對(duì)源項(xiàng)目實(shí)例進(jìn)行篩選,篩選出與目標(biāo)項(xiàng)目分布相似最高的實(shí)例加入到訓(xùn)練集中。從目標(biāo)項(xiàng)目角度出發(fā),文獻(xiàn)[16]使用Burak過濾法,對(duì)于每個(gè)目標(biāo)項(xiàng)目的實(shí)例獲取10個(gè)與其歐氏距離最小的源項(xiàng)目實(shí)例加入到實(shí)例集中。從源項(xiàng)目角度出發(fā),文獻(xiàn)[17]提出Peters過濾法,首先基于源項(xiàng)目選擇距離最近的目標(biāo)項(xiàng)目實(shí)例,然后再基于該目標(biāo)項(xiàng)目實(shí)例選擇與其距離最近的源項(xiàng)目實(shí)例,該雙向選擇策略使得從源項(xiàng)目中選擇的實(shí)例不存在冗余。從全局和局部角度出發(fā),文獻(xiàn)[18]分析了全局實(shí)例選擇和局部實(shí)例選擇對(duì)跨項(xiàng)目缺陷預(yù)測(cè)模型性能的影響,在局部實(shí)例選擇中使用不同的聚類方法對(duì)源項(xiàng)目實(shí)例進(jìn)行聚類,實(shí)驗(yàn)表明聚類后的源項(xiàng)目可使模型具有更好的預(yù)測(cè)性能。

    上述研究均對(duì)源項(xiàng)目實(shí)例進(jìn)行篩選,這意味著需要丟棄源項(xiàng)目中的部分實(shí)例,同樣會(huì)導(dǎo)致部分信息丟失。本文考慮到該問題,在實(shí)例處理階段,利用TrAdaBoost的加權(quán)方式為源項(xiàng)目實(shí)例設(shè)置權(quán)重并進(jìn)行動(dòng)態(tài)調(diào)整,在不損失或少損失源項(xiàng)目信息的前提下,提高與目標(biāo)項(xiàng)目分布相似較高的實(shí)例的權(quán)重。

    1.2 基于遷移學(xué)習(xí)的CPDP方法

    基于遷移學(xué)習(xí)的CPDP方法旨在設(shè)計(jì)具有強(qiáng)大學(xué)習(xí)能力和泛化能力的算法構(gòu)建分類器。根據(jù)遷移對(duì)象的不同可以分為特征遷移和實(shí)例遷移兩類遷移方法。

    特征遷移通過算法對(duì)特征進(jìn)行映射,使得源項(xiàng)目和目標(biāo)項(xiàng)目在同一空間內(nèi)具有相似的特征分布??珥?xiàng)目缺陷預(yù)測(cè)中常用的是遷移成分分析(transfer component analysis,TCA),文獻(xiàn)[19]利用TCA解決源項(xiàng)目和目標(biāo)項(xiàng)目之間的分布差異問題,該方法通過訓(xùn)練得到一個(gè)特征變換矩陣,利用該矩陣同時(shí)對(duì)源項(xiàng)目特征和目標(biāo)項(xiàng)目特征進(jìn)行變換,為本文的邊緣分布對(duì)齊提供了參考。文獻(xiàn)[20]針對(duì)軟件缺陷預(yù)測(cè)對(duì)TCA進(jìn)行了擴(kuò)展提出TCA+方法,通過添加定制的歸一化規(guī)則來最小化源項(xiàng)目和目標(biāo)項(xiàng)目之間的特征分布差異。文獻(xiàn)[21]在TCA中引入流形學(xué)習(xí),提出局部保留聯(lián)合分布適配方法。缺陷預(yù)測(cè)可以借鑒聯(lián)合分布適配思想,在邊緣分布對(duì)齊后繼續(xù)進(jìn)行條件分布對(duì)齊。條件分布對(duì)齊的前提是目標(biāo)項(xiàng)目具有類標(biāo),然而目標(biāo)項(xiàng)目不存在類標(biāo)。文獻(xiàn)[22]在特征遷移過程中通過為目標(biāo)項(xiàng)目生成偽類標(biāo)的方式解決該矛盾,對(duì)目標(biāo)項(xiàng)目中的實(shí)例與源項(xiàng)目中的實(shí)例按照距離進(jìn)行匹配,將源項(xiàng)目實(shí)例的類標(biāo)賦予目標(biāo)項(xiàng)目實(shí)例。

    實(shí)例遷移是根據(jù)目標(biāo)項(xiàng)目中部分有類標(biāo)實(shí)例,調(diào)整源項(xiàng)目中實(shí)例的權(quán)重,使得源項(xiàng)目與目標(biāo)項(xiàng)目相適配的遷移方法。文獻(xiàn)[23]介紹了基于代價(jià)敏感思想的權(quán)重更新策略:對(duì)于分布相似的源項(xiàng)目實(shí)例和目標(biāo)項(xiàng)目實(shí)例,如果誤分則增加權(quán)重,否則降低權(quán)重;對(duì)于分布差異較大的實(shí)例,如果誤分則稍降低權(quán)重,否則降低更多的權(quán)重。文獻(xiàn)[24]認(rèn)為源項(xiàng)目中與目標(biāo)項(xiàng)目相似的實(shí)例應(yīng)該被分配更高的權(quán)重;文獻(xiàn)[25]提出FeCTrA(cross-project software defect prediction using feature clustering and TrAdaBoost)方法,在特征遷移階段借助TrAdaBoost從源項(xiàng)目中選擇訓(xùn)練實(shí)例。TrAdaBoost是AdaBoost方法在跨項(xiàng)目缺陷預(yù)測(cè)中的應(yīng)用,其權(quán)重更新策略為:如果誤分源項(xiàng)目實(shí)例,認(rèn)為該實(shí)例與目標(biāo)項(xiàng)目沖突,降低該實(shí)例權(quán)重;如果誤分目標(biāo)項(xiàng)目實(shí)例,認(rèn)為該實(shí)例很難被分類,提高其權(quán)重。該方法在一定程度上提高了跨項(xiàng)目缺陷預(yù)測(cè)性能,取得了比較好的結(jié)果。

    2 FAIT方法

    2.1 研究動(dòng)機(jī)

    軟件缺陷預(yù)測(cè)利用歷史版本庫(kù)構(gòu)建模型,對(duì)新模塊進(jìn)行缺陷預(yù)測(cè),然而新項(xiàng)目(目標(biāo)項(xiàng)目)并沒有歷史版本信息,無(wú)法獲取訓(xùn)練實(shí)例。因此,需要基于遺留項(xiàng)目(源項(xiàng)目),利用遷移學(xué)習(xí)技術(shù)進(jìn)行跨項(xiàng)目缺陷預(yù)測(cè)。遺留的源項(xiàng)目可提供充足的有類標(biāo)訓(xùn)練實(shí)例,但是基于源項(xiàng)目構(gòu)建的模型無(wú)法保證在目標(biāo)項(xiàng)目上具有良好的、穩(wěn)定的缺陷預(yù)測(cè)性能,其原因如下:

    a)從特征分布角度考慮,源項(xiàng)目和目標(biāo)項(xiàng)目之間存在著較為嚴(yán)重的分布差異,該差異會(huì)導(dǎo)致模型與目標(biāo)項(xiàng)目的特征分布無(wú)法適配。為更加直觀地探究源項(xiàng)目和目標(biāo)項(xiàng)目之間的分布差異,本文以AEEEM數(shù)據(jù)集中的PDE(源項(xiàng)目)、ML(目標(biāo)項(xiàng)目)和NASA數(shù)據(jù)集中的PC3(源項(xiàng)目)、CM1(目標(biāo)項(xiàng)目)為例,對(duì)源項(xiàng)目和目標(biāo)項(xiàng)目的特征分布進(jìn)行了可視化,并計(jì)算了源項(xiàng)目和目標(biāo)項(xiàng)目之間的最大均值差異(maximum mean discrepancy,MMD)衡量分布之間的距離,如圖1所示。AEEEM數(shù)據(jù)集的源項(xiàng)目呈聚集分布,目標(biāo)項(xiàng)目呈條形分布,源項(xiàng)目和目標(biāo)項(xiàng)目之間的MMD達(dá)到了7.035 7。NASA數(shù)據(jù)集的源項(xiàng)目和目標(biāo)項(xiàng)目呈現(xiàn)不同的聚集分布狀態(tài),但二者交集并不多,源項(xiàng)目和目標(biāo)項(xiàng)目之間的MMD也較大。無(wú)論是定性的可視化結(jié)果還是定量的最大均值分布差異,均可以得出相同的結(jié)論,即源項(xiàng)目和目標(biāo)項(xiàng)目之間存在較大的分布差異。因此,在進(jìn)行跨項(xiàng)目缺陷預(yù)測(cè)前需要通過特征遷移對(duì)齊源項(xiàng)目和目標(biāo)項(xiàng)目的特征分布。

    b)從實(shí)例分布角度考慮,由于源項(xiàng)目與目標(biāo)項(xiàng)目業(yè)務(wù)和程序語(yǔ)言等因素的不同,源項(xiàng)目中存在著冗余實(shí)例和無(wú)用實(shí)例,尤其是當(dāng)源項(xiàng)目實(shí)例數(shù)目遠(yuǎn)大于目標(biāo)項(xiàng)目時(shí),無(wú)用實(shí)例會(huì)嚴(yán)重影響模型在目標(biāo)項(xiàng)目上的分類性能。所以,需要對(duì)源項(xiàng)目中的實(shí)例進(jìn)行選擇。

    特征分布差異和實(shí)例分布差異是導(dǎo)致跨項(xiàng)目缺陷預(yù)測(cè)性能不良的兩類不同因素,本文分別從特征分布對(duì)齊和實(shí)例遷移兩個(gè)方面進(jìn)行研究。

    2.2 方法流程

    FAIT方法的流程如圖2所示,該方法包括特征對(duì)齊和實(shí)例遷移兩個(gè)階段。

    a)特征對(duì)齊階段。該階段包括兩個(gè)過程:(a)根據(jù)源項(xiàng)目和目標(biāo)項(xiàng)目的數(shù)據(jù)集構(gòu)建邊緣分布映射矩陣,通過該矩陣可得到邊緣分布對(duì)齊后的源項(xiàng)目和目標(biāo)項(xiàng)目數(shù)據(jù);(b)生成目標(biāo)項(xiàng)目偽類標(biāo),利用帶類標(biāo)的源項(xiàng)目和具有偽類標(biāo)的目標(biāo)項(xiàng)目構(gòu)建條件分布映射矩陣,得到最終對(duì)齊的源項(xiàng)目和目標(biāo)項(xiàng)目數(shù)據(jù)。

    b)實(shí)例遷移階段。從目標(biāo)項(xiàng)目中選取少量帶有類標(biāo)數(shù)據(jù)加入訓(xùn)練集內(nèi),利用改進(jìn)了誤分權(quán)重調(diào)整策略的TrAdaBoost方法,經(jīng)過迭代訓(xùn)練獲得若干弱分類器。根據(jù)改進(jìn)后的評(píng)估指標(biāo)對(duì)弱分類器進(jìn)行加權(quán)集成得到最終的強(qiáng)分類器。本文目標(biāo)項(xiàng)目中有類標(biāo)的實(shí)例選擇比例為20%。

    2.3 特征對(duì)齊階段

    源項(xiàng)目和目標(biāo)項(xiàng)目通常存在著數(shù)據(jù)分布差異,該差異可分為邊緣分布差異和條件分布差異兩類。邊緣分布差異是導(dǎo)致模型與目標(biāo)項(xiàng)目特征無(wú)法適配的主要原因。特征對(duì)齊的最終目標(biāo)是使得源項(xiàng)目上的條件概率與目標(biāo)項(xiàng)目上的條件概率相同,即P(yS|XS)=P(yT|XT),其中XS和XT分別表示源項(xiàng)目數(shù)據(jù)和目標(biāo)項(xiàng)目數(shù)據(jù),yS和yT分別表示源項(xiàng)目數(shù)據(jù)和目標(biāo)項(xiàng)目數(shù)據(jù)對(duì)應(yīng)的標(biāo)簽。因此,本文特征對(duì)齊包括兩個(gè)步驟:a)通過邊緣分布對(duì)齊,使得源項(xiàng)目和目標(biāo)項(xiàng)目特征具有類似的邊緣概率分布;b)在步驟a)的基礎(chǔ)上,通過條件分布對(duì)齊使得源項(xiàng)目和目標(biāo)項(xiàng)目具有類似的條件概率分布。

    2.3.1 邊緣分布對(duì)齊

    邊緣分布對(duì)齊是在特征遷移過程中使得源項(xiàng)目和目標(biāo)項(xiàng)目特征的邊緣分布趨于一致的特征對(duì)齊方法。當(dāng)源項(xiàng)目和目標(biāo)項(xiàng)目處于不同的分布時(shí),即P(XS)≠P(XT),將兩個(gè)分布內(nèi)的數(shù)據(jù)同時(shí)映射到同一個(gè)高維再生希爾伯特空間。在此空間內(nèi),最小化源項(xiàng)目和目標(biāo)項(xiàng)目數(shù)據(jù)邊緣分布距離的同時(shí),最大限度保留其各自的內(nèi)部屬性。邊緣MMD可衡量分布之間的距離,其計(jì)算公式如式(1)所示。

    算法1首先使用輸入的源項(xiàng)目數(shù)據(jù)集和目標(biāo)項(xiàng)目數(shù)據(jù)集縱向拼接,構(gòu)造矩陣X,其時(shí)間復(fù)雜度為O(N2);然后基于X和格拉姆矩陣計(jì)算公式可得到核矩陣,核矩陣能夠?qū)映射到高維再生希爾伯特空間,時(shí)間復(fù)雜度同樣為O(N2);借助于核技巧,將式(1)改寫后需要計(jì)算矩陣L,通過對(duì)式(1)展開可得L的計(jì)算公式(式(3));其次,通過構(gòu)造中心矩陣H1計(jì)算中間矩陣M,構(gòu)造中心矩陣涉及矩陣相減操作,其時(shí)間復(fù)雜度為O(N2);計(jì)算中間矩陣M涉及矩陣乘法操作,時(shí)間復(fù)雜度可控制在O(N2)~O(N3);對(duì)中間矩陣進(jìn)行特征分解能夠得到用來進(jìn)行特征對(duì)齊的矩陣W,特征分解的時(shí)間復(fù)雜度為O(N3);最后,利用特征對(duì)齊矩陣W與X相乘可得到對(duì)齊后的結(jié)果,拆分返回即可。由上述分析可知,算法1的時(shí)間復(fù)雜度為O(N3)。

    2.3.2 條件分布對(duì)齊

    條件分布對(duì)齊的目標(biāo)是尋找一個(gè)變換A使得經(jīng)過變換后的源項(xiàng)目數(shù)據(jù)和目標(biāo)項(xiàng)目數(shù)據(jù)具有類似的條件概率分布,即P(yS|ATXS)≈P(yT|ATXT)。但是對(duì)于目標(biāo)項(xiàng)目來說,并不存在yT,無(wú)法求得目標(biāo)項(xiàng)目的條件概率分布。此處可利用源項(xiàng)目數(shù)據(jù)訓(xùn)練一個(gè)簡(jiǎn)單分類器Ψ,通過Ψ可獲得目標(biāo)項(xiàng)目上的偽標(biāo)簽T。同樣在再生希爾伯特空間內(nèi)最小化源項(xiàng)目和目標(biāo)項(xiàng)目之間的條件分布距離,條件MMD的計(jì)算公式為

    從Z中獲取DS和DT返回。

    算法2同樣根據(jù)輸入構(gòu)造矩陣,并初始化Mc=0,Mc是由式(5)化簡(jiǎn)而來;然后開始迭代計(jì)算矩陣A,矩陣A是由求解式(6)得到的特征向量組成,是最終用來進(jìn)行條件分布對(duì)齊的變換矩陣,分解特征向量時(shí)間復(fù)雜度為O(N3);在迭代過程中通過源域訓(xùn)練分類器,在目標(biāo)域上獲取偽標(biāo)簽,并基于偽標(biāo)簽更新具有類標(biāo)信息的條件分布MMD矩陣Mc,利用Mc可優(yōu)化矩陣A;迭代結(jié)束后利用變換矩陣A與Q相乘可得到對(duì)齊后的結(jié)果,拆分返回即可。算法2使用決策樹作為分類器,訓(xùn)練分類器的時(shí)間復(fù)雜度可看做是O(N)。更新矩陣Mc的時(shí)間復(fù)雜度是O(N2),迭代次數(shù)T2是常數(shù)可忽略,最終獲取對(duì)齊結(jié)果的時(shí)間復(fù)雜度是O(N2)。由上述分析可知,算法2的時(shí)間復(fù)雜度為O(N3)。

    2.4 實(shí)例遷移階段

    本文采用改進(jìn)的TrAdaBoost方法進(jìn)行實(shí)例遷移。TrAdaBoost改進(jìn)了項(xiàng)目?jī)?nèi)集成算法AdaBoost,采用錯(cuò)誤率作為權(quán)重衡量指標(biāo),對(duì)源項(xiàng)目和目標(biāo)項(xiàng)目采用兩種相反的誤分實(shí)例權(quán)重調(diào)整策略。然而,軟件缺陷預(yù)測(cè)數(shù)據(jù)集存在類不平衡問題,錯(cuò)誤率并不適合作為存在著類不平衡問題的數(shù)據(jù)集;此外,雖然TrAdaBoost的誤分實(shí)例的權(quán)重更新策略提供了一個(gè)新的思路,但是其更新策略仍可進(jìn)一步優(yōu)化。基于此,本文從權(quán)重衡量指標(biāo)和權(quán)重更新策略兩個(gè)方面對(duì)TrAdaBoost進(jìn)行改進(jìn),提出了RTrAdaBoost(refined TrAdaBoost)方法。RTrAdaBoost是FAIT實(shí)例遷移階段用到的方法,屬于FAIT方法的一部分。為更好地說明本文對(duì)TrAdaBoost方法的改進(jìn)效果,下文涉及實(shí)例遷移的內(nèi)容將采用RTrAdaBoost進(jìn)行描述。

    對(duì)于源項(xiàng)目來說,誤分有缺陷實(shí)例,小幅度降低其權(quán)重;誤分無(wú)缺陷實(shí)例,大幅度降低其權(quán)重。對(duì)于目標(biāo)項(xiàng)目來說,誤分無(wú)缺陷實(shí)例小幅度提升其權(quán)重;對(duì)于K近鄰中異類實(shí)例數(shù)量等于K的實(shí)例,誤分后不調(diào)整其權(quán)重;對(duì)于K近鄰中異類實(shí)例數(shù)量小于K的實(shí)例,誤分后大幅度提升其權(quán)重。所有實(shí)例的權(quán)重調(diào)整幅度是由其K近鄰中異類實(shí)例數(shù)量自適應(yīng)決定。對(duì)于源項(xiàng)目來說,誤分的實(shí)例與目標(biāo)項(xiàng)目沖突,仍然降低其權(quán)重,但是無(wú)缺陷實(shí)例屬于類不平衡中的多數(shù)類,對(duì)模型負(fù)面影響更大,因此需要大幅度降低其權(quán)重;而有缺陷實(shí)例提供的信息更有助于模型識(shí)別缺陷,在降低沖突的同時(shí)仍希望保留缺陷信息,因此小幅度降低其權(quán)重。對(duì)于目標(biāo)項(xiàng)目來說,K近鄰中異類實(shí)例數(shù)量等于K的有缺陷實(shí)例完全分布于無(wú)缺陷實(shí)例中,是最易被誤分的樣本,如果不斷提升其權(quán)重,會(huì)使得分類邊界侵入到無(wú)缺陷實(shí)例一側(cè),證明1給出了該命題的數(shù)學(xué)證明。如果降低其權(quán)重,會(huì)導(dǎo)致其越來越容易被誤分,而調(diào)整權(quán)重的目的是使得誤分實(shí)例被分類正確,因此對(duì)該類實(shí)例權(quán)重不做調(diào)整;對(duì)于K近鄰中異類實(shí)例數(shù)量小于K的有缺陷實(shí)例,由于其很難被分類,而且其提供的信息更有助于模型識(shí)別缺陷,所以大幅度提升其權(quán)重使得模型能夠更準(zhǔn)確地識(shí)別缺陷。對(duì)于無(wú)缺陷的實(shí)例被誤分,仍需提高其權(quán)重,只是相對(duì)于有缺陷的實(shí)例提升幅度較低,目的是使得模型著重學(xué)習(xí)有缺陷實(shí)例的信息。

    其中:EFt表示第t次迭代的弱分類器ht上的評(píng)估因子。

    算法3 實(shí)例遷移

    輸入:特征遷移后的源項(xiàng)目數(shù)據(jù)Euclid Math OneDApS,有少量類標(biāo)的目標(biāo)項(xiàng)目實(shí)例Euclid Math OneDApLT和無(wú)類標(biāo)的目標(biāo)項(xiàng)目實(shí)例Euclid Math OneDApT。

    輸出:Euclid Math OneDApT的預(yù)測(cè)結(jié)果。

    分別獲取Euclid Math OneDApS、Euclid Math OneDApLT和Euclid Math OneDApT實(shí)例數(shù)量n、m′和m;

    初始化有類標(biāo)實(shí)例的權(quán)重w1=(w11,w12,…,w1n+m′),其中:

    算法3首先統(tǒng)計(jì)了源項(xiàng)目、有少量類標(biāo)的目標(biāo)項(xiàng)目和無(wú)類標(biāo)項(xiàng)目的實(shí)例數(shù)量,并基于實(shí)例數(shù)量計(jì)算了有類標(biāo)實(shí)例權(quán)重以及權(quán)重更新參數(shù)β,上述每一步操作的時(shí)間復(fù)雜度均為O(1);然后迭代更新優(yōu)化實(shí)例權(quán)重,在迭代中,首先計(jì)算第t次迭代的樣本權(quán)重,然后訓(xùn)練一個(gè)弱分類器,通過改進(jìn)的評(píng)估因子,根據(jù)式(12)調(diào)整實(shí)例權(quán)重,訓(xùn)練弱分類器的時(shí)間復(fù)雜度是O(N)。式(12)為權(quán)重調(diào)整的幅度添加了限制系數(shù)η,以此來實(shí)現(xiàn)不同實(shí)例權(quán)重調(diào)整幅度不同的更新策略,η的計(jì)算需要統(tǒng)計(jì)實(shí)例周圍異類樣本的數(shù)量,可通過KD樹來實(shí)現(xiàn),其時(shí)間復(fù)雜度為O(N log2 N)。迭代次數(shù)T3是常數(shù)可忽略,因此算法3的時(shí)間復(fù)雜度是O(N log2 N)。

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

    3.1 數(shù)據(jù)集

    本文實(shí)驗(yàn)采用公開的軟件缺陷預(yù)測(cè)數(shù)據(jù)集AEEEM和NASA。AEEEM每個(gè)項(xiàng)目均含有61個(gè)特征,其中包括線性衰減熵和權(quán)值衰退兩類特征,并已被證明能夠使得缺陷預(yù)測(cè)擁有更高性能。NASA作為缺陷預(yù)測(cè)中的經(jīng)典數(shù)據(jù)集被廣泛使用,具有普遍性和可信性。NASA和AEEEM數(shù)據(jù)集僅擁有一個(gè)共同的特征,因此可用來對(duì)比驗(yàn)證不同特征空間下缺陷預(yù)測(cè)模型的預(yù)測(cè)性能。此外,實(shí)驗(yàn)選取的項(xiàng)目在樣本數(shù)和缺陷樣本比例方面均同時(shí)滿足較少、適中及較多的要求,以此探究源項(xiàng)目和目標(biāo)項(xiàng)目樣本數(shù)量缺陷樣本比例對(duì)跨項(xiàng)目缺陷預(yù)測(cè)性能的影響。表1、2分別給出了AEEEM和NASA數(shù)據(jù)集中項(xiàng)目的詳細(xì)信息。

    3.2 評(píng)價(jià)指標(biāo)

    軟件缺陷預(yù)測(cè)的工作是評(píng)估目標(biāo)項(xiàng)目中的實(shí)例是否存在缺陷,最終的分類結(jié)果共有四種情況:有缺陷實(shí)例被正確分類,記為TP;有缺陷實(shí)例被錯(cuò)誤分類,記為FP;無(wú)缺陷實(shí)例被正確分類,記為TN;無(wú)缺陷實(shí)例被錯(cuò)誤分類,記為FN。根據(jù)上述四種情況,可得出其他度量指標(biāo):

    a)精確度是指真正有缺陷的實(shí)例在所有被預(yù)測(cè)為有缺陷的實(shí)例中的占比,其計(jì)算公式為

    b)召回率是指被正確預(yù)測(cè)為有缺陷的實(shí)例在所有真正有缺陷的實(shí)例中的占比,其計(jì)算公式為

    c)F1度量是對(duì)精確度和召回率兩個(gè)指標(biāo)的綜合衡量,被認(rèn)為是一個(gè)在類不平衡問題中能夠更好地對(duì)模型預(yù)測(cè)性能進(jìn)行評(píng)價(jià)的指標(biāo)。本文使用F1度量作為評(píng)價(jià)模型性能的評(píng)價(jià)指標(biāo),其計(jì)算公式為

    3.3 實(shí)驗(yàn)設(shè)計(jì)

    為了驗(yàn)證FAIT方法的有效性和預(yù)測(cè)性能、兩過程特征對(duì)齊的合理性、RTrAdaBoost方法的必要性和先進(jìn)性以及FAIT方法的參數(shù)設(shè)置,本文實(shí)驗(yàn)主要分析驗(yàn)證以下四個(gè)問題。

    實(shí)驗(yàn)1 FAIT方法與目前優(yōu)秀的跨項(xiàng)目軟件缺陷預(yù)測(cè)方法的預(yù)測(cè)性能對(duì)比。目前在跨項(xiàng)目軟件缺陷預(yù)測(cè)方向已存在多種優(yōu)秀方法,本實(shí)驗(yàn)考慮與基于特征遷移和實(shí)例遷移的跨項(xiàng)目缺陷預(yù)測(cè)方法(FeCTrA)[25]、基于特征選擇和TrAdaBoost的跨項(xiàng)目缺陷預(yù)測(cè)方法(FSTr)[10]、基于兩階段特征增強(qiáng)的跨項(xiàng)目缺陷預(yù)測(cè)(TFIA)[26]以及未改進(jìn)TrAdaBoost的FSNTr四種基線方法進(jìn)行對(duì)比。其中,F(xiàn)eCTrA同樣從特征分布和實(shí)例分布兩個(gè)方面縮小源項(xiàng)目和目標(biāo)項(xiàng)目間的分布差異,并與TCA+、Burak過濾法、Peters過濾法等經(jīng)典跨項(xiàng)目缺陷預(yù)測(cè)方法進(jìn)行了對(duì)比且有非常明顯的性能提升;FSTr改進(jìn)了TrAdaBoost實(shí)例選擇的評(píng)估因子,本文則是在該評(píng)估因子基礎(chǔ)上對(duì)TrAdaBoost權(quán)重更新策略進(jìn)行的改進(jìn);FSNTr同時(shí)使用了基于訓(xùn)練數(shù)據(jù)清洗和基于遷移學(xué)習(xí)的CPDP方法,采用單一核主成分分析對(duì)缺陷數(shù)據(jù)進(jìn)行預(yù)處理,然后在處理后的數(shù)據(jù)中進(jìn)行特征選擇,最后利用未改進(jìn)的TrAdaBoost進(jìn)行缺陷預(yù)測(cè),取得了較優(yōu)的預(yù)測(cè)性能。FAIT在特征對(duì)齊階段貪心地選擇最佳特征并在分類階段強(qiáng)化高度相關(guān)特征的重要性,創(chuàng)新性地將特征遷移與特征選擇相結(jié)合。

    實(shí)驗(yàn)2 FAIT方法的特征對(duì)齊包括兩個(gè)過程,不同的對(duì)齊過程可以對(duì)齊不同的分布,對(duì)最終的預(yù)測(cè)性能影響也可能不同。本實(shí)驗(yàn)根據(jù)樣本分布狀態(tài)進(jìn)行逐步對(duì)齊的過程性探究實(shí)驗(yàn),包括只執(zhí)行邊緣分布對(duì)齊的單一過程和在前一過程基礎(chǔ)上進(jìn)行條件分布的兩過程實(shí)驗(yàn),驗(yàn)證了FAIT方法中兩過程對(duì)齊的合理性和有效性。

    實(shí)驗(yàn)3 FAIT方法在經(jīng)過特征對(duì)齊后又進(jìn)行了實(shí)例遷移,當(dāng)源項(xiàng)目和目標(biāo)項(xiàng)目特征分布對(duì)齊后不進(jìn)行實(shí)例遷移可否獲得較好分類性能和穩(wěn)定性。若有必要進(jìn)行實(shí)例遷移,那么RTrAdaBoost與TrAdaBoost相比是否具有先進(jìn)性。因此,本實(shí)驗(yàn)考慮在實(shí)例遷移階段對(duì)比三種情景下(不進(jìn)行遷移、應(yīng)用TrAdaBoost進(jìn)行遷移和應(yīng)用RTrAdaBoost進(jìn)行遷移)模型的預(yù)測(cè)性能以驗(yàn)證FAIT方法的合理性。

    實(shí)驗(yàn)4 在實(shí)例遷移階段,探究源項(xiàng)目中有類標(biāo)實(shí)例占比對(duì)FAIT方法預(yù)測(cè)性能的影響。由于目標(biāo)項(xiàng)目缺少類標(biāo)信息,而人工標(biāo)注需要耗費(fèi)大量人力和物力,所以跨項(xiàng)目軟件缺陷預(yù)測(cè)工作期望以少量的有類標(biāo)實(shí)例獲得較好的預(yù)測(cè)性能。根據(jù)實(shí)際開發(fā)情況,20%的標(biāo)注工作量是可接受的。因此,本文考慮目標(biāo)項(xiàng)目中20%、10%、5%的有類標(biāo)實(shí)例比例分析其對(duì)FAIT方法性能的影響。

    3.4 參數(shù)設(shè)置

    本文選取目標(biāo)項(xiàng)目中20%有類標(biāo)實(shí)例加入到源項(xiàng)目中作為訓(xùn)練集,在實(shí)驗(yàn)過程中,每個(gè)項(xiàng)目互相作為源項(xiàng)目和目標(biāo)項(xiàng)目進(jìn)行一對(duì)一的跨項(xiàng)目軟件缺陷預(yù)測(cè)。除實(shí)驗(yàn)4外,所有結(jié)果均采用10次跨項(xiàng)目5折交叉驗(yàn)證結(jié)果的平均值,即利用目標(biāo)項(xiàng)目中20%有類標(biāo)的實(shí)例作為訓(xùn)練集訓(xùn)練模型,然后對(duì)目標(biāo)項(xiàng)目中其余80%無(wú)類標(biāo)實(shí)例進(jìn)行預(yù)測(cè)。

    實(shí)驗(yàn)4中,對(duì)于20%的目標(biāo)項(xiàng)目有類標(biāo)實(shí)例,采取10次跨項(xiàng)目5折交叉驗(yàn)證;對(duì)于10%的目標(biāo)項(xiàng)目有類標(biāo)實(shí)例,采取10次跨項(xiàng)目10折交叉驗(yàn)證;對(duì)于5%的目標(biāo)項(xiàng)目有類標(biāo)實(shí)例,采取10次跨項(xiàng)目20折交叉驗(yàn)證。

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

    3.5.1 實(shí)驗(yàn)1的結(jié)果及分析

    本實(shí)驗(yàn)選擇AEEEM和NASA數(shù)據(jù)集,對(duì)FAIT方法的有效性和預(yù)測(cè)性能進(jìn)行驗(yàn)證,利用決策樹作為弱分類器,目標(biāo)項(xiàng)目中有類標(biāo)實(shí)例選擇比例為20%,同時(shí)將FAIT方法與其他四種方法進(jìn)行對(duì)比。采用F1度量作為評(píng)價(jià)指標(biāo),實(shí)驗(yàn)結(jié)果如表3、4所示。

    在表3、4中,第一列表示源項(xiàng)目對(duì)目標(biāo)項(xiàng)目的跨項(xiàng)目預(yù)測(cè),代表不同的場(chǎng)景,如PDE→EQ表示源項(xiàng)目是PDE,目標(biāo)項(xiàng)目是EQ;其他列表示在不同算法在不同源項(xiàng)目和目標(biāo)項(xiàng)目下預(yù)測(cè)的F1值。AVG表示每種方法在該數(shù)據(jù)集上的平均性能,每行的最大值進(jìn)行了加粗表示。

    從表3、4的實(shí)驗(yàn)結(jié)果可以看出,F(xiàn)AIT方法的預(yù)測(cè)性能明顯優(yōu)于其余四種對(duì)比方法,在大部分場(chǎng)景下的表現(xiàn)均較好,能夠取得更好的預(yù)測(cè)性能。在AEEEM數(shù)據(jù)集中,對(duì)于AVG,F(xiàn)AIT與FSTr、FSNTr、FeCTrA和TFIA相比分別提高了7.11%、10.76%、13.34%和11.53%,F(xiàn)AIT方法在20個(gè)場(chǎng)景下取得16次最優(yōu)值。例如PDE→ML,F(xiàn)AIT方法的F1度量為0.934,相比于FSTr(0.868)、FSNTr(0.835)、FeCTrA(0.803)和TFIA(0.754),F(xiàn)1度量分別提高了7.60%、11.86%、16.31%和15.27%。FAIT未取得最優(yōu)值的場(chǎng)景是EQ作為目標(biāo)項(xiàng)目,而該類場(chǎng)景下TFIA均取得最優(yōu)值。結(jié)合FSTr、FSNTr、FeCTrA三種方法在EQ項(xiàng)目上的表現(xiàn)來看,可能是因?yàn)镋Q的數(shù)據(jù)分布非常適合TFIA方法。此外,還可以發(fā)現(xiàn)當(dāng)目標(biāo)項(xiàng)目為EQ時(shí),五種方法在EQ上的表現(xiàn)均不如其他項(xiàng)目,可能原因是EQ樣本數(shù)較少(324個(gè))且缺陷樣本比例較高(39.81%)。在NASA數(shù)據(jù)集上,F(xiàn)AIT方法全部取得了最優(yōu)預(yù)測(cè)性能,即使是在與EQ類似的CM1數(shù)據(jù)集上仍有較大的性能提升。例如KC1→CM1,F(xiàn)AIT方法的F1度量為0.946,相比于FSTr(0.815)、FSNTr(0.805)、FeCTrA(0.807)和TFIA(0.851),F(xiàn)1度量分別提高了16.07%、17.52%、17.22%和10.04%。對(duì)于平均性能,F(xiàn)AIT與FSTr、FSNTr、FeCTrA和TFIA相比分別提高了12.89%、14.75%、19.43%和13.09%。

    在基線方法中,F(xiàn)SNTr和FeCTrA均不加改進(jìn)地使用了TrAdaBoost方法。在探究FAIT方法在兩過程特征對(duì)齊后同樣不加改進(jìn)地使用TrAdaBoost方法的實(shí)驗(yàn)效果時(shí)發(fā)現(xiàn),F(xiàn)AIT缺陷預(yù)測(cè)性能同樣優(yōu)于FSNTr與FeCTrA。在AEEEM數(shù)據(jù)集中,F(xiàn)AIT取得的F1度量均值為0.889,與FSNTr和FeCTrA相比分別提升了10.16%和13.83%;在NASA數(shù)據(jù)集中,F(xiàn)AIT取得的F1度量均值為0.930,與FSNTr和FeCTrA相比分別提升了14.39%和19.07%。因此,不僅可以認(rèn)為FAIT方法優(yōu)于FSNTr和FeCTrA,同時(shí)可以證明FAIT方法的兩過程特征對(duì)齊優(yōu)于FSNTr方法的兩過程特征選擇和FeCTrA方法基于聚類的特征遷移。

    根據(jù)第2章中的論述可知,F(xiàn)AIT方法最壞的時(shí)間復(fù)雜度為O(N3)。基線方法中,F(xiàn)STr、FSNTr需要進(jìn)行矩陣分解,F(xiàn)eCTrA在特征遷移階段采用的是基于特征相關(guān)度的聚類算法,時(shí)間復(fù)雜度均為O(N3),而TFIA方法最壞的時(shí)間復(fù)雜度可達(dá)到O(N5),還有可能存在無(wú)解狀態(tài)。因此,F(xiàn)AIT方法在時(shí)間復(fù)雜度方面并不高于其他方法。

    本實(shí)驗(yàn)可以證明,本文FAIT方法擁有更好的缺陷預(yù)測(cè)性能。

    3.5.2 實(shí)驗(yàn)2的結(jié)果及分析

    本實(shí)驗(yàn)通過只執(zhí)行邊緣分布對(duì)齊的單一過程對(duì)齊和執(zhí)行在前一過程基礎(chǔ)上進(jìn)行條件分布的兩過程對(duì)齊,探究FAIT方法中兩過程對(duì)齊的合理性以及第二次對(duì)齊的必要性。為更直觀地展示邊緣分布對(duì)齊和條件分布對(duì)齊對(duì)樣本分布的影響結(jié)果,以AEEEM數(shù)據(jù)集中PDE→ML和NASA數(shù)據(jù)集中PC3→CM1為例給出可視化圖和MMD距離,如圖3、4所示。

    從可視化結(jié)果定性來看,PDE→ML的源項(xiàng)目呈聚集分布,目標(biāo)項(xiàng)目呈條形分布。經(jīng)過邊緣分布對(duì)齊后,二者均趨于散射分布,此時(shí)源項(xiàng)目和目標(biāo)項(xiàng)目分布較為接近。繼續(xù)經(jīng)過條件分布對(duì)齊后,二者均趨于V形分布,可明顯看出二者分布更加的相似。PC3→CM1的源項(xiàng)目和目標(biāo)項(xiàng)目呈現(xiàn)不同的聚集分布狀態(tài),但二者交集并不多。經(jīng)過邊緣分布對(duì)齊后,二者均趨于紡錘形分布,此時(shí)源項(xiàng)目和目標(biāo)項(xiàng)目分布較為接近。繼續(xù)經(jīng)過條件分布對(duì)齊后,二者均趨于掃帚形分布,同樣可明顯看出二者分布更加地相似。

    從MMD結(jié)果定量來看,PDE和ML原分布之間的MMD距離已經(jīng)達(dá)到了7.035 7,經(jīng)過邊緣分布對(duì)齊后分布差異減小了95.50%,繼續(xù)經(jīng)過條件分布對(duì)齊后,分布差異又縮小了一個(gè)量級(jí)。PC3和CM1原分布之間的MMD距離是2.693 4,經(jīng)過邊緣分布對(duì)齊分布差異減為原來的一半,而繼續(xù)經(jīng)過條件分布對(duì)齊后,分布差異可以縮小2個(gè)量級(jí)。

    為探究特征對(duì)齊過程對(duì)FAIT方法預(yù)測(cè)性能的影響,圖5、6給出了單一過程對(duì)齊和兩過程對(duì)齊F1度量的實(shí)驗(yàn)結(jié)果對(duì)比。

    在圖5、6中,橫坐標(biāo)代表不同的源項(xiàng)目對(duì)目標(biāo)項(xiàng)目的預(yù)測(cè),即不同的場(chǎng)景,縱坐標(biāo)表示單一過程對(duì)齊和兩過程對(duì)齊取得的F1度量值。從圖5、6的實(shí)驗(yàn)結(jié)果中可以看出,兩過程對(duì)齊的預(yù)測(cè)性能明顯優(yōu)于單一過程對(duì)齊,在絕大部分場(chǎng)景下的表現(xiàn)均較好,能夠取得更好的預(yù)測(cè)性能,這與可視化的結(jié)果分析相符。在AEEEM數(shù)據(jù)集中,對(duì)于AVG,兩過程對(duì)齊的F1度量(0.893)比單一過程對(duì)齊的F1度量(0.889)提高了0.45%。兩過程對(duì)齊在20個(gè)場(chǎng)景下取得19次最大值。例如ML→EQ,兩過程對(duì)齊的F1度量為0.746,相比于單一過程(0.761),F(xiàn)1度量提高了2.01%。在NASA數(shù)據(jù)集中,對(duì)于平均性能AVG,兩過程對(duì)齊的F1度量(0.932)比單一過程對(duì)齊的F1度量(0.928)提高了0.43%。兩過程對(duì)齊在20個(gè)場(chǎng)景下取得18次最大值。例如PC3→PC1,兩過程對(duì)齊的F1度量為0.940,相比于單一過程(0.926),F(xiàn)1度量提高了1.51%。

    兩過程特征對(duì)齊的結(jié)果是優(yōu)于單一過程的,可認(rèn)為FAIT方法中設(shè)置兩過程對(duì)齊具有合理性和有效性。

    3.5.3 實(shí)驗(yàn)3的結(jié)果及分析

    FAIT方法的過程包括特征對(duì)齊和實(shí)例遷移兩階段,特征對(duì)齊已經(jīng)將源項(xiàng)目和目標(biāo)項(xiàng)目的分布距離縮短。為了探究特征對(duì)齊后再進(jìn)行實(shí)例遷移的必要性,以及RTrAdaBoost相對(duì)于TrAdaBoost的先進(jìn)性,本文考慮AdaBoost(Ada)、TrAdaBoost(TrAda)和RTrAdaBoost(RTrAda)進(jìn)行三組對(duì)比實(shí)驗(yàn)。使用F1度量作為評(píng)價(jià)指標(biāo),實(shí)驗(yàn)結(jié)果如圖7、8所示。

    在圖7、8中,橫坐標(biāo)分別代表三種不同實(shí)例遷移方法,縱坐標(biāo)代表其對(duì)應(yīng)的F1度量值。由圖7、8可以發(fā)現(xiàn),經(jīng)過實(shí)例遷移后,缺陷預(yù)測(cè)性能得到提升。例如,在AEEEM數(shù)據(jù)集中,經(jīng)過實(shí)例遷移后AVG(0.889)比不進(jìn)行實(shí)例遷移(0.831)提高了5.8%。此外,PDE做源項(xiàng)目時(shí),實(shí)例遷移前后的缺陷預(yù)測(cè)性能大幅度提升,可能的原因是PDE中存在大量無(wú)用實(shí)例,因此為避免在跨項(xiàng)目軟件缺陷預(yù)測(cè)過程中出現(xiàn)該類情況,應(yīng)該進(jìn)行實(shí)例遷移。在NASA數(shù)據(jù)集中,經(jīng)過實(shí)例遷移后AVG(0.930)比不進(jìn)行實(shí)例遷移(0.921)提高了0.98%。因此,在進(jìn)行特征對(duì)齊后進(jìn)行實(shí)例遷移是有必要的。

    由圖7、8還可以發(fā)現(xiàn),在對(duì)TrAdaBoost改進(jìn)后,缺陷預(yù)測(cè)性能進(jìn)一步得到提升。在AEEEM數(shù)據(jù)集中RTrAdaBoost與TrAdaBoost和AdaBoost相比AVG分別提高了0.50%和7.52%,并在20個(gè)場(chǎng)景下取得18次最大值。例如ML→EQ,RTrAdaBoost方法的F1度量為0.761,相比于TrAdaBoost(0.744)和AdaBoost(0.754),F(xiàn)1度量分別提高了2.28%和0.93%。在TrAdaBoost的F1度量值下降時(shí),仍可提高該場(chǎng)景的缺陷預(yù)測(cè)性能。在NASA數(shù)據(jù)集中RTrAdaBoost與TrAdaBoost和AdaBoost相比AVG分別提高了0.26%和1.26%,并在20個(gè)場(chǎng)景下取得16次最大值。例如KC1→CM1,RTrAdaBoost方法的F1度量為0.946,相比于TrAdaBoost(0.932)和AdaBoost(0.932),F(xiàn)1度量分別提高了1.50%和1.50%,在TrAdaBoost無(wú)法提升F1時(shí)仍可提升缺陷預(yù)測(cè)性能。此外,RTrAdaBoost比TrAdaBoost缺陷預(yù)測(cè)性能更加穩(wěn)定,RTrAdaBoost在AEEEM和NASA數(shù)據(jù)集上F1度量的方差分別為0.005 166和0.000 402,而TrAdaBoost在兩個(gè)數(shù)據(jù)集上F1度量的方差分別為0.005 393和0.000 419。

    RTrAdaBoost比TrAdaBoost方法穩(wěn)定性更高,缺陷預(yù)測(cè)性能更優(yōu),可以認(rèn)為RTrAdaBoost具有先進(jìn)性。

    3.5.4 實(shí)驗(yàn)4的結(jié)果及分析

    本實(shí)驗(yàn)考慮5%、10%和20%三種有類標(biāo)實(shí)例比例加入到源項(xiàng)目中,以此探究目標(biāo)項(xiàng)目中不同比例的有類標(biāo)實(shí)例對(duì)FAIT方法預(yù)測(cè)性能的影響。因?yàn)槿斯?biāo)注實(shí)例費(fèi)時(shí)費(fèi)力,根據(jù)行業(yè)實(shí)際情況,本文考慮將該比例控制在20%以下,在減少開銷的同時(shí)提升模型的缺陷預(yù)測(cè)性能。對(duì)于5%、10%以及20%的比例,可通過跨項(xiàng)目的20折、10折以及5折交叉驗(yàn)證完成。目標(biāo)項(xiàng)目中有類標(biāo)實(shí)例比例對(duì)FAIT方法缺陷預(yù)測(cè)性能的影響結(jié)果如圖9、10所示。

    在圖9、10中,橫坐標(biāo)代表跨項(xiàng)目缺陷預(yù)測(cè)中的目標(biāo)項(xiàng)目,縱坐標(biāo)代表利用其他項(xiàng)目對(duì)該目標(biāo)項(xiàng)目進(jìn)行預(yù)測(cè)取得的平均F1度量值。從圖9可以看出,當(dāng)目標(biāo)項(xiàng)目有類標(biāo)實(shí)例比例從5%增加至10%時(shí),F(xiàn)1處于較穩(wěn)定的狀態(tài)。但比例增加到20%時(shí),與10%的比例相比,在EQ、JDT、LC、ML和PED中F1分別提高了1.06%、1.80%、1.62%、1.33%和1.36%,F(xiàn)1有非常明顯的提高。從圖10可以看出,F(xiàn)AIT的缺陷預(yù)測(cè)性能隨著有類標(biāo)實(shí)例比例的增加而不斷提升。當(dāng)比例從5%增加到20%時(shí),在CM1、JM1、KC1、PC1和PC3中F1分別提高了0.91%、1.43%、0.60%、0.97%和0.89%。對(duì)于JM1項(xiàng)目,雖然FAIT方法在該項(xiàng)目上的預(yù)測(cè)性能最低,但是當(dāng)有類標(biāo)實(shí)例比例增加時(shí),該項(xiàng)目上的F1增長(zhǎng)幅度卻最大(分別為0.62%和0.81%)。主要是因?yàn)樵擁?xiàng)目樣本數(shù)(7 720)過多,源項(xiàng)目中的樣本無(wú)法完全適配該項(xiàng)目;但JM1缺陷樣本數(shù)(1 612)充足,隨著比例的增加,目標(biāo)項(xiàng)目缺陷信息也更多,在該項(xiàng)目上的缺陷預(yù)測(cè)性能也隨之提升。因此,在FAIT方法中,有類標(biāo)實(shí)例的比例選定為20%比較合理。

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

    本文提出了一種結(jié)合特征對(duì)齊與實(shí)例遷移的跨項(xiàng)目缺陷預(yù)測(cè)方法,在特征對(duì)齊中采用兩過程特征對(duì)齊縮小源項(xiàng)目和目標(biāo)項(xiàng)目間的邊緣分布距離和條件分布距離,同時(shí)在實(shí)例遷移中對(duì)TrAdaBoost的誤分類權(quán)重調(diào)整策略進(jìn)行改進(jìn),以保證從源項(xiàng)目中選取較優(yōu)的訓(xùn)練實(shí)例,繼而實(shí)現(xiàn)實(shí)例遷移,構(gòu)建跨項(xiàng)目缺陷預(yù)測(cè)模型。實(shí)驗(yàn)結(jié)果表明,該方法在跨項(xiàng)目軟件缺陷預(yù)測(cè)中表現(xiàn)優(yōu)異,缺陷預(yù)測(cè)性能明顯優(yōu)于現(xiàn)有優(yōu)秀方法,在一定程度上提高了跨項(xiàng)目軟件缺陷預(yù)測(cè)性能。

    在接下來的工作中,將進(jìn)一步探討:a)分類器的集成策略對(duì)FAIT方法預(yù)測(cè)性能的影響,如對(duì)弱分類器分段集成;b)對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,進(jìn)一步提高FAIT方法的有效性和魯棒性。本文方法對(duì)于實(shí)例數(shù)量較多的目標(biāo)項(xiàng)目(如JM1項(xiàng)目數(shù)為7 720)的預(yù)測(cè)性能可進(jìn)一步提高,因此需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。下一階段中,可以對(duì)實(shí)例過多的項(xiàng)目進(jìn)行欠采樣,采樣的準(zhǔn)則應(yīng)該是不損失或少損失項(xiàng)目的特征分布信息;也可以對(duì)項(xiàng)目實(shí)例進(jìn)行劃分,對(duì)實(shí)例較多的項(xiàng)目進(jìn)行多次跨項(xiàng)目缺陷預(yù)測(cè)。

    參考文獻(xiàn):

    [1]Aftab S,Ahmad M,Khan M,et al.Machine learning empowered software defect prediction system[J].Intelligent Automation and Soft Computing,2021,31(2):1287-1300.

    [2]李冉,周麗娟,王華.面向類不平衡數(shù)據(jù)集的軟件缺陷預(yù)測(cè)模型[J].計(jì)算機(jī)應(yīng)用研究,2018,35(9):2806-2810.(Li Ran,Zhou Lijuan,Wang Hua.Software defect prediction model based on class imbalanced datasets[J].Application Research of Computers,2018,35(9):2806-2810.)

    [3]楊豐玉,黃雅璇,周世健,等.結(jié)合多元度量指標(biāo)軟件缺陷預(yù)測(cè)研究進(jìn)展[J].計(jì)算機(jī)工程與應(yīng)用,2021,57(5):10-24.(Yang Fengyu,Huang Yaxuan,Zhou Shijian,et al.Survey of software defect prediction combined with multi-metrics[J].Computer Engineering and Applications,2021,57(5):10-24.)

    [4]Dai Wenyuan,Yang Qiang,Xue Guirong,et al.Boosting for transfer learning[C]//Proc of the 24th International Conference on Machine Learning.New York:ACM Press,2007:193-200.

    [5]Briand L C,Melo W L,Wust J.Assessing the applicability of fault-proneness models across object-oriented software projects [J].IEEE Trans on Software Engineering,2002,28(7):706-720.

    [6]Pal S,Sillitti A.Cross-project defect prediction:a literature review [J].IEEE Access,2022,10:118697-118717.

    [7]Zou Quanyi,Lu Lu,Yang Zhangyu,et al.Joint feature representation learning and progressive distribution matching for cross-project defect prediction[J].Information and Software Technology,2021,137(9):106588.

    [8]Saifudin A,Yulianti Y.Dimensional reduction on cross project defect prediction [J].Journal of Physics:Conference Series,2020,1477:32011.

    [9]Goel L,Sharma M,Khatri S K,et al.Defect prediction of cross projects using PCA and ensemble learning approach[C]//Proc of the 3rd International Conference on Micro-Electronics and Telecommunication Engineering.Singapore:Springer,2020:307-315.

    [10]李莉,石可欣,任振康.基于特征選擇和TrAdaBoost的跨項(xiàng)目缺陷預(yù)測(cè)方法[J].計(jì)算機(jī)應(yīng)用,2022,42(5):1554-1562.(Li Li,Shi Kexin,Ren Zhenkang.Cross-project defect prediction method based on feature selection and TrAdaBoost [J].Journal of Computer Applications,2022,42(5):1554-1562.)

    [11]黃琳,荊曉遠(yuǎn),董西偉.基于多核集成學(xué)習(xí)的跨項(xiàng)目軟件缺陷預(yù)測(cè) [J].計(jì)算機(jī)技術(shù)與發(fā)展,2019,29(6):27-31.(Huang Lin,Jing Xiaoyuan,Dong Xiwei.Cross-project software defect prediction based on multiple kernel ensemble learning[J].Computer Technology and Development,2019,29(6):27-31.)

    [12]He Zhimin,Shu Fengdi,Yang Ye,et al.An investigation on the feasibility of cross-project defect prediction[J].Automated Software Engineering,2012,19(2):167-199.

    [13]Lei Tianwei,Xue Jinfeng,Han Weijie.Cross-project software defect prediction based on feature selection and transfer learning[C]//Proc of the 3rd International Conference on Machine Learning for Cyber Security.Cham:Springer,2020:363-371.

    [14]Shakhovska N,Yakovyna V.Feature selection and software defect prediction by different ensemble classifiers [C]//Proc of the 32nd International Conference on Database and Expert Systems Applications.Cham:Springer,2021:307-313.

    [15]He Peng,Li Bing,Liu Xiao,et al.An empirical study on software defect prediction with a simplified metric set[J].Information and Software Technology,2015,59(3):170-190.

    [16]Yuan Zhidan,Chen Xiang,Cui Zhanqi,et al.ALTRA:cross-project software defect prediction via active learning and TrAdaBoost[J].IEEE Access,2020,8:30037-30049.

    [17]Peters F,Menzies T,Marcus A.Better cross company defect prediction[C]//Proc of the 10th Working Conference on Mining Software Repositories.Piscataway,NJ:IEEE Press,2013:409-418.

    [18]Herbold S,Trautsch A,Grabowski J.Global vs.local models for cross-project defect prediction:a replication study [J].Empirical Software Engineering,2017,22(8):1866-1902.

    [19]黃燕,徐賢,虞慧群,等.一種特征轉(zhuǎn)移和域自適應(yīng)的異質(zhì)缺陷預(yù)測(cè)方法 [J].小型微型計(jì)算機(jī)系統(tǒng),2022,43(1):186-192.(Huang Yan,Xu Xian,Yu Huiqun,et al.Feature transfer and domain adaptation approach for heterogeneous defect prediction[J].Journal of Chinese Computer Systems,2022,43(1):186-192.)

    [20]Nam J,Pan S J,Kim S.Transfer defect learning [C]//Proc of the 35th International Conference on Software Engineering.Piscataway,NJ:IEEE Press,2013:382-391.

    [21]Li Jingjing,Jing Mengmeng,Lu Ke,et al.Locality preserving joint transfer for domain adaptation[J].IEEE Trans on Image Proces-sing,2019,28(12):6103-6115.

    [22]Pan Yingwei,Yao Ting,Li Yehao,et al.Transferrable prototypical networks for unsupervised domain adaptation[C]//Proc of IEEE/CVF Conference on Computer Vision and Pattern Recognition.Piscataway,NJ:IEEE Press,2019:2234-2242.

    [23]Du Xiaozhi,Yue Hehe,Dong Honglei.Software defect prediction method based on hybrid sampling[C]//Proc of International Confe-rence on Frontiers of Electronics,Information and Computation Technologies.New York:ACM Press,2022:article.No.93.

    [24]何吉元,孟昭鵬,陳翔,等.一種半監(jiān)督集成跨項(xiàng)目軟件缺陷預(yù)測(cè)方法[J].軟件學(xué)報(bào),2017,28(6):1455-1473.(He Jiyuan,Meng Zhaopeng,Chen Xiang,et al.Semi-supervised ensemble learning approach for cross-project defect prediction[J].Journal of Software,2017,28(6):1455-1473.)

    [25]倪超,陳翔,劉望舒,等.基于特征遷移和實(shí)例遷移的跨項(xiàng)目缺陷預(yù)測(cè)方法[J].軟件學(xué)報(bào),2019,30(5):1308-1329.(Ni Chao,Chen Xiang,Liu Wangshu,et al.Cross-project defect prediction method based on feature transfer and instance transfer[J].Journal of Software,2019,30(5):1308-1329.)

    [26]Xing Ying,Lin Wanting,Lin Xueyan,et al.Cross-project defect prediction based on two-phase feature importance amplification[J].Computational Intelligence and Neuroscience,2022,2022:2320447.

    收稿日期:2023-02-10;修回日期:2023-04-19基金項(xiàng)目:黑龍江省教育科學(xué)規(guī)劃課題(GJB1421251)

    作者簡(jiǎn)介:李莉(1977-),女(通信作者),河南孟州人,教授,碩導(dǎo),博士,CCF會(huì)員,主要研究方向?yàn)橄冗M(jìn)軟件工程、區(qū)塊鏈、群智能優(yōu)化、大型分布式計(jì)算等(lli@nefu.edu.cn);趙鑫(1998-),男,黑龍江海倫人,碩士研究生,主要研究方向?yàn)檐浖毕蓊A(yù)測(cè)等;石可欣(1997-),女,山東聊城人,碩士,主要研究方向?yàn)檐浖毕蓊A(yù)測(cè);蘇仁嘉(1998-),男,黑龍江大慶人,碩士研究生,主要研究方向?yàn)檐浖毕蓊A(yù)測(cè)等;任振康(1996-),男,山東青島人,碩士,主要研究方向?yàn)檐浖毕蓊A(yù)測(cè)等.

    大香蕉久久网| 国产精品野战在线观看| 久久精品人妻少妇| 九九爱精品视频在线观看| 少妇猛男粗大的猛烈进出视频 | 免费看a级黄色片| 精品国内亚洲2022精品成人| 久久九九热精品免费| 日韩欧美三级三区| 亚洲第一区二区三区不卡| 国产亚洲精品av在线| 亚洲欧美清纯卡通| 久久久久久久午夜电影| 18禁黄网站禁片免费观看直播| av在线蜜桃| 婷婷精品国产亚洲av| 午夜日韩欧美国产| 欧美高清性xxxxhd video| 黑人高潮一二区| 日日啪夜夜撸| 国产免费一级a男人的天堂| 亚洲电影在线观看av| 成人永久免费在线观看视频| 精品无人区乱码1区二区| 亚洲最大成人手机在线| 精华霜和精华液先用哪个| 一区二区三区高清视频在线| 欧美不卡视频在线免费观看| 免费看日本二区| 最后的刺客免费高清国语| 夜夜爽天天搞| 欧美一区二区亚洲| 日韩精品有码人妻一区| 身体一侧抽搐| 欧美人与善性xxx| 亚洲在线自拍视频| 欧美成人精品欧美一级黄| 性插视频无遮挡在线免费观看| 欧美一区二区国产精品久久精品| 亚洲美女视频黄频| 黄色配什么色好看| 中文字幕av在线有码专区| 免费观看精品视频网站| 亚洲第一电影网av| 欧美色欧美亚洲另类二区| 中文字幕熟女人妻在线| 18禁黄网站禁片免费观看直播| 色哟哟哟哟哟哟| 国产黄片美女视频| 99热精品在线国产| 麻豆精品久久久久久蜜桃| 日韩成人av中文字幕在线观看 | 99九九线精品视频在线观看视频| 无遮挡黄片免费观看| 人妻夜夜爽99麻豆av| 亚洲成av人片在线播放无| 女人被狂操c到高潮| 中国国产av一级| 最近最新中文字幕大全电影3| 日韩成人av中文字幕在线观看 | a级毛片a级免费在线| 免费av不卡在线播放| 亚洲人成网站在线播| 91在线精品国自产拍蜜月| 人人妻人人澡人人爽人人夜夜 | 久久99热6这里只有精品| 91久久精品国产一区二区成人| 精品午夜福利在线看| 国产午夜精品久久久久久一区二区三区 | 成人永久免费在线观看视频| 又爽又黄a免费视频| 岛国在线免费视频观看| 国产高清激情床上av| 夜夜看夜夜爽夜夜摸| 亚洲无线观看免费| 久久久久久久久久久丰满| 一进一出抽搐动态| 国产国拍精品亚洲av在线观看| 久久精品91蜜桃| 亚洲人成网站高清观看| 国产美女午夜福利| 超碰av人人做人人爽久久| 国产精品一区二区三区四区久久| 神马国产精品三级电影在线观看| 国产午夜精品论理片| 高清毛片免费看| 少妇猛男粗大的猛烈进出视频 | 中文亚洲av片在线观看爽| 97超级碰碰碰精品色视频在线观看| 美女内射精品一级片tv| 综合色av麻豆| 国产亚洲91精品色在线| 国产高潮美女av| 成人综合一区亚洲| 一级毛片电影观看 | 精品久久久久久久久久久久久| 亚洲五月天丁香| 高清日韩中文字幕在线| 色av中文字幕| 毛片女人毛片| 欧美性感艳星| 村上凉子中文字幕在线| 国产熟女欧美一区二区| 日日摸夜夜添夜夜添av毛片| 夜夜夜夜夜久久久久| 精品午夜福利在线看| 久久精品91蜜桃| 国产精品一区二区免费欧美| 亚洲国产色片| 露出奶头的视频| 亚洲成人精品中文字幕电影| 久久精品国产亚洲av涩爱 | 18禁在线播放成人免费| 久久久久久久久大av| 精品久久久久久久久亚洲| 欧美日韩一区二区视频在线观看视频在线 | 又黄又爽又刺激的免费视频.| 男人和女人高潮做爰伦理| 18禁在线无遮挡免费观看视频 | 色尼玛亚洲综合影院| 午夜激情福利司机影院| 嫩草影院入口| 99国产精品一区二区蜜桃av| 搡老妇女老女人老熟妇| 男女视频在线观看网站免费| 一区二区三区四区激情视频 | 日韩人妻高清精品专区| 婷婷精品国产亚洲av| 人人妻人人澡人人爽人人夜夜 | 亚洲18禁久久av| 亚洲精品一区av在线观看| 国产精品综合久久久久久久免费| 成年女人看的毛片在线观看| 天天一区二区日本电影三级| 不卡视频在线观看欧美| 成人二区视频| 最近在线观看免费完整版| 亚洲av美国av| 亚洲av中文av极速乱| 亚洲国产高清在线一区二区三| 人人妻人人看人人澡| 能在线免费观看的黄片| 国产精品日韩av在线免费观看| 最好的美女福利视频网| 亚洲av成人精品一区久久| 国产精品美女特级片免费视频播放器| 最近视频中文字幕2019在线8| 久久国产乱子免费精品| 成年女人看的毛片在线观看| 18+在线观看网站| 国内精品宾馆在线| 听说在线观看完整版免费高清| 久久欧美精品欧美久久欧美| 你懂的网址亚洲精品在线观看 | 身体一侧抽搐| av福利片在线观看| 大香蕉久久网| 又爽又黄a免费视频| 三级毛片av免费| 噜噜噜噜噜久久久久久91| 国产一区二区三区av在线 | 成人一区二区视频在线观看| 在线免费观看不下载黄p国产| 亚洲欧美中文字幕日韩二区| 成人无遮挡网站| 国国产精品蜜臀av免费| 久久这里只有精品中国| 国产爱豆传媒在线观看| 人人妻人人看人人澡| 99久国产av精品| 人妻少妇偷人精品九色| 嫩草影院入口| 国产视频一区二区在线看| 人妻丰满熟妇av一区二区三区| 女的被弄到高潮叫床怎么办| 国产人妻一区二区三区在| 久久精品夜色国产| 国内精品宾馆在线| 午夜老司机福利剧场| 欧美zozozo另类| 欧美一区二区国产精品久久精品| 久久精品久久久久久噜噜老黄 | 18+在线观看网站| 又爽又黄无遮挡网站| 国产欧美日韩一区二区精品| 别揉我奶头~嗯~啊~动态视频| 美女 人体艺术 gogo| 国产精品一二三区在线看| 国产久久久一区二区三区| 99riav亚洲国产免费| 简卡轻食公司| 久久久国产成人免费| 国产单亲对白刺激| 久久久久久久久久久丰满| 最近在线观看免费完整版| 99在线视频只有这里精品首页| 男女之事视频高清在线观看| 久久久久久伊人网av| 日本与韩国留学比较| 亚洲av五月六月丁香网| 精品久久久久久久久久免费视频| 桃色一区二区三区在线观看| 久久午夜福利片| 69人妻影院| 国产成人福利小说| 丰满的人妻完整版| 22中文网久久字幕| 亚洲人成网站在线播放欧美日韩| 亚洲在线观看片| 日本三级黄在线观看| 亚洲成a人片在线一区二区| 插阴视频在线观看视频| 亚洲性夜色夜夜综合| 99热网站在线观看| 神马国产精品三级电影在线观看| 亚洲国产精品合色在线| 人妻丰满熟妇av一区二区三区| 精品一区二区三区av网在线观看| 99久国产av精品| 国产淫片久久久久久久久| 欧美在线一区亚洲| 岛国在线免费视频观看| 日本a在线网址| АⅤ资源中文在线天堂| 国产一级毛片七仙女欲春2| 人人妻,人人澡人人爽秒播| 草草在线视频免费看| 九色成人免费人妻av| 亚洲性夜色夜夜综合| 国产成人福利小说| 一级毛片电影观看 | 成年版毛片免费区| 国产探花极品一区二区| 亚洲最大成人中文| 在线播放无遮挡| 中国美白少妇内射xxxbb| 在线播放无遮挡| 婷婷亚洲欧美| 欧美最新免费一区二区三区| 久久鲁丝午夜福利片| 日日摸夜夜添夜夜添av毛片| 九九爱精品视频在线观看| 久久99热6这里只有精品| 色综合站精品国产| 国产精品人妻久久久影院| 男女做爰动态图高潮gif福利片| 12—13女人毛片做爰片一| 麻豆久久精品国产亚洲av| 黄色配什么色好看| 天堂av国产一区二区熟女人妻| 国产一区二区三区在线臀色熟女| 欧美bdsm另类| 美女免费视频网站| 欧美一区二区精品小视频在线| 午夜精品一区二区三区免费看| 亚洲国产精品国产精品| 国产精品精品国产色婷婷| 草草在线视频免费看| 97人妻精品一区二区三区麻豆| 三级经典国产精品| avwww免费| 国产男靠女视频免费网站| 精品少妇黑人巨大在线播放 | h日本视频在线播放| 成人高潮视频无遮挡免费网站| 黄色日韩在线| 亚洲成人久久爱视频| 久久综合国产亚洲精品| 久久精品久久久久久噜噜老黄 | 亚洲乱码一区二区免费版| av天堂中文字幕网| 日韩人妻高清精品专区| 国产三级中文精品| 成人特级黄色片久久久久久久| 久久热精品热| 欧美+亚洲+日韩+国产| 国产一区二区在线观看日韩| 日本熟妇午夜| 国产午夜精品论理片| 国内精品一区二区在线观看| 国产亚洲精品av在线| 婷婷亚洲欧美| 寂寞人妻少妇视频99o| 亚洲电影在线观看av| 一级黄色大片毛片| av福利片在线观看| 欧美激情久久久久久爽电影| 人妻丰满熟妇av一区二区三区| 人人妻人人看人人澡| 日本在线视频免费播放| 男人的好看免费观看在线视频| 欧美xxxx性猛交bbbb| 久久久久久久久大av| 国产私拍福利视频在线观看| 草草在线视频免费看| 久久久成人免费电影| 搡女人真爽免费视频火全软件 | 国产在线精品亚洲第一网站| 国产高清三级在线| 天美传媒精品一区二区| 日本精品一区二区三区蜜桃| 女生性感内裤真人,穿戴方法视频| 亚洲内射少妇av| 国产精品爽爽va在线观看网站| 亚洲精品国产成人久久av| av卡一久久| 狂野欧美白嫩少妇大欣赏| 亚洲国产色片| 毛片女人毛片| 欧美xxxx黑人xx丫x性爽| 日本欧美国产在线视频| 草草在线视频免费看| 一区福利在线观看| 免费av毛片视频| 自拍偷自拍亚洲精品老妇| 亚洲中文字幕日韩| 日日啪夜夜撸| 午夜福利在线观看免费完整高清在 | 床上黄色一级片| 成人特级av手机在线观看| 老司机福利观看| 啦啦啦啦在线视频资源| 老司机午夜福利在线观看视频| 亚洲无线在线观看| 日本色播在线视频| 日本色播在线视频| 久久久成人免费电影| 亚洲精品在线观看二区| 伦理电影大哥的女人| 欧美成人精品欧美一级黄| 极品教师在线视频| 欧美高清性xxxxhd video| 国产av一区在线观看免费| 禁无遮挡网站| 天美传媒精品一区二区| 我要看日韩黄色一级片| 麻豆国产97在线/欧美| 亚洲熟妇中文字幕五十中出| 少妇的逼好多水| 日本精品一区二区三区蜜桃| 神马国产精品三级电影在线观看| 一级毛片aaaaaa免费看小| 人人妻人人澡人人爽人人夜夜 | 久久综合国产亚洲精品| 一级毛片我不卡| 成人二区视频| 亚洲成av人片在线播放无| 亚洲欧美精品自产自拍| 97碰自拍视频| 一级a爱片免费观看的视频| 亚洲av.av天堂| 一个人免费在线观看电影| 亚洲最大成人手机在线| 一卡2卡三卡四卡精品乱码亚洲| 国产探花在线观看一区二区| 免费av观看视频| 亚洲精品456在线播放app| 插阴视频在线观看视频| 亚洲熟妇中文字幕五十中出| 97在线视频观看| 欧美在线一区亚洲| 国产视频内射| 91精品国产九色| 尤物成人国产欧美一区二区三区| 精品欧美国产一区二区三| 乱系列少妇在线播放| 久久草成人影院| 国产精品永久免费网站| 成人美女网站在线观看视频| 大香蕉久久网| 精品熟女少妇av免费看| 日韩av不卡免费在线播放| aaaaa片日本免费| 亚洲人与动物交配视频| 乱码一卡2卡4卡精品| 国产探花在线观看一区二区| 亚洲欧美中文字幕日韩二区| 欧美zozozo另类| 最近视频中文字幕2019在线8| 伦精品一区二区三区| 91狼人影院| 99久久九九国产精品国产免费| 成年av动漫网址| 别揉我奶头~嗯~啊~动态视频| 国模一区二区三区四区视频| 能在线免费观看的黄片| 欧美日韩乱码在线| 香蕉av资源在线| 国产精品久久久久久精品电影| 亚洲精品粉嫩美女一区| 亚洲高清免费不卡视频| 欧美丝袜亚洲另类| 最新在线观看一区二区三区| 日本三级黄在线观看| 午夜激情欧美在线| 天堂动漫精品| 久久久精品94久久精品| 久久久精品94久久精品| 99在线人妻在线中文字幕| 久久精品影院6| 观看美女的网站| 18禁黄网站禁片免费观看直播| 国产大屁股一区二区在线视频| 真人做人爱边吃奶动态| 欧美绝顶高潮抽搐喷水| 亚洲av二区三区四区| 午夜影院日韩av| 特级一级黄色大片| 黄色欧美视频在线观看| 亚洲欧美日韩东京热| 中文资源天堂在线| 久久精品国产亚洲网站| 一级毛片我不卡| 亚洲精品456在线播放app| 午夜福利成人在线免费观看| 老司机午夜福利在线观看视频| 免费av观看视频| 91午夜精品亚洲一区二区三区| 国产私拍福利视频在线观看| 两个人视频免费观看高清| 国产单亲对白刺激| 国产视频内射| 老司机影院成人| 一级av片app| 中文字幕av在线有码专区| 啦啦啦啦在线视频资源| 男女视频在线观看网站免费| 中国美女看黄片| 国产精品久久电影中文字幕| 又黄又爽又刺激的免费视频.| 午夜日韩欧美国产| 少妇高潮的动态图| 国产精品无大码| 成年女人看的毛片在线观看| 一区福利在线观看| 美女xxoo啪啪120秒动态图| 亚洲国产色片| av在线老鸭窝| 色5月婷婷丁香| 麻豆成人午夜福利视频| 日韩av在线大香蕉| 最新在线观看一区二区三区| 亚洲国产精品国产精品| 成人永久免费在线观看视频| 国产爱豆传媒在线观看| 成年女人看的毛片在线观看| 欧美+日韩+精品| 日本 av在线| 成人特级av手机在线观看| 免费观看人在逋| 美女 人体艺术 gogo| 欧美潮喷喷水| 日日啪夜夜撸| 久久国内精品自在自线图片| 日本黄色视频三级网站网址| 尤物成人国产欧美一区二区三区| 亚洲av二区三区四区| 国产亚洲精品久久久久久毛片| 国产精品,欧美在线| 国产高清有码在线观看视频| 99热全是精品| 亚洲av成人精品一区久久| 国产亚洲精品久久久久久毛片| avwww免费| 久久综合国产亚洲精品| 亚洲性久久影院| 欧美国产日韩亚洲一区| 精品少妇黑人巨大在线播放 | 女人十人毛片免费观看3o分钟| 天堂√8在线中文| 久久久色成人| 成人综合一区亚洲| 国产乱人视频| 色吧在线观看| 日本欧美国产在线视频| 一个人免费在线观看电影| 久久精品夜色国产| 美女cb高潮喷水在线观看| 毛片一级片免费看久久久久| 国产淫片久久久久久久久| 99精品在免费线老司机午夜| 国产黄片美女视频| 日韩制服骚丝袜av| 亚洲av第一区精品v没综合| 老司机影院成人| 午夜免费男女啪啪视频观看 | 联通29元200g的流量卡| 亚洲欧美精品自产自拍| 国国产精品蜜臀av免费| 乱系列少妇在线播放| 真实男女啪啪啪动态图| 国产高清不卡午夜福利| 男女下面进入的视频免费午夜| 欧美zozozo另类| 最近2019中文字幕mv第一页| 欧美最黄视频在线播放免费| 人人妻人人澡欧美一区二区| 日韩成人av中文字幕在线观看 | 成人鲁丝片一二三区免费| 精品久久久噜噜| 日韩人妻高清精品专区| 亚洲无线在线观看| 综合色av麻豆| 国产一区二区三区在线臀色熟女| 成人二区视频| 国产单亲对白刺激| 一个人看视频在线观看www免费| 日韩av不卡免费在线播放| 亚洲av成人精品一区久久| av天堂在线播放| АⅤ资源中文在线天堂| 男人和女人高潮做爰伦理| 久久久欧美国产精品| 99久久精品一区二区三区| 你懂的网址亚洲精品在线观看 | 久久久a久久爽久久v久久| 人妻夜夜爽99麻豆av| 97在线视频观看| 亚洲精品国产av成人精品 | 可以在线观看毛片的网站| 欧美日韩一区二区视频在线观看视频在线 | 精品国产三级普通话版| 亚洲高清免费不卡视频| 久久人妻av系列| 国产女主播在线喷水免费视频网站 | 精品久久久噜噜| 亚洲成人精品中文字幕电影| 亚洲国产欧美人成| 蜜桃亚洲精品一区二区三区| 国语自产精品视频在线第100页| 日本与韩国留学比较| 午夜亚洲福利在线播放| 成人亚洲精品av一区二区| 麻豆乱淫一区二区| 亚洲国产精品久久男人天堂| 国产精品野战在线观看| 人人妻人人澡欧美一区二区| 免费搜索国产男女视频| 欧美另类亚洲清纯唯美| 亚洲欧美日韩无卡精品| 少妇裸体淫交视频免费看高清| 亚洲欧美精品综合久久99| 精品久久久噜噜| 欧美日本亚洲视频在线播放| 少妇猛男粗大的猛烈进出视频 | 国产成人影院久久av| 亚洲欧美日韩高清在线视频| 日本免费一区二区三区高清不卡| 欧美精品国产亚洲| 蜜桃亚洲精品一区二区三区| 在线天堂最新版资源| 床上黄色一级片| 中文字幕精品亚洲无线码一区| 国产精品99久久久久久久久| 99久久中文字幕三级久久日本| 夜夜夜夜夜久久久久| 夜夜看夜夜爽夜夜摸| 日韩三级伦理在线观看| 色尼玛亚洲综合影院| 全区人妻精品视频| 国产一区二区在线av高清观看| 少妇熟女欧美另类| 亚洲最大成人中文| 国产男人的电影天堂91| 亚洲精品国产av成人精品 | 国产欧美日韩精品一区二区| 免费看a级黄色片| 色吧在线观看| 嫩草影视91久久| 高清日韩中文字幕在线| 国产亚洲欧美98| 两个人的视频大全免费| 日韩成人av中文字幕在线观看 | 欧美人与善性xxx| 九九久久精品国产亚洲av麻豆| 九九久久精品国产亚洲av麻豆| 听说在线观看完整版免费高清| 高清毛片免费看| 精品人妻偷拍中文字幕| 欧美zozozo另类| 精品久久久久久久久久久久久| 1000部很黄的大片| 自拍偷自拍亚洲精品老妇| 婷婷六月久久综合丁香| 免费观看人在逋| 久久久久性生活片| 大香蕉久久网| 国产国拍精品亚洲av在线观看| 美女cb高潮喷水在线观看| 美女高潮的动态| 插逼视频在线观看| 久久综合国产亚洲精品| 精品久久久久久久久久久久久| 神马国产精品三级电影在线观看| av卡一久久| 18+在线观看网站| 日韩av不卡免费在线播放| 亚洲国产色片| 国产白丝娇喘喷水9色精品| 99热只有精品国产| 最新在线观看一区二区三区| 在线观看免费视频日本深夜| 亚洲精品色激情综合| 亚洲av成人精品一区久久| 看非洲黑人一级黄片| 国产麻豆成人av免费视频| 欧美最黄视频在线播放免费| 22中文网久久字幕| 欧美zozozo另类| 亚洲国产日韩欧美精品在线观看| 精华霜和精华液先用哪个| 成人av在线播放网站| 亚洲天堂国产精品一区在线| 3wmmmm亚洲av在线观看| 久久久国产成人免费|