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

    演化軟件的特征定位方法*

    2016-09-20 09:00:31韓俊明
    計(jì)算機(jī)與生活 2016年9期
    關(guān)鍵詞:查全率查準(zhǔn)率源代碼

    韓俊明,王 煒,2+,李 彤,2,何 云

    1.云南大學(xué) 軟件學(xué)院,昆明 6500912.云南省軟件工程重點(diǎn)實(shí)驗(yàn)室,昆明 650091

    演化軟件的特征定位方法*

    韓俊明1,王煒1,2+,李彤1,2,何云1

    1.云南大學(xué) 軟件學(xué)院,昆明 650091
    2.云南省軟件工程重點(diǎn)實(shí)驗(yàn)室,昆明 650091

    確定演化活動(dòng)潛在影響的過(guò)程稱為特征定位。特征定位已經(jīng)被公認(rèn)為影響軟件演化項(xiàng)目成敗的一個(gè)關(guān)鍵因素,如何利用程序的領(lǐng)域知識(shí)促進(jìn)特征定位的準(zhǔn)確性已經(jīng)成為當(dāng)前研究的一個(gè)重要問(wèn)題。該方法提取出軟件源代碼中的特征,并對(duì)提取后的特征進(jìn)行主題分析,然后通過(guò)輸入查詢語(yǔ)句定位出被修改的源代碼。利用現(xiàn)有的開(kāi)源軟件進(jìn)行實(shí)驗(yàn),并將實(shí)驗(yàn)結(jié)果與對(duì)應(yīng)開(kāi)源軟件的Benchmark進(jìn)行對(duì)比,結(jié)果表明所提出方法的精確度有所提高,可以進(jìn)行軟件特征的定位。實(shí)驗(yàn)結(jié)果中,平均查全率達(dá)到69.16%和100%,平均查準(zhǔn)率達(dá)到1.28%和2.43%,平均調(diào)和平均數(shù)達(dá)到2.50%和4.72%,性能較對(duì)比方法有較大的提高。

    軟件演化;特征定位;主題模型;領(lǐng)域知識(shí)

    1 引言

    特征是指軟件系統(tǒng)中被需求所定義和被使用的一個(gè)功能[1]。建立軟件特征與源代碼之間映射關(guān)系的過(guò)程稱為特征定位[2]。特征定位是順利實(shí)現(xiàn)軟件演化意圖的前提之一。對(duì)于文檔缺失的中、大型軟件采用人工的方式實(shí)現(xiàn)特征定位幾乎是不可能的。文獻(xiàn)[1]指出特征定位存在“兩難”,即“高難度”和“高開(kāi)銷”。面向大型軟件的可信演化活動(dòng)常常由于無(wú)法迅速而準(zhǔn)確地進(jìn)行特征定位,導(dǎo)致演化效率低,甚至失敗。文獻(xiàn)[3-4]指出,在長(zhǎng)生命周期軟件系統(tǒng)中,50%~75%的系統(tǒng)成本和花費(fèi)用于軟件維護(hù),其中一半以上的工作量用于特征定位。

    1992年Wilde等人[5]提出的軟件勘測(cè)(software reconnaissance)技術(shù)是最早的特征定位方法之一。此后,學(xué)者們基于覆蓋執(zhí)行[6]、基于依賴關(guān)系[7]和基于模型[8]分別提出了各自的動(dòng)態(tài)特征定位方法[9]。動(dòng)態(tài)定位方法能獲得比較高的查全率,但是狀態(tài)空間大,定位精度低,同時(shí)存在大量的噪聲數(shù)據(jù)。

    靜態(tài)方法是對(duì)軟件源代碼的依賴關(guān)系和結(jié)構(gòu)的靜態(tài)分析,并建立特征和代碼間的映射關(guān)系[2]。但該方法在使用過(guò)程中需要大量的人工搜索,同時(shí)具有較高的算法開(kāi)銷和人工開(kāi)銷。

    動(dòng)態(tài)和靜態(tài)方法都存在一定的缺陷,因此本文提出了利用主題模型來(lái)分析軟件源代碼,并進(jìn)行特征定位的方法。

    主題模型,最初研究成果是作為對(duì)自然語(yǔ)言進(jìn)行處理的工具。目前,國(guó)內(nèi)的相關(guān)研究成果主要是把主題模型用于自然語(yǔ)言處理,很少有人將主題模型與軟件源代碼進(jìn)行結(jié)合研究。文獻(xiàn)[10]將主題模型用于處理軟件源代碼,主要是進(jìn)行代碼功能的分析,通過(guò)分析結(jié)果可以幫助開(kāi)發(fā)人員理解軟件功能和代碼的實(shí)現(xiàn)。而文獻(xiàn)[11]使用LDA(latent Dirichlet allocation)模型來(lái)進(jìn)行中文軟件文檔和代碼的相關(guān)性分析,根據(jù)分析結(jié)果將軟件缺陷分配給相關(guān)人員去解決,并研究如何使用主題模型更好地提高軟件及代碼間語(yǔ)義相關(guān)性的提取效果。這些文獻(xiàn)并沒(méi)有將主題模型與軟件演化或特征定位進(jìn)行結(jié)合研究。

    本文的創(chuàng)新點(diǎn)和貢獻(xiàn)如下:

    (1)對(duì)軟件演化方面的研究不再局限于理論上的論證,而嘗試使用實(shí)驗(yàn)的方式進(jìn)行特征定位的研究。

    (2)將處理自然語(yǔ)言的主題模型用于分析軟件源代碼,并將分析結(jié)果用于軟件特征定位的研究工作。

    (3)為了驗(yàn)證本文提出的方法,使用了真實(shí)的軟件源代碼進(jìn)行實(shí)驗(yàn),并與原有的特征定位方法進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果表明本文方法具有普適性和較高的精確性。

    (4)除主題模型本身的代碼外,文中所有實(shí)驗(yàn),從源代碼的特征提取、處理,到產(chǎn)生的實(shí)驗(yàn)結(jié)果,均是由程序執(zhí)行,并已經(jīng)形成一整套的特征定位工具。

    本文結(jié)構(gòu)安排如下:第2章介紹軟件特征定位方法;第3章描述實(shí)驗(yàn)所采用的軟件源代碼;第4章對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析和討論;第5章對(duì)實(shí)驗(yàn)進(jìn)行總結(jié),并探討未來(lái)的研究方向。

    2 軟件特征定位方法

    本文研究思路大致分為3個(gè)過(guò)程,如圖1所示:主題語(yǔ)料[12]獲?。恢黝}建模;特征定位。3個(gè)過(guò)程具體步驟將在2.1~2.3節(jié)中介紹。

    Fig.1 Feature location method圖1 軟件特征定位方法

    2.1主題語(yǔ)料獲取

    本文方法原始實(shí)驗(yàn)數(shù)據(jù)為軟件的源代碼。源代碼中包含了很多文件信息,例如圖片、XML,甚至在代碼文件內(nèi)都有符號(hào)、關(guān)鍵字等,這些信息對(duì)描述軟件功能的意義并不大,若直接采用源代碼進(jìn)行實(shí)驗(yàn)分析,就會(huì)存在大量無(wú)用的信息,實(shí)驗(yàn)結(jié)果的精確度將會(huì)受到很大的影響??紤]到源代碼中很多都是信息量不大的代碼功能語(yǔ)句、關(guān)鍵字等,就需要對(duì)源代碼進(jìn)行處理。根據(jù)文獻(xiàn)[13]中提到的內(nèi)容“……源代碼中的變量名、函數(shù)名、類(對(duì)象)名、API函數(shù)、注釋等關(guān)鍵詞中蘊(yùn)含了豐富的主題知識(shí),可以通過(guò)其識(shí)別源代碼與特征之間的映射關(guān)系。”因此本文認(rèn)為,能反映一個(gè)代碼模塊或一個(gè)類功能的是該代碼模塊或者該類中變量名、方法名和注釋,這就需要從源代碼中提取出變量名、方法名和注釋。

    本文實(shí)驗(yàn)數(shù)據(jù)的處理主要有以下4個(gè)步驟:

    (1)通過(guò)相關(guān)的網(wǎng)站下載同一個(gè)軟件兩個(gè)不同版本的源代碼。

    (2)提取出兩個(gè)版本軟件源代碼中的特征(本文主要是提取變量名、方法名和注釋),把提取后的特征以類為形成一個(gè)單獨(dú)文件的基本單位,并以該類所在的包的名字加上其類名對(duì)該文件進(jìn)行命名。

    (3)考慮到版本間的有些更新刪除了某些功能,為了提高結(jié)果的精確性,需要整合兩個(gè)版本的特征。因此在處理特征上,本文采取了將低版本中有而高版本中沒(méi)有的特征加入到高版本中。具體操作為:若低版本中有而高版本中沒(méi)有的文件,則直接把該文件拷貝到高版本中;若某個(gè)文件在低版本和高版本中均存在,則以行為基礎(chǔ),找出低版本中有而高版本中沒(méi)有的行,加入到高版本的該文件中。

    (4)預(yù)處理[14],去除停詞(類似“this”、“the”等)和詞根還原(例如將“broken”還原為“break”)。這樣可以減少文件的內(nèi)容,提高了主題模型生成結(jié)果的精度。

    表1為提取特征后部分文件名及其內(nèi)容的示例。

    Table 1 Sample of features in source code表1 源代碼特征示例

    2.2主題建模

    主題模型是在自然語(yǔ)言處理和機(jī)器學(xué)習(xí)領(lǐng)域,用來(lái)從一系列文檔中提取主題的一種概率統(tǒng)計(jì)模型。從更直觀的角度來(lái)理解,就是一篇文章會(huì)有一個(gè)中心思想,從而會(huì)有一些與該中心思想相關(guān)的詞匯頻繁出現(xiàn)。主題模型就試圖使用數(shù)學(xué)領(lǐng)域的框架來(lái)體現(xiàn)這種情況,主題模型會(huì)自動(dòng)分析文檔,統(tǒng)計(jì)文檔內(nèi)的詞匯信息,根據(jù)統(tǒng)計(jì)結(jié)果來(lái)確定文檔、主題和詞三者之間的關(guān)系。本文使用主題模型對(duì)文檔的生成過(guò)程進(jìn)行模擬,再通過(guò)參數(shù)估計(jì)得到各個(gè)主題[15]。主題模型中,有一個(gè)重要的假設(shè)稱為詞袋假設(shè),其具體內(nèi)容是把文檔信息視為詞頻向量,并且不考慮詞與詞之間的順序。

    LDA[16]是一種非監(jiān)督機(jī)器學(xué)習(xí)方法。在LDA中,一個(gè)文檔被看作是一系列不同主題的集合,采用忽略詞間順序的詞袋方法把文檔視為詞頻的向量,這樣就把不能建模的文字信息轉(zhuǎn)換成為可以建模的數(shù)字信息。LDA主題模型包含了3層結(jié)構(gòu),分別為文檔、主題和詞匯,并且以概率的形式給出了文檔和主題、主題和詞匯之間的關(guān)系。

    主題模型技術(shù)最早是由Blei等人[16]在2003年所提出,主要應(yīng)用于自然語(yǔ)言處理或者信息檢索方面。主題模型是一種生成模型,描述了一種用以生成文檔的概率過(guò)程[17]。LDA認(rèn)為[16],文檔是一系列的主題按照一定的概率生成的,而主題又是一組詞按照一定的概率生成的,因此對(duì)于一個(gè)文檔集D中的文檔d,LDA假設(shè)了如下的生成過(guò)程[16]:

    通過(guò)對(duì)從源代碼中提取的特征采用主題模型進(jìn)行建模后,可以得到主題和詞之間的概率模型。表2為生成的概率模型示例。

    Table 2 Sample of probabilistic model表2 概率模型示例

    如表2所示,主題Topic1包含了兩個(gè)單詞document 和model,每個(gè)單詞屬于Topic1的概率分別為0.025 和0.013。

    2.3特征定位

    選取一條更新報(bào)告,并對(duì)該條報(bào)告做過(guò)濾處理,利用上一步生成的概率模型,計(jì)算更新報(bào)告和每一個(gè)主題的相似度。對(duì)計(jì)算出來(lái)的相似度排序,根據(jù)排序結(jié)果,選取相似度最高的一個(gè)或多個(gè)主題所包含的主題詞,統(tǒng)計(jì)每一個(gè)特征文件中這些主題詞出現(xiàn)的次數(shù)和該文檔的總詞數(shù),使用“出現(xiàn)率”這一指標(biāo)來(lái)對(duì)所有特征文件進(jìn)行排序,通過(guò)排序結(jié)果,確定哪些文件被修改,進(jìn)而進(jìn)行特征定位。

    定義1使用ONT(occurrence numbers of topicwords)表示在一個(gè)文檔內(nèi)主題詞出現(xiàn)的次數(shù),使用TWD(total words in a document)表示該文檔的總詞數(shù),則出現(xiàn)率(occurrence rate,OR)可定義如下:

    3 實(shí)驗(yàn)數(shù)據(jù)

    數(shù)據(jù)是實(shí)驗(yàn)最重要的一個(gè)部分,因此源數(shù)據(jù)的獲取情況直接關(guān)系到最終實(shí)驗(yàn)結(jié)果的好壞。本文方法中,實(shí)驗(yàn)數(shù)據(jù)是軟件的源代碼,為了保證實(shí)驗(yàn)結(jié)果的可靠性和客觀性,同時(shí)也要提高實(shí)驗(yàn)結(jié)果的精確性,就需要獲取到完整、有效的軟件源代碼。

    對(duì)于需要獲取的軟件源代碼,本文考慮以下3點(diǎn):首先,得到的軟件源代碼必須是完整、有效且合法的,獲取方法也必須是合法的。其次,該軟件需要有比較長(zhǎng)的演化歷史,并且能夠獲取到兩個(gè)甚至是多個(gè)版本的源代碼。通過(guò)對(duì)比網(wǎng)上現(xiàn)有的開(kāi)源軟件,最后決定使用ArgoUML(http://argouml-downloads.tigris.org/)0.20和0.22版本(使用的ArgoUML由Java編寫),并下載ArgoUML0.20-0.22版本Benchmark(http://www.cs.wm.edu/semeru/data/benchmarks/)用來(lái)驗(yàn)證實(shí)驗(yàn)結(jié)果。

    在Benchmark中,有3個(gè)文件夾Queries、Traces和GoldSets。Queries中的內(nèi)容是軟件版本更新說(shuō)明,LongDescription是詳細(xì)描述,ShortDescription是概括性短語(yǔ)描述。Traces中為特征相關(guān)的執(zhí)行跡,文件中記錄了特征對(duì)應(yīng)的測(cè)試用例在執(zhí)行過(guò)程中搜集到的源代碼調(diào)用信息。GoldSets記錄了與特征實(shí)際相關(guān)的源代碼,也就是在演化過(guò)程中哪些類被修改了。

    4 實(shí)驗(yàn)測(cè)試與結(jié)果分析

    4.1JGibbLDA

    本文方法使用的是由Java語(yǔ)言編寫的LDA主題模型建模程序JGibbLDA(http://jgibblad.sourceforge. net/)。按照J(rèn)GibbLDA輸入文件格式的要求(第一行為輸入文檔的個(gè)數(shù),其余每行代表一個(gè)文檔,行內(nèi)容為文檔中的單詞,單詞間以空格分隔)形成一個(gè)文件,如表3所示。經(jīng)過(guò)觀察發(fā)現(xiàn),很多類的特征極少,若以一個(gè)類作為一個(gè)文檔可能會(huì)導(dǎo)致輸入的文檔數(shù)目過(guò)多,因此以一個(gè)包作為一個(gè)文檔進(jìn)行整理。

    在JGibbLDA程序運(yùn)行前,需要設(shè)定一些參數(shù)才能讓程序運(yùn)行,參數(shù)具體內(nèi)容如表4所示。

    Table 3 File format of input表3 輸入文件格式

    Table 4 Parameters in JGibbLDA表4JGibbLDA中的參數(shù)

    在這些參數(shù)中,α和β屬于超參數(shù),目前暫時(shí)沒(méi)有很好的方法對(duì)這兩個(gè)參數(shù)的取值進(jìn)行確定。根據(jù)文獻(xiàn)[18]中的研究結(jié)果,α和β對(duì)應(yīng)的值可以設(shè)置為50/k(k為輸入文件內(nèi)文檔的數(shù)量)和0.1。

    4.2實(shí)驗(yàn)結(jié)果文件內(nèi)容

    JGibbLDA實(shí)驗(yàn)后,會(huì)出現(xiàn)5類后綴名不同的文件,其后綴名和內(nèi)容如表5所示。

    Table 5 Filename extension and its content表5 文件后綴名及其內(nèi)容

    4.3形成實(shí)驗(yàn)結(jié)果

    利用文件model-final.twords中的數(shù)據(jù),形成最終的實(shí)驗(yàn)結(jié)果需要以下5步:

    (1)從開(kāi)源軟件的Benchmark中選取一條更新報(bào)告,也做去除停詞和詞根還原的處理。

    (2)假設(shè)參數(shù)ntopics和twords分別設(shè)置為N和T,生成N個(gè)T維的向量,并把這N個(gè)向量初始化為0。

    (3)對(duì)這N個(gè)向量賦值,若主題m(0

    (4)重復(fù)步驟(3)至這N個(gè)T維向量全部賦值完畢,然后針對(duì)第m個(gè)T維向量的值,與文件model-final. twords中第m個(gè)主題詞對(duì)應(yīng)的值,進(jìn)行計(jì)算兩個(gè)向量夾角余弦值操作,其中m=1,2,…,N。

    (5)將計(jì)算出的余弦值降序排列,取前 j個(gè)主題的所有主題詞,在源代碼的特征文件中進(jìn)行詞頻統(tǒng)計(jì),并計(jì)算出現(xiàn)率。

    4.4定義實(shí)驗(yàn)標(biāo)準(zhǔn)

    為了驗(yàn)證本文方法的性能,需要使用某些度量標(biāo)準(zhǔn)來(lái)對(duì)結(jié)果進(jìn)行度量和對(duì)比。本文采用在信息檢索中常用的查全率(Recall)和查準(zhǔn)率(Precision)作為衡量指標(biāo),并通過(guò)這兩個(gè)指標(biāo)來(lái)對(duì)輸出結(jié)果進(jìn)行評(píng)價(jià)[9],具體定義如下。

    定義2Recall表示查全率,correct代表所需查找的目標(biāo)文件,retrieved代表使用定位方法查找出來(lái)的文件,則查全率的定義為:

    定義3Precision表示查準(zhǔn)率,correct代表所需查找的目標(biāo)文件,retrieved代表使用定位方法查找出來(lái)的文件,則查準(zhǔn)率的定義為:

    查全率和查準(zhǔn)率之間具有互逆的關(guān)系。在極端情況下,一個(gè)將文檔集合中所有文檔返回為結(jié)果集合的系統(tǒng)有100%的查全率,但是查準(zhǔn)率卻很低(http: //baike.baidu.com/view/2126615.htm?fr=aladdin)。因此使用查全率和查準(zhǔn)率的調(diào)和平均數(shù)F來(lái)評(píng)價(jià)方法的綜合性能。

    定義4使用F代表查全率和查準(zhǔn)率的調(diào)和平均數(shù),Recall代表查全率,Precision代表查準(zhǔn)率,則調(diào)和平均數(shù)定義為[9]:

    4.5實(shí)驗(yàn)結(jié)果

    實(shí)驗(yàn)使用了ArgoUML的0.20-0.22版本源代碼進(jìn)行特征提取和處理,一共得到1 562個(gè)類和96個(gè)包,在用JGibbLDA處理時(shí),alpha、beta、ntopics、niters、savestep和twords的值分別設(shè)置為0.528、0.1、30、1 000、100和50,選取夾角余弦值最高的5個(gè)主題的所有主題詞進(jìn)行詞頻統(tǒng)計(jì)。

    表6列舉了對(duì)ArgoUML做的實(shí)驗(yàn)的查詢內(nèi)容,查詢內(nèi)容來(lái)自Benchmark中的ShortDescription。

    Table 6 Query contents ofArgoUML表6ArgoUML查詢內(nèi)容

    文獻(xiàn)[9]的推薦方法,取出現(xiàn)率最高的10%~15%的源代碼計(jì)算查全率和查準(zhǔn)率,并使用調(diào)和平均數(shù)來(lái)評(píng)價(jià)性能。而本文只取出現(xiàn)率最高的前5%進(jìn)行計(jì)算。

    表7為實(shí)驗(yàn)結(jié)果統(tǒng)計(jì),從統(tǒng)計(jì)數(shù)據(jù)來(lái)看,10組實(shí)驗(yàn)結(jié)果,平均查全率為69.19%,平均查準(zhǔn)率為1.28%,調(diào)和平均數(shù)的平均值為2.50%。

    Table7 Query results ofArgoUML表7 ArgoUML查詢結(jié)果

    文獻(xiàn)[12]是基于文本的特征定位技術(shù),將其作為基線方法,在使用相同實(shí)驗(yàn)數(shù)據(jù)的前提下,與本文方法對(duì)表6中的特征數(shù)據(jù)進(jìn)行對(duì)比?;€方法的10組實(shí)驗(yàn),平均查全率為50.00%,平均查準(zhǔn)率為1.02%,調(diào)和平均數(shù)的平均值為2.00%。基線方法與本文方法的查全率、查準(zhǔn)率和調(diào)和平均數(shù)的具體數(shù)據(jù)對(duì)比分別如圖2、圖3和圖4所示。

    從圖2、圖3和圖4中可以很明顯地看出,本文方法與基線方法進(jìn)行對(duì)比,10組實(shí)驗(yàn)中,3組高于基線方法,1組低于基線方法,其余6組與基線方法相同??梢杂^察到,在高于基線方法的3組實(shí)驗(yàn)(實(shí)驗(yàn)3、5、10),基線方法的查全率和查準(zhǔn)率都是0,而本文方法卻還可以查到,并且有比較理想的查全率和查準(zhǔn)率。

    Fig.2 Recall comparison圖2 查全率對(duì)比

    Fig.3 Precision comparison圖3 查準(zhǔn)率對(duì)比

    在進(jìn)行源代碼特征提取時(shí),有一類詞在定位上起著關(guān)鍵作用,將其稱為組合詞,它是由兩個(gè)或多個(gè)普通的單詞組合起來(lái)形成的新單詞,類似于“getsourcefileinfo”。這類詞在人類的自然語(yǔ)言中是不會(huì)出現(xiàn)的,因此LDA在計(jì)算其屬于某主題概率時(shí),并不會(huì)對(duì)其做特殊的處理,以示與普通單詞進(jìn)行區(qū)分,而本文方法在提取特征時(shí)也沒(méi)有對(duì)這些組合詞進(jìn)行分詞處理。然而,組合詞在軟件的源代碼中出現(xiàn)得很普遍,因?yàn)樵诰帉懗绦驎r(shí),會(huì)用到這些詞匯表示一些重要或者復(fù)雜的信息,同時(shí)同一個(gè)組合詞在整個(gè)源代碼中出現(xiàn)的次數(shù)不會(huì)太多,所以利用組合詞可以再次提高定位的精確度。

    將所選主題詞中的組合詞提取出來(lái),在所有文件中統(tǒng)計(jì)這些組合詞的出現(xiàn)次數(shù),并將出現(xiàn)次數(shù)降序排列。假設(shè)組合詞出現(xiàn)次數(shù)最少的目標(biāo)文件排第N位,出現(xiàn)率最低的目標(biāo)文件排第M位,則將前N個(gè)文件和前M個(gè)文件做交集處理,提取出它們的公共部分,這樣就能很大程度上提高定位的精確度。

    表8為加入組合詞的結(jié)果統(tǒng)計(jì),從統(tǒng)計(jì)數(shù)據(jù)來(lái)看,組合詞確實(shí)極大程度提高了定位的精確度。最好的情況下,可以過(guò)濾掉222個(gè)無(wú)關(guān)文件,最差能過(guò)濾掉2個(gè)文件。

    Table8 Statistical results ofArgoUML within compound words表8 考慮組合詞的ArgoUML統(tǒng)計(jì)結(jié)果

    表9為在考慮組合詞后,ArgoUML實(shí)驗(yàn)結(jié)果。10組實(shí)驗(yàn)數(shù)據(jù),平均查全率為100%,平均查準(zhǔn)率為2.43%,調(diào)和平均數(shù)的平均值為4.72%,較沒(méi)有考慮組合詞時(shí)的實(shí)驗(yàn)和基線方法,都有了明顯的提升。基線方法、本文方法和考慮了組合詞的查全率、查準(zhǔn)率和調(diào)和平均數(shù)的具體數(shù)據(jù)對(duì)比分別如圖5、圖6和圖7所示。

    Table 9 Experimental results ofArgoUML within compound words表9 考慮組合詞的ArgoUML實(shí)驗(yàn)結(jié)果

    從圖5、圖6和圖7中可以很明顯地看出,在考慮了組合詞后,查全率、查準(zhǔn)率和調(diào)和平均數(shù)都有了比較大的提高。在只取出現(xiàn)率最高的前5%源代碼進(jìn)行計(jì)算時(shí),具體平均數(shù)據(jù)如表10所示。

    Fig.5 Recall comparison within compound words圖5 考慮組合詞的查全率對(duì)比

    Fig.6 Precision comparison within compound words圖6 考慮組合詞的查準(zhǔn)率對(duì)比

    Fig.7 F-measure comparison within compound words圖7 考慮組合詞的調(diào)和平均數(shù)對(duì)比

    Table 10 Recall,precision and F-measure comparison表10 查全率、查準(zhǔn)率和調(diào)和平均數(shù)對(duì)比

    本文只取前5%的源代碼進(jìn)行比較,并利用組合詞進(jìn)一步提高了定位的精確度。通過(guò)表10可以看出,本文方法在平均查全率、平均查準(zhǔn)率和調(diào)和平均數(shù)的平均值上,均明顯高于基線方法。

    5 實(shí)驗(yàn)總結(jié)及未來(lái)研究方向

    軟件演化是否與演化目的相符合,或者是否確實(shí)進(jìn)行了演化,一直是軟件演化領(lǐng)域一個(gè)重要的研究方向,過(guò)去對(duì)軟件演化的研究大多都是在理論上的推演。為了能夠在軟件演化領(lǐng)域有所突破和創(chuàng)新,希望能夠利用實(shí)驗(yàn)數(shù)據(jù)來(lái)進(jìn)行軟件演化的特征定位,因此本文提出了一種基于主題模型LDA的軟件演化被修改代碼定位方法,并開(kāi)發(fā)出了一整套本文方法所使用的定位工具。通過(guò)對(duì)ArgoUML源代碼進(jìn)行分析和實(shí)驗(yàn),證明了本文方法的高效性。

    由于LDA本身是用于處理人類自然語(yǔ)言的工具,將其應(yīng)用于處理軟件代碼勢(shì)必會(huì)帶來(lái)一些問(wèn)題。通過(guò)研究發(fā)現(xiàn),以下兩點(diǎn)對(duì)本文實(shí)驗(yàn)結(jié)果存在著影響:

    (1)將一條更新報(bào)告作為查詢語(yǔ)句進(jìn)行定位,要想獲得比較理想的實(shí)驗(yàn)結(jié)果,對(duì)該條更新報(bào)告的內(nèi)容有比較高的要求。首先,這條信息要能很客觀、直接地描述出修復(fù)了什么Bug或Defect;其次,描述所修復(fù)的最好是代碼層面上的改動(dòng),若是軟件的圖標(biāo)或其他非功能上的改動(dòng)則本方法效果不佳;再次,描述修復(fù)的Bug或Defect,需要是實(shí)驗(yàn)使用的兩個(gè)版本中在低版本發(fā)現(xiàn)而在高版本被修復(fù)的,例如某些Bug 或Defect是兩個(gè)版本間的一些測(cè)試版發(fā)現(xiàn)或修復(fù)的,則實(shí)驗(yàn)結(jié)果不會(huì)很理想。

    (2)使用JGibbLDA對(duì)語(yǔ)料進(jìn)行處理時(shí),需要輸入一些參數(shù),每一個(gè)參數(shù)的設(shè)置對(duì)實(shí)驗(yàn)結(jié)果都有著極大的影響。

    LDA作為一種機(jī)器學(xué)習(xí)方法,研究之初就是為了將其應(yīng)用于處理自然語(yǔ)言方面的問(wèn)題,本文方法將其應(yīng)用于軟件演化領(lǐng)域本身是一次創(chuàng)新。對(duì)本文方法進(jìn)行了實(shí)驗(yàn),結(jié)果證明嘗試是成功的,但是也存在著一些問(wèn)題,這些問(wèn)題將會(huì)成為以后的研究方向:首先,如何設(shè)置JGibbLDA的參數(shù),特別對(duì)于兩個(gè)超參數(shù)α和β,目前國(guó)內(nèi)外還沒(méi)有研究出一種帶理論依據(jù)的方法提供指導(dǎo),其值的設(shè)置都是憑借人工經(jīng)驗(yàn);其次,對(duì)原始語(yǔ)料既源代碼的處理,是否還需要使用其他方法進(jìn)行處理以提高結(jié)果的精確度;再次,需要通過(guò)一定的方法來(lái)確定一個(gè)詞是否為組合詞;同時(shí),還將對(duì)本文開(kāi)發(fā)的定位工具進(jìn)行擴(kuò)展以支持更多語(yǔ)言的源代碼,并繼續(xù)研究LDA是否還能應(yīng)用于計(jì)算機(jī)其他研究領(lǐng)域。

    References:

    [1]Poshyvanyk D,Guéhéneuc Y G,Marcus A,et al.Feature location using probabilistic ranking of methods based on execution scenarios and information retrieval[J].IEEE Transactions on Software Engineering,2007,33(6):420-432.

    [2]Dit B,Revelle M,Gethers M,et al.Feature location in source code:a taxonomy and survey[J].Journal of Software Evolution and Process,2013,25(1):53-95.

    [3]Li Tong.An approach to modelling software evolution processes[M].Berlin:Springer,2008.

    [4]Seacord R C,Plakosh D,Lewis G A.Modernizing legacy systems:software technologies,engineering processes,and business practices[M].Boston,USA:Addison-Wesley Longman Publishing Co,2003.

    [5]Wilde N,Gomez JA,Gust T,et al.Locating user functionality in old code[C]//Proceedings of the 1992 Conference on Software Maintenance,Orlando,USA,Nov 9-12,1992.Piscataway,USA:IEEE,1992:200-205.

    [6]Wong W E,Wei Tingting,Qi Yu,et al.A crosstab-based statistical method for effective fault localization[C]//Proceedings of the 2008 1st International Conference on Software Testing,Verification,and Validation,Lillehammer,Apr 9-11,2008.Piscataway,USA:IEEE,2008:42-51.

    [7]Baah G K,Podgurski A,Harrold M J.The probabilistic program dependence graph and its application to fault diagnosis[J].IEEE Transactions on Software Engineering,2010, 36(4):528-545.

    [8]Xu Baowen,Nie Changhai,Shi Liang,et al.A software failure debugging method based on combinatorial design approach for testing[J].Chinese Journal of Computers,2006, 29(1):132-138.

    [9]Ju Xiaolin,Jiang Shujuan,Zhang Yanmei,et al.Advanced in fault localization techniques[J].Journal of Frontiers of Computer Science and Technology,2012,6(6):481-494.

    [10]Li Meng,Zhao Junfeng,Xie Bing.Obtaining functional topics from source code based on topic modeling and static analysis[J].Scientia Sinica:Informationis,2014,44(1):54-69.

    [11]Xu Yebing,Liu Chao.Research on retrieval methods for traceability between Chinese documentation and source code based on LDA[J].Computer Engineering and Applications,2013,49(5):70-76.

    [12]Marcus A,Sergeyev A,Rajlich V,et al.An information retrieval approach to concept location in source code[C]//Proceedings of the 11th Working Conference on Reverse Engineering,Delft,Netherlands,Nov 8-12,2004.Piscataway,USA: IEEE,2004:214-223.

    [13]He Yun,Wang Wei,Li Tong,et al.Behaviour and topic oriented software feature location method[J].Journal of Frontiers of Computer Science and Technology,2014,8(12): 1452-1462.

    [14]Linares-Vásquez M,McMillan C,Poshyvanyk D,et al.On using machine learning to automatically classify software applications into domain categories[J].Empirical Software Engineering,2014,19(3):582-618.

    [15]Xu Ge,Wang Houfeng.The development of topic models in natural language processing[J].Chinese Journal of Computers,2014,34(8):1423-1436.

    [16]Blei D M,Ng A Y,Jordan M I.Latent Dirichlet allocation[J]. Journal of Machine Learning Research,2003,3:993-1022.

    [17]Steyvers M,Griffiths T.Probabilistic topic models[M]//Latent Semantic Analysis.New Jersey:Lawrence Erlbaum Associates,2007:424-440.

    [18]Griffiths T,Steyvers M.Finding scientific topics[J].Proceedings of the National Academy of Sciences of the United States ofAmerica,2004,101:5228-5235.

    附中文參考文獻(xiàn):

    [8]徐寶文,聶長(zhǎng)海,史亮,等.一種基于組合測(cè)試的軟件故障調(diào)試方法[J].計(jì)算機(jī)學(xué)報(bào),2006,29(1):132-138.

    [9]鞠小林,姜淑娟,張艷梅,等.軟件故障定位技術(shù)進(jìn)展[J].計(jì)算機(jī)科學(xué)與探索,2012,6(6):481-494.

    [10]李萌,趙俊峰,謝冰.基于主題建模和靜態(tài)分析技術(shù)的軟件代碼功能性主題獲取方法[J].中國(guó)科學(xué):信息科學(xué), 2014,44(1):54-69.

    [11]許冶冰,劉超.基于主題的文檔與代碼間關(guān)聯(lián)關(guān)系的提取研究[J].計(jì)算機(jī)工程與應(yīng)用,2013,49(5):70-76.

    [13]何云,王煒,李彤,等.面向行為主題的軟件特征定位方法[J].計(jì)算機(jī)科學(xué)與探索,2014,8(12):1452-1462.

    [15]徐戈,王厚峰.自然語(yǔ)言處理中主題模型的發(fā)展[J].計(jì)算機(jī)學(xué)報(bào),2014,34(8):1423-1436.

    HAN Junming was born in 1988.He is an M.S.candidate at Yunnan University.His research interests include software engineering,software evolution and data mining.

    韓俊明(1988—),男,云南文山人,云南大學(xué)碩士研究生,主要研究領(lǐng)域?yàn)檐浖こ?,軟件演化,?shù)據(jù)挖掘。

    WANG Wei was born in 1979.He received the Ph.D.degree in system analysis and integration from Yunnan University in 2009.Now he is an associate professor at Yunnan University,and the member of CCF.His research interests include software engineering,software evolution and data mining.

    王煒(1979—),男,云南昆明人,2009年于云南大學(xué)系統(tǒng)分析與集成專業(yè)獲得博士學(xué)位,現(xiàn)為云南大學(xué)副教授,CCF會(huì)員,主要研究領(lǐng)域?yàn)檐浖こ?,軟件演化,?shù)據(jù)挖掘。發(fā)表學(xué)術(shù)論文15篇,出版教材1部,主持省部級(jí)項(xiàng)目5項(xiàng)。

    LI Tong was born in 1963.He received the Ph.D.degree in software engineering from De Montfort University in 2007.Now he is a professor and Ph.D.supervisor at Yunnan University,and the senior member of CCF.His research interests include software engineering and information security.

    李彤(1963—),男,河北石家莊人,2007年于英國(guó)De Montfort大學(xué)軟件工程專業(yè)獲得博士學(xué)位,現(xiàn)為云南大學(xué)軟件學(xué)院院長(zhǎng)、教授、博士生導(dǎo)師,CCF高級(jí)會(huì)員,主要研究領(lǐng)域?yàn)檐浖こ?,信息安全。發(fā)表學(xué)術(shù)論文100余篇、專著2部、教材5部,主持國(guó)家級(jí)項(xiàng)目5項(xiàng)、省部級(jí)項(xiàng)目14項(xiàng)、其他項(xiàng)目20余項(xiàng)。

    HE Yun was born in 1989.He is an M.S.candidate at Yunnan University,and the student member of CCF.His research interests include software engineering,software evolution and data mining.

    何云(1989—),男云南建水人,云南大學(xué)碩士研究生,CCF學(xué)生會(huì)員,主要研究領(lǐng)域?yàn)檐浖こ蹋浖莼?,?shù)據(jù)挖掘。

    Feature Location Method of Evolved Software?

    HAN Junming1,WANG Wei1,2+,LI Tong1,2,HE Yun1
    1.College of Software,Yunnan University,Kunming 650091,China
    2.Key Laboratory for Software Engineering of Yunnan Province,Kunming 650091,China
    +Corresponding author:E-mail:wangwei@ynu.edu.cn

    HAN Junming,WANG Wei,LI Tong,et al.Feature location method of evolved software.Journal of Frontiers of Computer Science and Technology,2016,10(9):1201-1210.

    Feature location is the process that confirms the potential influence in software evolution.Feature location is a recognized critical factor that decides success or failure in evolution,and how to use domain knowledge to promote accuracy in feature location becomes an important problem in current research.This method extracts the features in the software source code,and analyzes the features by topic model,then inputs update report as a query to locate which source code has been changed.This paper makes experiments with open source software,then compares experimental results with the benchmark of the open source software,correlation results indicate that this method has higher accuracy and universality,and can verify software evolution.The average of recall can achieve 69.16%and 100%,the average of precision can achieve 1.28%and 2.43%,the average of harmonic mean can achieve 2.50%and 4.72%.The experimental results show that the performance is better than that of baseline.

    software evolution;feature location;topic model;domain knowledge

    2015-07,Accepted 2015-09.

    *The National Natural Science Foundation of China under Grant Nos.61462092,61262024,61379032(國(guó)家自然科學(xué)基金);the Key Project of Natural Science Foundation of Yunnan Province under Grant No.2015FA014(云南省自然科學(xué)基金重點(diǎn)項(xiàng)目);the Natural Science Foundation of Yunnan Province under Grant No.2013FB008(云南省自然科學(xué)基金).

    CNKI網(wǎng)絡(luò)優(yōu)先出版:2015-09-28,http://www.cnki.net/kcms/detail/11.5602.TP.20150928.1033.002.html

    A

    TP311.5

    猜你喜歡
    查全率查準(zhǔn)率源代碼
    人工智能下復(fù)雜軟件源代碼缺陷精準(zhǔn)校正
    基于TXL的源代碼插樁技術(shù)研究
    海量圖書(shū)館檔案信息的快速檢索方法
    軟件源代碼非公知性司法鑒定方法探析
    基于詞嵌入語(yǔ)義的精準(zhǔn)檢索式構(gòu)建方法
    大數(shù)據(jù)環(huán)境下的文本信息挖掘方法
    基于深度特征分析的雙線性圖像相似度匹配算法
    揭秘龍湖產(chǎn)品“源代碼”
    中文分詞技術(shù)對(duì)中文搜索引擎的查準(zhǔn)率及查全率的影響
    基于Web的概念屬性抽取的研究
    男女那种视频在线观看| 久久久国产成人精品二区| 97在线视频观看| 亚洲国产高清在线一区二区三| 九草在线视频观看| 久久久久久久久久成人| 国产精品99久久久久久久久| av在线亚洲专区| 一个人看视频在线观看www免费| 中文字幕av在线有码专区| av黄色大香蕉| 国产又黄又爽又无遮挡在线| 成人亚洲精品av一区二区| 99久国产av精品| 亚洲国产精品国产精品| 精品久久久久久久久久久久久| 亚洲一区高清亚洲精品| 国产精品伦人一区二区| 亚洲美女搞黄在线观看| 观看免费一级毛片| 午夜免费男女啪啪视频观看| 国产精品电影一区二区三区| 久久久久免费精品人妻一区二区| 久久鲁丝午夜福利片| 精品国产一区二区三区久久久樱花 | 亚洲精华国产精华液的使用体验| 日本五十路高清| 亚洲欧洲日产国产| 国产精品久久久久久精品电影小说 | 2021天堂中文幕一二区在线观| 国产精品三级大全| 99热全是精品| 国产精品99久久久久久久久| 深夜a级毛片| 我要搜黄色片| 如何舔出高潮| 欧美一区二区亚洲| 麻豆av噜噜一区二区三区| 国产午夜精品一二区理论片| 欧美精品一区二区大全| 国国产精品蜜臀av免费| 一区二区三区四区激情视频| 午夜免费激情av| 亚洲综合精品二区| 一区二区三区乱码不卡18| 亚洲成人久久爱视频| 成人鲁丝片一二三区免费| 别揉我奶头 嗯啊视频| 国产在线男女| 村上凉子中文字幕在线| 日日干狠狠操夜夜爽| 女人被狂操c到高潮| 97超碰精品成人国产| 天天躁夜夜躁狠狠久久av| 国产av不卡久久| 亚洲四区av| 乱码一卡2卡4卡精品| 人人妻人人澡人人爽人人夜夜 | 久久久久久伊人网av| 国产成人a∨麻豆精品| 在线免费观看不下载黄p国产| 国产探花在线观看一区二区| 国产免费一级a男人的天堂| 亚洲精品乱久久久久久| 国产精品熟女久久久久浪| 麻豆精品久久久久久蜜桃| 欧美极品一区二区三区四区| 又黄又爽又刺激的免费视频.| a级一级毛片免费在线观看| 国产免费男女视频| 中文亚洲av片在线观看爽| 波多野结衣巨乳人妻| 成人亚洲欧美一区二区av| 免费av毛片视频| av国产久精品久网站免费入址| 别揉我奶头 嗯啊视频| 久久久久久久久久久免费av| 国产欧美另类精品又又久久亚洲欧美| 在现免费观看毛片| 赤兔流量卡办理| 亚洲精品久久久久久婷婷小说 | 国产综合懂色| 欧美一区二区精品小视频在线| 日本猛色少妇xxxxx猛交久久| 1024手机看黄色片| 国产成人午夜福利电影在线观看| 少妇人妻一区二区三区视频| 91久久精品国产一区二区成人| 欧美另类亚洲清纯唯美| 午夜福利在线观看免费完整高清在| 国产精品,欧美在线| 一本久久精品| 成人欧美大片| 中文字幕av成人在线电影| 少妇的逼好多水| 国产麻豆成人av免费视频| 免费人成在线观看视频色| 1000部很黄的大片| or卡值多少钱| 精品99又大又爽又粗少妇毛片| 国产精品一区二区在线观看99 | 男女国产视频网站| 一级av片app| 免费看光身美女| 免费播放大片免费观看视频在线观看 | 久久99热6这里只有精品| 日韩在线高清观看一区二区三区| 欧美日韩精品成人综合77777| 一个人观看的视频www高清免费观看| 精品99又大又爽又粗少妇毛片| av天堂中文字幕网| 国产私拍福利视频在线观看| 国产真实乱freesex| 欧美潮喷喷水| 国产 一区精品| 久久精品久久精品一区二区三区| 高清毛片免费看| 中文亚洲av片在线观看爽| 亚洲av成人av| 超碰97精品在线观看| 国产精品乱码一区二三区的特点| 亚洲精品乱久久久久久| 三级国产精品片| 麻豆成人av视频| 久久久久精品久久久久真实原创| 国产亚洲精品久久久com| 夜夜爽夜夜爽视频| 日本色播在线视频| 一级毛片我不卡| 久久久久久久亚洲中文字幕| 汤姆久久久久久久影院中文字幕 | 一二三四中文在线观看免费高清| 国产成人a区在线观看| 22中文网久久字幕| 亚洲aⅴ乱码一区二区在线播放| 尤物成人国产欧美一区二区三区| 纵有疾风起免费观看全集完整版 | 日日干狠狠操夜夜爽| 内地一区二区视频在线| 两个人的视频大全免费| 观看美女的网站| 国产精品久久电影中文字幕| 日韩欧美 国产精品| 一级二级三级毛片免费看| 特大巨黑吊av在线直播| 免费观看在线日韩| 97在线视频观看| 蜜桃亚洲精品一区二区三区| 99视频精品全部免费 在线| 亚洲国产欧美在线一区| 麻豆av噜噜一区二区三区| 看十八女毛片水多多多| 亚洲美女视频黄频| 午夜亚洲福利在线播放| 最近中文字幕高清免费大全6| 黄色日韩在线| 日本五十路高清| 久久久久久久久大av| 插阴视频在线观看视频| 亚洲精品乱码久久久v下载方式| 在线播放无遮挡| 国产女主播在线喷水免费视频网站 | 免费黄网站久久成人精品| 免费观看精品视频网站| 成年版毛片免费区| 91aial.com中文字幕在线观看| 亚洲精品国产成人久久av| 成人性生交大片免费视频hd| 国产精品一区二区三区四区免费观看| 国产私拍福利视频在线观看| 青春草国产在线视频| 看十八女毛片水多多多| 变态另类丝袜制服| 欧美另类亚洲清纯唯美| 亚洲中文字幕一区二区三区有码在线看| 亚洲最大成人av| 晚上一个人看的免费电影| 在线a可以看的网站| 久久精品影院6| 久久99热6这里只有精品| 少妇高潮的动态图| 一级毛片电影观看 | 亚洲精品久久久久久婷婷小说 | 亚洲成av人片在线播放无| av国产免费在线观看| 99久久精品国产国产毛片| 亚洲欧美成人精品一区二区| 七月丁香在线播放| 久久精品夜色国产| 国产亚洲av片在线观看秒播厂 | 久久这里有精品视频免费| 久久久久国产网址| 国产极品天堂在线| 日本猛色少妇xxxxx猛交久久| 好男人在线观看高清免费视频| 国产亚洲av片在线观看秒播厂 | 久久6这里有精品| 国产大屁股一区二区在线视频| 男的添女的下面高潮视频| 久久精品久久精品一区二区三区| 可以在线观看毛片的网站| 国产真实伦视频高清在线观看| 国产精品久久视频播放| 国产精品野战在线观看| 久久久久久久久大av| 午夜激情福利司机影院| 欧美三级亚洲精品| 免费搜索国产男女视频| 大又大粗又爽又黄少妇毛片口| 亚洲欧美精品专区久久| 国产真实乱freesex| 成人高潮视频无遮挡免费网站| 亚洲自偷自拍三级| 久久久国产成人精品二区| 久久精品91蜜桃| 国国产精品蜜臀av免费| videos熟女内射| 只有这里有精品99| 99久国产av精品国产电影| 亚洲成av人片在线播放无| 中文欧美无线码| 亚洲va在线va天堂va国产| 人人妻人人看人人澡| 国内揄拍国产精品人妻在线| 一级黄片播放器| 亚洲成色77777| 精品久久国产蜜桃| 国产精品久久电影中文字幕| 亚洲真实伦在线观看| 最后的刺客免费高清国语| 亚洲人成网站在线观看播放| 我的女老师完整版在线观看| 国产精品蜜桃在线观看| 亚洲精品久久久久久婷婷小说 | 在线播放无遮挡| 亚洲av.av天堂| 久久精品久久久久久久性| 精品国产露脸久久av麻豆 | 97超视频在线观看视频| 啦啦啦啦在线视频资源| 91久久精品电影网| 嫩草影院入口| av在线亚洲专区| 五月玫瑰六月丁香| 99热这里只有精品一区| 亚洲精品日韩在线中文字幕| 久久久国产成人免费| 国产毛片a区久久久久| 国产亚洲91精品色在线| 国产乱人偷精品视频| 自拍偷自拍亚洲精品老妇| 毛片女人毛片| 国内精品一区二区在线观看| 成人特级av手机在线观看| 级片在线观看| av国产免费在线观看| 麻豆成人午夜福利视频| 精品国产露脸久久av麻豆 | 一边亲一边摸免费视频| 真实男女啪啪啪动态图| 亚洲怡红院男人天堂| 三级国产精品片| 亚洲中文字幕日韩| 亚洲婷婷狠狠爱综合网| 久久久久国产网址| 国产视频首页在线观看| 中文字幕久久专区| 九九久久精品国产亚洲av麻豆| 国产精品一二三区在线看| 熟女电影av网| 免费搜索国产男女视频| 少妇熟女aⅴ在线视频| 97在线视频观看| 最近最新中文字幕大全电影3| 亚洲成人精品中文字幕电影| 久久久国产成人免费| 人人妻人人澡人人爽人人夜夜 | 69人妻影院| 赤兔流量卡办理| 在线免费观看的www视频| 午夜福利成人在线免费观看| 国产亚洲5aaaaa淫片| 在现免费观看毛片| 国产精品久久久久久久电影| 日日摸夜夜添夜夜爱| 欧美高清成人免费视频www| 国产一区亚洲一区在线观看| 国产精品永久免费网站| 久久精品久久久久久噜噜老黄 | 中文欧美无线码| 国产人妻一区二区三区在| .国产精品久久| 搡老妇女老女人老熟妇| 高清视频免费观看一区二区 | 大香蕉97超碰在线| 亚洲中文字幕日韩| 97热精品久久久久久| 麻豆成人av视频| www.色视频.com| 国产精品久久视频播放| 老女人水多毛片| 欧美三级亚洲精品| 久久久久久大精品| 亚洲欧美精品综合久久99| 99久久无色码亚洲精品果冻| 国产精品.久久久| 中文字幕av在线有码专区| 国产综合懂色| 三级经典国产精品| 男人舔奶头视频| 国语对白做爰xxxⅹ性视频网站| 亚洲欧美日韩高清专用| 蜜桃久久精品国产亚洲av| 日韩视频在线欧美| 日日摸夜夜添夜夜添av毛片| 国产毛片a区久久久久| 久久亚洲国产成人精品v| 一个人看视频在线观看www免费| 亚洲,欧美,日韩| 国产毛片a区久久久久| 亚洲av二区三区四区| 91久久精品电影网| 精品久久久久久久久亚洲| 高清日韩中文字幕在线| 亚洲国产欧美人成| 色播亚洲综合网| 久久久国产成人免费| 国产精品伦人一区二区| 联通29元200g的流量卡| 麻豆成人av视频| www.av在线官网国产| 日本免费在线观看一区| 成年女人看的毛片在线观看| 亚洲精品乱码久久久久久按摩| 精品人妻视频免费看| 搡女人真爽免费视频火全软件| 国产成人免费观看mmmm| 男女国产视频网站| 毛片一级片免费看久久久久| 国产亚洲av嫩草精品影院| 国产乱来视频区| 国产在线一区二区三区精 | 久久久久久久久久成人| 国产黄片美女视频| 2022亚洲国产成人精品| 丰满人妻一区二区三区视频av| 国产精品女同一区二区软件| 午夜免费激情av| 国产美女午夜福利| 国产精品久久久久久久久免| 直男gayav资源| 欧美日本视频| 亚洲中文字幕日韩| av在线观看视频网站免费| 精华霜和精华液先用哪个| 99久久中文字幕三级久久日本| 亚洲av成人精品一二三区| 国产精品一区二区三区四区久久| 久久久久久大精品| 国产黄色小视频在线观看| 午夜老司机福利剧场| 精品无人区乱码1区二区| 老师上课跳d突然被开到最大视频| 亚洲欧美成人精品一区二区| 99久久九九国产精品国产免费| 只有这里有精品99| 国产男人的电影天堂91| 91在线精品国自产拍蜜月| 1024手机看黄色片| 国产91av在线免费观看| 欧美97在线视频| 亚洲最大成人中文| 国产乱人视频| 精品人妻视频免费看| 国产精品一区二区三区四区久久| 免费看美女性在线毛片视频| 亚洲国产最新在线播放| 简卡轻食公司| 免费看日本二区| 男女那种视频在线观看| 国产午夜精品论理片| 亚洲中文字幕日韩| 免费观看a级毛片全部| 有码 亚洲区| 日本爱情动作片www.在线观看| 在现免费观看毛片| 欧美极品一区二区三区四区| 波多野结衣巨乳人妻| 国产精品一区二区三区四区免费观看| 精品人妻偷拍中文字幕| 日韩制服骚丝袜av| 青青草视频在线视频观看| 精品欧美国产一区二区三| 久久人人爽人人片av| 欧美成人精品欧美一级黄| 国产精品野战在线观看| 日本熟妇午夜| 久久久久久久久久久免费av| 国产精品一区二区性色av| 国产一区二区三区av在线| 精品午夜福利在线看| 女人十人毛片免费观看3o分钟| 亚洲四区av| 精品久久久久久久久久久久久| 欧美激情国产日韩精品一区| 中文亚洲av片在线观看爽| 亚洲精品成人久久久久久| 国产av不卡久久| 搡老妇女老女人老熟妇| 国产精品美女特级片免费视频播放器| av线在线观看网站| 亚洲在久久综合| 亚洲精品aⅴ在线观看| 亚洲av.av天堂| 亚洲精品乱码久久久v下载方式| 欧美变态另类bdsm刘玥| 精品国产露脸久久av麻豆 | 青春草国产在线视频| 91精品一卡2卡3卡4卡| 麻豆久久精品国产亚洲av| 国产高清有码在线观看视频| 成人美女网站在线观看视频| 久久久午夜欧美精品| a级毛片免费高清观看在线播放| 乱系列少妇在线播放| 99热这里只有是精品50| 欧美日韩一区二区视频在线观看视频在线 | 久久人人爽人人片av| 国产精品电影一区二区三区| 精品国产露脸久久av麻豆 | 一个人看视频在线观看www免费| 国产精品无大码| 亚洲av熟女| 尤物成人国产欧美一区二区三区| 永久网站在线| 国产精品三级大全| 成年免费大片在线观看| 一个人看的www免费观看视频| 美女国产视频在线观看| 1024手机看黄色片| 国产午夜精品论理片| av又黄又爽大尺度在线免费看 | 天美传媒精品一区二区| 亚洲人成网站在线播| 国产白丝娇喘喷水9色精品| 亚洲av成人精品一二三区| 国产亚洲av嫩草精品影院| 国产欧美日韩精品一区二区| 欧美日本亚洲视频在线播放| 精品免费久久久久久久清纯| 亚洲欧美一区二区三区国产| 国产探花在线观看一区二区| av在线蜜桃| 精品久久国产蜜桃| 国产在视频线精品| 中文字幕免费在线视频6| 亚洲成色77777| 日日撸夜夜添| 两个人视频免费观看高清| 中文字幕精品亚洲无线码一区| 国产日韩欧美在线精品| 国语自产精品视频在线第100页| 美女大奶头视频| 国产视频首页在线观看| 亚洲欧美中文字幕日韩二区| 天堂av国产一区二区熟女人妻| 自拍偷自拍亚洲精品老妇| 一区二区三区四区激情视频| 国产亚洲av片在线观看秒播厂 | 在线播放无遮挡| 日本wwww免费看| 男人和女人高潮做爰伦理| 午夜精品一区二区三区免费看| 国产女主播在线喷水免费视频网站 | 欧美+日韩+精品| 国产成人91sexporn| 人妻系列 视频| 少妇高潮的动态图| 亚洲国产欧洲综合997久久,| 欧美成人免费av一区二区三区| 国产成人精品久久久久久| 超碰av人人做人人爽久久| 国产色婷婷99| 亚洲自拍偷在线| 亚洲欧美清纯卡通| 久久久久久久久久成人| 免费电影在线观看免费观看| 国产精品国产三级国产专区5o | 美女xxoo啪啪120秒动态图| 国产精品永久免费网站| 天天躁夜夜躁狠狠久久av| 69av精品久久久久久| 麻豆一二三区av精品| 婷婷六月久久综合丁香| 少妇人妻精品综合一区二区| 夫妻性生交免费视频一级片| 99久久中文字幕三级久久日本| 一级黄片播放器| 欧美不卡视频在线免费观看| 亚洲av福利一区| 久久久久性生活片| 亚洲成人av在线免费| 舔av片在线| 十八禁国产超污无遮挡网站| 蜜臀久久99精品久久宅男| 少妇猛男粗大的猛烈进出视频 | 日韩精品有码人妻一区| 国产成人aa在线观看| 亚洲av二区三区四区| 久久久精品欧美日韩精品| 国产成人a区在线观看| 少妇丰满av| 在线免费观看不下载黄p国产| 亚洲成人av在线免费| 一个人免费在线观看电影| 免费人成在线观看视频色| 亚洲av免费在线观看| 亚洲国产精品国产精品| 深夜a级毛片| 国产乱来视频区| 成人毛片a级毛片在线播放| 国语对白做爰xxxⅹ性视频网站| 欧美不卡视频在线免费观看| 国产黄片视频在线免费观看| 国产亚洲精品av在线| 淫秽高清视频在线观看| 99热这里只有是精品在线观看| 女人久久www免费人成看片 | 成人综合一区亚洲| 亚洲av成人av| av在线老鸭窝| 搡女人真爽免费视频火全软件| 99久国产av精品| 国产真实伦视频高清在线观看| 非洲黑人性xxxx精品又粗又长| 1000部很黄的大片| 18禁裸乳无遮挡免费网站照片| 黄色一级大片看看| 观看美女的网站| 久久久久国产网址| av在线播放精品| 波多野结衣巨乳人妻| 成年女人永久免费观看视频| 可以在线观看毛片的网站| 最近最新中文字幕免费大全7| 久久精品国产亚洲av天美| 91久久精品国产一区二区三区| 国产午夜精品久久久久久一区二区三区| 久久久久性生活片| 日韩欧美三级三区| 成人亚洲精品av一区二区| 少妇人妻一区二区三区视频| 秋霞在线观看毛片| 久久精品人妻少妇| 好男人在线观看高清免费视频| 在线a可以看的网站| 最近中文字幕高清免费大全6| 日日摸夜夜添夜夜添av毛片| 99在线人妻在线中文字幕| 国产精品电影一区二区三区| 国产精品一区二区三区四区久久| 亚洲国产精品久久男人天堂| 精品久久久久久久久亚洲| 久久99热6这里只有精品| 久久欧美精品欧美久久欧美| 亚洲欧美一区二区三区国产| 在线观看av片永久免费下载| 欧美xxxx性猛交bbbb| 国产乱人视频| 一级黄片播放器| 亚洲欧美精品专区久久| 中文字幕制服av| 精品久久久久久电影网 | 熟妇人妻久久中文字幕3abv| 青青草视频在线视频观看| 久久鲁丝午夜福利片| 美女内射精品一级片tv| 人人妻人人澡人人爽人人夜夜 | 亚洲成人中文字幕在线播放| 啦啦啦啦在线视频资源| 黄片无遮挡物在线观看| 一级av片app| 日本午夜av视频| 午夜精品国产一区二区电影 | 日韩一本色道免费dvd| 亚洲欧美中文字幕日韩二区| ponron亚洲| 三级毛片av免费| 国产三级中文精品| 国产乱来视频区| 看非洲黑人一级黄片| 亚洲国产精品国产精品| 97超视频在线观看视频| 高清午夜精品一区二区三区| 久久久久久久久大av| 中文字幕免费在线视频6| 久久精品国产自在天天线| 久久精品国产亚洲av天美| 亚洲美女视频黄频| 久久久久久久久久久丰满| 五月伊人婷婷丁香| 18禁动态无遮挡网站| 久久精品久久久久久噜噜老黄 | 大话2 男鬼变身卡| 1024手机看黄色片| 三级国产精品欧美在线观看| 国产精品熟女久久久久浪| 网址你懂的国产日韩在线| 国产成人a∨麻豆精品| 色综合色国产| 亚洲精品影视一区二区三区av| www.av在线官网国产| 99久久无色码亚洲精品果冻| 国产白丝娇喘喷水9色精品| 亚洲va在线va天堂va国产|