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

    基于代碼模式的軟件問答文檔檢索優(yōu)化方法*

    2017-10-12 03:40:10華晨彥鄒艷珍朱子驍
    計(jì)算機(jī)與生活 2017年10期
    關(guān)鍵詞:子圖開發(fā)人員數(shù)據(jù)流

    華晨彥,鄒艷珍+,朱子驍,謝 冰

    1.北京大學(xué) 信息科學(xué)技術(shù)學(xué)院,北京 100871

    2.高可信軟件技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,北京 100871

    3.北京大學(xué)(天津?yàn)I海)新一代信息技術(shù)研究院,天津 300450

    基于代碼模式的軟件問答文檔檢索優(yōu)化方法*

    華晨彥1,2,3,鄒艷珍1,2,3+,朱子驍1,2,3,謝 冰1,2,3

    1.北京大學(xué) 信息科學(xué)技術(shù)學(xué)院,北京 100871

    2.高可信軟件技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,北京 100871

    3.北京大學(xué)(天津?yàn)I海)新一代信息技術(shù)研究院,天津 300450

    Abstract:Developers often need to search related software Q&A documents in Q&A website.In the search results,the Q&A documents which contain good code snippets(usage examples)are preferred.However,how to metric those code snippets in document is still a big challenge.To address this issue,this paper proposes an approach for refining software Q&A document search results based on code pattern.Firstly,code snippets are extracted from each document in the search results.Then,the common code patterns are mined and used to measure the quality of those code snippets.Finally,the documents with high quality are recommended and ranked at the top of the search results.In the experiments,this paper carries out some evaluations with 10 real problems that software developers meet in practice.Compared to the search results of StackOverflow,the proposed approach has an increment of 40%atNDCG@5.

    Key words:code pattern;software Q&Adocument;document search

    開發(fā)人員通常通過問答網(wǎng)站的搜索引擎進(jìn)行相關(guān)軟件問答文檔的搜索。在檢索結(jié)果中,包含優(yōu)質(zhì)代碼片段(使用示例)的問答文檔往往更受青睞,但如何度量這些文檔中代碼片段的質(zhì)量仍是個(gè)巨大的挑戰(zhàn)。針對這個(gè)問題,提出了一種基于代碼模式的軟件問答文檔檢索優(yōu)化方法。該方法能夠基于當(dāng)前檢索結(jié)果,抽取文檔中的代碼片段,分析代碼片段中的公共代碼模式,并基于代碼模式度量文檔中代碼片段的質(zhì)量,從原有檢索結(jié)果中向用戶推薦高質(zhì)量的軟件問答文檔。以軟件開發(fā)人員在實(shí)踐過程中遇到的真實(shí)問題為基礎(chǔ)進(jìn)行了實(shí)驗(yàn),對比StackOverflow的搜索結(jié)果,所提方法在準(zhǔn)確率指標(biāo)NDCG@5上提升了40%。

    代碼模式;軟件問答文檔;文檔檢索

    1 引言

    近年來,各類技術(shù)性問答網(wǎng)站(如StackOverflow等)受到了開發(fā)者們的喜愛,這些問答網(wǎng)站上產(chǎn)生了大量的軟件問答文檔。如何檢索和利用這些軟件問答文檔成為軟件復(fù)用領(lǐng)域一個(gè)非常重要的研究問題。

    很多研究者針對軟件問答文檔檢索問題進(jìn)行了研究[1-2],主要關(guān)注點(diǎn)是對檢索結(jié)果進(jìn)行優(yōu)化和重排序[3]。例如,Atwood[4]使用StackOverflow的基于軟件問答文檔元數(shù)據(jù)的檢索結(jié)果排序方法。該方法通過軟件問答文檔的閱讀量、回答數(shù)量、贊同數(shù)量等指標(biāo)綜合計(jì)算每篇文檔的得分,按得分的高低對檢索結(jié)果進(jìn)行排序。Ponzanelli等人[5]設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)Eclipse插件PROMPTER。PROMPTER以代碼片段作為查詢的輸入,考慮了文本相似度(使用tf-idf)、代碼相似度(代碼克?。?、API(application programming interface)類型相似度、API方法相似度等參數(shù),加權(quán)平均決定軟件問答文檔的最終得分。Williams等人[6]提出了基于遞歸偽相關(guān)反饋策略的相似文檔檢索方法。對于給定查詢的結(jié)果列表R,對R的前k篇文檔遞歸進(jìn)行檢索,通過遞歸檢索的結(jié)果反饋評價(jià)原始結(jié)果,從而優(yōu)化檢索結(jié)果。Cha等人[7]提出了基于主題模型的文檔檢索優(yōu)化方法,使用LDA(latent Dirichlet allocation)主題模型給每篇文檔計(jì)算一個(gè)主題分布,根據(jù)查詢與每個(gè)主題的相關(guān)程度確定文檔在檢索結(jié)果中的排名位置。Zou等人[8]提出的面向軟件的文本檢索方法將問題分為6種類別,依據(jù)檢索問題與檢索結(jié)果是否屬于同一類別對檢索結(jié)果進(jìn)行重排序。

    從這些工作可以看出,如何挑選或推薦高質(zhì)量的檢索結(jié)果是當(dāng)前軟件問答文檔檢索優(yōu)化的主要目標(biāo)。本文在調(diào)研中發(fā)現(xiàn),軟件問答文檔中包含大量的代碼示例片段,包含代碼片段的問答文檔質(zhì)量較高,可以更好地幫助開發(fā)者了解或解決遇到的問題。但是由于不同文檔討論不同的問題,其針對的開發(fā)任務(wù)不同,并且問答文檔由不同的人編寫,其編碼的語言、風(fēng)格也大不相同,如何度量檢索結(jié)果文檔中代碼片段的質(zhì)量以及如何進(jìn)行檢索結(jié)果重排序仍是個(gè)巨大的挑戰(zhàn)。

    為此,本文提出了一種基于代碼模式的軟件問答文檔檢索優(yōu)化方法。該方法從解決相同/相似開發(fā)任務(wù)的軟件問答文檔的代碼片段中,抽取公共的代碼模式,通過代碼模式度量代碼片段和軟件問答文檔的質(zhì)量,由此通過檢索結(jié)果重排序向用戶推薦高質(zhì)量的軟件問答文檔。

    與現(xiàn)有工作相比,本文的主要貢獻(xiàn)包括:

    (1)定義了一種面向開發(fā)任務(wù)的軟件代碼使用模式,并提出了基于數(shù)據(jù)流圖的代碼模式挖掘方法。

    (2)提出了一種基于代碼模式的軟件問答文檔檢索優(yōu)化方法。通過代碼模式度量代碼片段和軟件問答文檔的質(zhì)量,給每篇問答文檔一個(gè)評分,并結(jié)合該文檔在原有檢索結(jié)果中的排序進(jìn)行檢索優(yōu)化。

    (3)實(shí)現(xiàn)并開源了一個(gè)基于代碼模式的軟件問答文檔推薦工具。以10個(gè)軟件開發(fā)人員在實(shí)踐過程中遇到的真實(shí)問題為基礎(chǔ)進(jìn)行了實(shí)驗(yàn),對比了Stack-Overflow的搜索結(jié)果,本文工作在準(zhǔn)確率指標(biāo)NDCG@5上提升了約40%。

    本文組織結(jié)構(gòu)如下:第2章介紹了代碼模式的定義和作用;第3章詳細(xì)討論了基于代碼模式的軟件問答文檔檢索優(yōu)化方法;第4章通過實(shí)驗(yàn)驗(yàn)證了方法的有效性;第5章對本文工作進(jìn)行了總結(jié)。

    2 代碼模式

    一般來說,軟件問答文檔的來源可分為兩類:軟件項(xiàng)目官網(wǎng)與技術(shù)性問答網(wǎng)站。軟件項(xiàng)目官網(wǎng)的軟件問答文檔由軟件項(xiàng)目的開發(fā)人員撰寫,準(zhǔn)確度高,結(jié)構(gòu)簡單,通常采用一問一答的形式,但數(shù)量少,覆蓋面狹窄;技術(shù)性問答網(wǎng)站的軟件問答文檔數(shù)量巨大,且為大量開發(fā)人員在實(shí)踐過程中總結(jié)出的經(jīng)驗(yàn)教訓(xùn),覆蓋面廣,實(shí)用性高。在這兩類問答文檔中,為了更好地幫助提問者理解回答或解決問題,回答者一般都會在答案中附上相應(yīng)的代碼片段。研究表明,在StackOverflow上的軟件問答文檔中,包含代碼片段的文檔數(shù)量約占總文檔數(shù)量的50%!這些代碼片段可能是回答者針對這一問題給出的,或是其曾經(jīng)開發(fā)過的項(xiàng)目中與該問題相關(guān)的代碼片段。

    在討論相同/相似問題的軟件問答文檔中,代碼片段(使用示例)往往調(diào)用相同的API方法,或包含一些共同的語句、方法調(diào)用、控制結(jié)構(gòu),本文將這些共性稱為開發(fā)任務(wù)的代碼模式(code pattern)。對于簡單的開發(fā)任務(wù),這些API可能為單個(gè)對象的若干方法順序執(zhí)行,然而對于復(fù)雜的任務(wù),便會涉及多個(gè)對象互相交互,還可能包含復(fù)雜的控制結(jié)構(gòu)。圖1展示了兩個(gè)StackOverflow文檔體現(xiàn)的代碼模式(加粗高亮表示的部分)。該模式是使用JDK的Scanner讀取文件的常用模式。

    在問答文檔檢索過程中,這些面向開發(fā)任務(wù)的代碼模式將帶來如下益處:(1)可以度量文檔中代碼片段的質(zhì)量,過濾不完整或不準(zhǔn)確的示例代碼;(2)可以解決文檔檢索中的模糊性問題,如提問者對問題的理解存在偏差,提問者的問題過于特化等情況。在圖1包含代碼模式的兩篇文檔中,其中文檔1[9]的開發(fā)任務(wù)是輸出給定文件中所有符合特定條件的行,文檔2[10]的開發(fā)任務(wù)是讀取csv格式的文件。通過代碼模式的抽取,用戶在檢索“Scanner read file”時(shí)也可以定位到它們。

    Fig.1 Code pattern of reading file using“Scanner”圖1 使用Scanner讀取文件的代碼模式

    3 基于代碼模式的軟件問答文檔檢索優(yōu)化方法

    本文提出了一種基于代碼模式的軟件問答文檔檢索優(yōu)化方法。如圖2所示,該方法主要分為三部分:

    Fig.2 Framework of refining software Q&Adocument search results based on code pattern圖2 基于代碼模式的軟件問答文檔檢索優(yōu)化方法框架

    (1)檢索結(jié)果的獲取與解析。根據(jù)用戶的查詢獲取與查詢相關(guān)的軟件問答文檔,并解析出其中的代碼片段。

    (2)代碼模式的抽取。將代碼片段轉(zhuǎn)換為數(shù)據(jù)流圖,通過頻繁子圖挖掘算法,在這些數(shù)據(jù)流圖中挖掘出代碼模式。

    (3)檢索結(jié)果的優(yōu)化。通過代碼模式給每一篇軟件問答文檔一個(gè)評分,將所有的軟件問答文檔按評分高低重排序,推薦給用戶。

    3.1 檢索結(jié)果的獲取與解析

    本文的軟件問答文檔數(shù)據(jù)來源于StackOverflow,根據(jù)用戶的查詢,使用StackOverflow的搜索API進(jìn)行在線搜索,并將結(jié)果下載至本地,便于后續(xù)的解析與處理。StackOverflow的軟件問答文檔為HTML格式。HTML使用標(biāo)簽表明文檔的內(nèi)容,依據(jù)嵌套關(guān)系表明文檔的層次結(jié)構(gòu),通過特定的標(biāo)簽即可解析出文檔中的代碼片段。

    3.2 代碼模式的抽取

    本文使用數(shù)據(jù)流圖(data flow graph)表示代碼模式。使用數(shù)據(jù)流圖存在以下兩個(gè)優(yōu)點(diǎn):一是在面向?qū)ο笳Z言開發(fā)過程中,開發(fā)者常常遇到多個(gè)對象需要互相協(xié)作的場景[11],使用數(shù)據(jù)流圖可以有效地梳理這種交織關(guān)系;二是開發(fā)者對代碼元素的命名有著各自的喜好,而代碼元素的命名不會影響代碼實(shí)現(xiàn)的功能。數(shù)據(jù)流圖只關(guān)心每條語句的輸入來源與輸出去向,可以有效地過濾代碼元素命名帶來的干擾。

    建立數(shù)據(jù)流圖需要變量的定值-使用關(guān)系,該信息可以通過靜態(tài)單賦值形式的控制流圖獲得。然而Java語法復(fù)雜,抽象語法樹的結(jié)點(diǎn)類型較多,難以直接轉(zhuǎn)換為控制流圖,并且不同開發(fā)人員實(shí)現(xiàn)相同功能的代碼可能使用了不同的語法,存在偏好差異,導(dǎo)致生成了不同的數(shù)據(jù)流圖,最終無法抽取出代碼模式。為此,需要先將Java語言的代碼片段通過中間代碼表示,再進(jìn)行后續(xù)操作。

    (1)解析代碼片段。在前文中提到不同開發(fā)人員在代碼編寫過程中存在偏好差異,本文通過解析代碼片段,并使用中間代碼表示(intermediate representation,IR)的方式消除這些差異。

    現(xiàn)有Java語言的中間代碼生成工具只能應(yīng)用于完整的Java項(xiàng)目,無法處理代碼片段。因此,本文設(shè)計(jì)與實(shí)現(xiàn)了一個(gè)Java語言的中間代碼生成工具。IR的設(shè)計(jì)主要有兩點(diǎn):一是能與原語法相對應(yīng);二是便于進(jìn)一步處理。在本文的IR設(shè)計(jì)中,產(chǎn)生式主要分為塊級與語句級兩個(gè)層次。塊級產(chǎn)生式對應(yīng)于控制流圖中的基本塊,便于轉(zhuǎn)換為控制流圖;語句級產(chǎn)生式對應(yīng)于一條語句,也是數(shù)據(jù)流圖的結(jié)點(diǎn)。語句級產(chǎn)生式均為變量賦值的形式,便于定值-使用分析。

    (2)轉(zhuǎn)換數(shù)據(jù)流圖。本文使用靜態(tài)單賦值形式(static single form,SSA)的控制流圖來獲取與建立數(shù)據(jù)流圖所需要的變量定值-使用關(guān)系。

    從中間代碼表示轉(zhuǎn)換至流圖只需要針對控制流語句在相應(yīng)結(jié)點(diǎn)之間添加邊即可。

    將控制流圖轉(zhuǎn)換為SSA形式的關(guān)鍵就是對每個(gè)變量的定值添加版本號,在其支配邊界處添加φ函數(shù),并相應(yīng)地更新所有使用的版本號。計(jì)算支配邊界先使用Lengauer-Tarjan算法[12]計(jì)算出直接支配結(jié)點(diǎn),再通過直接支配結(jié)點(diǎn)計(jì)算支配邊界[13]。

    將靜態(tài)單賦值形式的流圖轉(zhuǎn)換成數(shù)據(jù)流圖只需要對應(yīng)每一個(gè)變量的定值結(jié)點(diǎn)、連邊至其所有的使用即可。

    (3)挖掘代碼模式。本文將代碼模式表示為數(shù)據(jù)流圖后,該問題便可轉(zhuǎn)換為頻繁子圖挖掘問題。

    頻繁子圖挖掘(frequent subgraph mining)[14]是數(shù)據(jù)挖掘領(lǐng)域的熱門問題之一,基于頻繁子圖挖掘可以發(fā)現(xiàn)大量圖數(shù)據(jù)中的公共模式。簡單地說,給定一個(gè)圖,頻繁子圖挖掘的目的就是找出其中出現(xiàn)最頻繁的子圖。頻繁子圖挖掘的常見應(yīng)用場景包括化合物結(jié)構(gòu)、社交網(wǎng)絡(luò)等。給定圖的集合S={G1=(V1,E1),G2=(V2,E2),…,Gn=(Vn,En)},頻繁子圖挖掘的完整定義如下。

    定義1(圖的大?。┤我饨o定一個(gè)圖G=(V,E),稱G的大小為|V|,記為size(G)。

    定義2(子圖)如果?Gi=(Vi,Ei),Gj=(Vj,Ej),Vi?Vj,Ei?Ej,則稱Gi包含于Gj,或Gi是Gj的子圖,記為Gi?Gj。

    定義3(支持度)任意給定一個(gè)圖G,稱G的支持度為|{g|g∈S且G是g的子圖}|,記為support(G)。

    定義4(頻繁子圖)圖的集合S的所有頻繁子圖為{g|size(g)≥fsize且support(g)≥fsupport},其中fsize和fsupport是事先給定的閾值。

    gSpan算法[15]是一種基于模式增長的頻繁子圖挖掘算法。其核心思想是對圖進(jìn)行dfs編碼和最右擴(kuò)展,通過最小dfs編碼判斷同構(gòu)。由頻繁子圖的定義可知,若圖G1是頻繁子圖,G2?G1,那么G2也是頻繁子圖。然而對于代碼模式而言,G2的代表性嚴(yán)格劣于G1,因此本文刪除了這些冗余的結(jié)果。

    3.3 檢索結(jié)果的優(yōu)化

    軟件問答文檔中代碼片段包含的代碼模式數(shù)量越多,該文檔越具有代表性。然而代碼片段的長度會影響其包含的代碼模式數(shù)量。因此本文提出了兩個(gè)評價(jià)軟件問答文檔質(zhì)量的方法。

    (1)依據(jù)每篇軟件問答文檔被接受的答案中的代碼片段包含的代碼模式數(shù)量作為評分依據(jù)。使用公式表述為:

    (2)依據(jù)每篇軟件問答文檔被接受的答案中代碼片段數(shù)據(jù)流圖中屬于代碼模式的結(jié)點(diǎn)數(shù)量與總結(jié)點(diǎn)數(shù)量的比值作為評分依據(jù)。使用公式表述為:

    其中,codes(doc)表示文檔doc中的代碼片段集合;ddg(c)表示代碼片段c的控制流圖;patterns為挖掘出的代碼模式集合。

    最終的推薦結(jié)果依據(jù)文檔的評分,評分越高的文檔,排序越靠前。

    4 實(shí)驗(yàn)與案例研究

    基于上述工作,本文設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)軟件問答文檔推薦工具。該工具目前已經(jīng)在github上進(jìn)行開源(https://github.com/woooking/qa_sorting)。下面將以軟件開發(fā)人員遇到的實(shí)際問題為例,說明推薦方法的實(shí)現(xiàn)過程和效果。

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

    為了檢驗(yàn)本文工作,收集了10個(gè)軟件人員在開發(fā)過程中遇到的問題。表1描述了這10個(gè)問題對應(yīng)的開發(fā)任務(wù)及其在StackOverflow檢索時(shí)輸入的查詢條件。譬如,第一行描述了某軟件開發(fā)人員現(xiàn)有一個(gè)開發(fā)任務(wù)是完成某個(gè)網(wǎng)絡(luò)游戲的后臺。經(jīng)過團(tuán)隊(duì)協(xié)商決定使用TCP協(xié)議進(jìn)行網(wǎng)絡(luò)傳輸,但是他并不知道如何創(chuàng)建一個(gè)TCP服務(wù)器。因此,使用“create tcp server”作為查詢條件在StackOverflow上進(jìn)行檢索,希望得到與創(chuàng)建TCP服務(wù)器相關(guān)的問答文檔。

    Table 1 Queries used in experiment表1 實(shí)驗(yàn)所用查詢

    對于每個(gè)查詢,本文從StackOverflow上獲取文本相關(guān)性排名前10的軟件問答文檔。將這些文檔打亂順序交由提出查詢的軟件開發(fā)人員為這些文檔打分,分?jǐn)?shù)范圍是1~5分,評分依據(jù)為該文檔是否可以解決軟件開發(fā)人員的問題。

    4.2 案例研究

    任務(wù)1在StackOverflow上的檢索結(jié)果如表2(左側(cè))所示??梢钥吹?,檢索結(jié)果中排名第一位的文檔評分只有1分;前3個(gè)檢索結(jié)果中只有一個(gè)文檔的評分為5分;而前5個(gè)檢索結(jié)果中也只有一個(gè)文檔的評分為5分。這樣的檢索結(jié)果將耗費(fèi)用戶大量的時(shí)間用于文檔瀏覽,降低用戶的檢索體驗(yàn)。

    基于上述檢索結(jié)果,本文從排名前10的包含被接受答案與代碼片段的文檔中總共提取出20段代碼片段。解析這20段代碼片段,并將其轉(zhuǎn)換為數(shù)據(jù)流圖。在這20個(gè)數(shù)據(jù)流圖中進(jìn)行頻繁子圖挖掘,挖掘算法中的閾值fsize和fsupport均設(shè)為3,總共挖掘出3個(gè)代碼模式。圖3展示了其中的一個(gè)代碼模式。

    Fig.3 Acode pattern example of“create tcp server”圖3 create tcp server的代碼模式

    依據(jù)代碼模式,本文對每一篇問答文檔中的代碼片段進(jìn)行評分,評分依據(jù)為文檔中代碼片段包含的代碼模式的數(shù)量。由此對檢索結(jié)果進(jìn)行重排序,推薦結(jié)果如表2(右側(cè))所示。可以看到,檢索結(jié)果中排名前4的文檔都為5分,排名第5的文檔也有4分。這樣的檢索結(jié)果可以幫助用戶準(zhǔn)確快速地定位至高質(zhì)量的軟件問答文檔。通過對比可以發(fā)現(xiàn),本文推薦方法可以有效地幫助軟件開發(fā)人員解決問題。

    4.3 對比實(shí)驗(yàn)

    為了更好地驗(yàn)證本文工作,對上述10組檢驗(yàn)結(jié)果分別進(jìn)行了分析。為了評價(jià)推薦結(jié)果的好壞,本文選取了信息檢索中常用的指標(biāo)之一NDCG@k[16]。該指標(biāo)的計(jì)算公式如下:

    其中,r(i)表示排在結(jié)果第i位的項(xiàng)與查詢的相關(guān)程度,r(i)越高,相關(guān)程度越大。在本文中相關(guān)程度共分為5級,最高為4,最低為0;Nk是歸一化參數(shù),它使得在最佳排序(即r(i)為降序)時(shí),NDCG@k的值為1。

    本文選取NDCG@k作為評價(jià)指標(biāo)的理由為:

    (1)軟件開發(fā)人員只有閱讀高質(zhì)量的文檔才能解決開發(fā)問題,因此在評價(jià)指標(biāo)中需要體現(xiàn)出高質(zhì)量的文檔比低質(zhì)量的文檔對結(jié)果的影響性更大。在NDCG@k的公式中,指數(shù)位的r(i)體現(xiàn)了這一點(diǎn)。

    (2)高質(zhì)量文檔在推薦結(jié)果中的位置十分重要。在NDCG@k的公式中,體現(xiàn)了這一點(diǎn),結(jié)果越靠后的文檔被開發(fā)者閱讀的幾率越低,對排序結(jié)果的影響也就越低。

    在實(shí)驗(yàn)過程中,本文對比了4種問答文檔檢索/推薦方法。

    (1)StackOverflow:該站點(diǎn)的原始搜索結(jié)果。

    (2)pattern_ratio:依據(jù)代碼模式結(jié)點(diǎn)數(shù)與代碼片段結(jié)點(diǎn)數(shù)的比例評價(jià)文檔質(zhì)量。

    (3)pattern_count:依據(jù)代碼片段包含的代碼模式數(shù)量評價(jià)文檔質(zhì)量的評分。

    (4)replace:僅對包含被接受答案與代碼片段的文檔使用pattern_count方式評分,其余文檔的位置保持不變。

    實(shí)驗(yàn)結(jié)果如圖4所示。對比上述4種方法的結(jié)果可以發(fā)現(xiàn):整體而言,pattern_count方法的效果最佳。相比于StackOverflow的原始結(jié)果,pattern_count方法在NDCG@1(只看第一名)上從60.8%提升至83.3%,在NDCG@5(第一名到第五名)上從52.8%提升至75.1%,提升幅度為40%左右。pattern_ratio的效果略遜色于pattern_count。經(jīng)過分析發(fā)現(xiàn),回答者在回答問題時(shí)給出的代碼片段往往來源于其曾經(jīng)寫過的某個(gè)項(xiàng)目,因此會包含一些冗余代碼,這些代碼無法構(gòu)成代碼模式,但也不會影響文檔的質(zhì)量。而pattern_ratio依據(jù)代碼模式結(jié)點(diǎn)數(shù)與代碼片段結(jié)點(diǎn)數(shù)的比例評價(jià)文檔質(zhì)量,因此會降低此類文檔的評分。

    Fig.4 Result of experiment圖4 實(shí)驗(yàn)結(jié)果

    因?yàn)楸疚奶岢龅能浖柎鹞臋n檢索優(yōu)化方法基于軟件問答文檔中的代碼片段,所以最終的推薦結(jié)果只包含代碼片段。為了驗(yàn)證本文方法獲得的效果提升不僅僅是因?yàn)橥扑]了包含代碼片段的文檔,可以對比replace和StackOverflow兩種方法。replace與StackOverflow的文檔排序區(qū)別僅在于包含代碼片段的文檔,在結(jié)果中,replace比StackOverflow在k=1至5時(shí)均有提升,因此可以證明本文方法獲得的效果提升不僅僅是因?yàn)橥扑]了包含代碼片段的文檔,而是基于代碼模式的軟件問答文檔度量方法的確有效。

    5 總結(jié)

    為了在檢索過程中幫助用戶更快地找到包含優(yōu)質(zhì)示例代碼的相關(guān)文檔,本文提出了一種基于代碼模式的軟件問答文檔推薦方法,并以10個(gè)開發(fā)人員實(shí)際遇到的問題為基礎(chǔ)進(jìn)行了實(shí)驗(yàn),驗(yàn)證了本文方法的有效性。在未來工作中,將考慮加入更多來源、類型的軟件文檔數(shù)據(jù),以提升本文方法的適用性;進(jìn)一步改進(jìn)代碼模式挖掘方法,使得檢索系統(tǒng)能更快、更準(zhǔn)確地理解軟件問答文檔中的代碼片段。

    [1]Wang Xiaoling,Wen Jirong,Luan Jinfeng,et al.A method to query document database by content and structure[J].Journal of Software,2003,14(5):976-983.

    [2]Ye Ting,Xie Bing,Zou Yanzhen,et al.Interrogative-guided re-ranking for question-oriented software text retrieval[C]//Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering,Vasteras,Sweden,Sep 15-19,2014.New York:ACM,2014:215-220.

    [3]Huang Zhenhua,Zhang Jiawen,Tian Chunqi,et al.Survey on learning-to-rank based recommendation algorithms[J].Journal of Software,2016,27(3):691-713.

    [4]Atwood J.What formula should be used to determine“hot”questions?[EB/OL].(2008)[2016-07-18].http://meta.stackexchange.com/questions/11602/what-formula-should-beused-to-determine-hot-questions.

    [5]Ponzanelli L,Bavota G,Di Penta M,et al.Mining Stack-Overflow to turn the IDE into a self-confident programming prompter[C]//Proceedings of the 11th Working Conference on Mining Software Repositories,Hyderabad,India,May 31-Jun 1,2014.New York:ACM,2014:102-111.

    [6]Williams K,Giles C L.Improving similar document retrieval using a recursive pseudo relevance feedback strategy[C]//Proceedings of the 16th ACM/IEEE-CS on Joint Conference on Digital Libraries,Newark,USA,Jun 19-23,2016.New York:ACM,2016:275-276.

    [7]Cha M S,Kim S Y,Ha J H,et al.Topic model based approach for improved indexing in content based document retrieval[J].International Journal of Networked and Distributed Computing,2016,4(1):55-64.

    [8]Zou Yanzhen,Ye Ting,Lu Yangyang,et al.Learning to rank for question oriented software text retrieval(T)[C]//Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering,Lincoln,USA,Nov 9-13,2015.Washington:IEEE Computer Society,2015:1-11.

    [9]Java scanner class help[EB/OL].(2011)[2016-07-18].http://stackoverflow.com/questions/3947761/java-scanner-class-help.

    [10]Why does scanner read every other line of CSV file?Java[EB/OL].[2016-07-18].http://stackoverflow.com/questions/36564422/why-does-scanner-read-every-other-line-of-csvfile-java.

    [11]Nguyen T T,Nguyen H A,Pham N H,et al.Graph-based mining of multiple object usage patterns[C]//Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering,Amsterdam,Aug 24-28,2009.New York:ACM,2009:383-392.

    [12]Lengauer T,Tarjan R E.A fast algorithm for finding dominators in a flowgraph[J].ACM Transactions on Programming Languages and Systems,1979,1(1):121-141.

    [13]Cytron R,Ferrante J,Rosen B K,et al.Efficiently computing static single assignment form and the control dependence graph[J].ACM Transactions on Programming Languages and Systems,1991,13(4):451-490.

    [14]Inokuchi A,Washio T,Motoda H.An Apriori-based algorithm for mining frequent substructures from graph data[C]//LNCS 1910:Proceedings of the 4th European Conference on Principles of Data Mining and Knowledge Discovery,Lyon,France,Sep 13-16,2000.Berlin,Heidelberg:Springer,2000:13-23.

    [15]Yan Xifeng,Han Jiawei.gSpan:graph-based substructure pattern mining[C]//Proceedings of the 2002 IEEE International Conference on Data Mining,Maebashi City,Japan,Dec 9-12,2002.Washington:IEEE Computer Society,2002:721-724.

    [16]J?rvelin K,Kek?l?inen J.Cumulated gain-based evaluation of IR techniques[J].ACM Transactions on Information Systems,2002,20(4):422-446.

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

    [1]王曉玲,文繼榮,欒金鋒,等.一種通過內(nèi)容和結(jié)構(gòu)查詢文檔數(shù)據(jù)庫的方法[J].軟件學(xué)報(bào),2003,14(5):976-983.

    [3]黃震華,張佳雯,田春岐,等.基于排序?qū)W習(xí)的推薦算法研究綜述[J].軟件學(xué)報(bào),2016,27(3):691-713.

    Refine Software Q&ADocument Search Results Based on Code Pattern*

    HUAChenyan1,2,3,ZOU Yanzhen1,2,3+,ZHU Zixiao1,2,3,XIE Bing1,2,3
    1.School of Electronics Engineering and Computer Science,Peking University,Beijing 100871,China
    2.Key Laboratory of High Confidence Software Technologies,Ministry of Education,Beijing 100871,China
    3.Peking University Information Technology Institute(Tianjin Binhai),Tianjin 300450,China

    A

    TP301

    +Corresponding author:E-mail:zouyz@pku.edu.cn

    HUA Chenyan,ZOU Yanzhen,ZHU Zixiao,et al.Refine software Q&A document search results based on code pattern.Journal of Frontiers of Computer Science and Technology,2017,11(10):1591-1598.

    ISSN 1673-9418 CODEN JKYTA8

    Journal of Frontiers of Computer Science and Technology

    1673-9418/2017/11(10)-1591-08

    10.3778/j.issn.1673-9418.1609028

    E-mail:fcst@vip.163.com

    http://www.ceaj.org

    Tel:+86-10-89056056

    *The National Key Research and Development Program of China under Grant No.2016YFB1000804(國家重點(diǎn)研發(fā)計(jì)劃);the National Science Fund for Distinguished Young Scholars of China under Grant No.61525201(國家杰出青年科學(xué)基金).

    Received 2016-08,Accepted 2016-10.

    CNKI網(wǎng)絡(luò)優(yōu)先出版:2016-10-31,http://www.cnki.net/kcms/detail/11.5602.TP.20161031.1652.024.html

    HUA Chenyan was born in 1994.He is an M.S.candidate at Peking University.His research interest is software engineering.

    華晨彥(1994—),男,上海人,北京大學(xué)碩士研究生,主要研究領(lǐng)域?yàn)檐浖こ獭?/p>

    ZOU Yanzhen was born in 1976.She received the Ph.D.degree in software and software theory from Peking University in 2010.Now she is an associate professor at Peking University,and the member of CCF.Her research interests include software engineering,software reuse and information retrieval,etc.

    鄒艷珍(1976—),女,遼寧蓋州人,2010年于北京大學(xué)軟件與理論專業(yè)獲得博士學(xué)位,現(xiàn)為北京大學(xué)信息科學(xué)技術(shù)學(xué)院副教授,CCF會員,主要研究領(lǐng)域?yàn)檐浖こ?,軟件?fù)用,信息檢索等。

    ZHU Zixiao was born in 1990.He is a Ph.D.candidate at Peking University.His research interests include software engineering,software comprehension and reuse,etc.

    朱子驍(1990—),男,湖南郴州人,北京大學(xué)博士研究生,主要研究領(lǐng)域?yàn)檐浖こ?,軟件資源理解與復(fù)用等。

    XIE Bing was born in 1970.He received the Ph.D.degree from School of Computer,National University of Defense Technology in 1998.Now he is a professor and Ph.D.supervisor at Peking University,and the senior member of CCF.His research interests include software engineering and formal methods,etc.

    謝冰(1970—),男,湖南湘潭人,1998年于國防科技大學(xué)計(jì)算機(jī)學(xué)院獲得博士學(xué)位,現(xiàn)為北京大學(xué)信息科學(xué)技術(shù)學(xué)院軟件所教授、博士生導(dǎo)師,CCF高級會員,主要研究領(lǐng)域?yàn)檐浖こ?,形式化方法等。發(fā)表學(xué)術(shù)論文40余篇,主持國家863重點(diǎn)項(xiàng)目多項(xiàng),獲國家科技進(jìn)步二等獎(jiǎng)。

    猜你喜歡
    子圖開發(fā)人員數(shù)據(jù)流
    汽車維修數(shù)據(jù)流基礎(chǔ)(下)
    Semtech發(fā)布LoRa Basics 以加速物聯(lián)網(wǎng)應(yīng)用
    臨界完全圖Ramsey數(shù)
    一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機(jī)制
    基于頻繁子圖挖掘的數(shù)據(jù)服務(wù)Mashup推薦
    基于數(shù)據(jù)流聚類的多目標(biāo)跟蹤算法
    讓W(xué)indows 10進(jìn)入開發(fā)者模式
    電腦迷(2015年12期)2015-04-29 23:22:51
    后悔了?教你隱藏開發(fā)人員選項(xiàng)
    電腦愛好者(2015年6期)2015-04-03 01:20:56
    北醫(yī)三院 數(shù)據(jù)流疏通就診量
    不含2K1+K2和C4作為導(dǎo)出子圖的圖的色數(shù)
    黄片播放在线免费| 咕卡用的链子| 亚洲九九香蕉| 国产极品粉嫩免费观看在线| 欧美中文综合在线视频| av国产精品久久久久影院| 精品国产国语对白av| 国产男女内射视频| 国产一区二区三区av在线| 国产成人一区二区在线| 欧美变态另类bdsm刘玥| 在线观看免费视频网站a站| 赤兔流量卡办理| 男女之事视频高清在线观看 | 亚洲av电影在线进入| 欧美日韩黄片免| 国产精品一国产av| 最近最新中文字幕大全免费视频 | 久久久精品94久久精品| 老司机在亚洲福利影院| 精品一区二区三卡| 一本一本久久a久久精品综合妖精| 国产在线视频一区二区| 日韩 欧美 亚洲 中文字幕| 午夜两性在线视频| 热re99久久国产66热| 人人澡人人妻人| 中文精品一卡2卡3卡4更新| 久久久精品94久久精品| 妹子高潮喷水视频| 日本黄色日本黄色录像| 少妇人妻 视频| 校园人妻丝袜中文字幕| 老汉色∧v一级毛片| 搡老岳熟女国产| 国产xxxxx性猛交| 韩国精品一区二区三区| 99九九在线精品视频| 男女国产视频网站| 色婷婷av一区二区三区视频| 精品熟女少妇八av免费久了| 国精品久久久久久国模美| 在线观看www视频免费| 国产又色又爽无遮挡免| 国产av精品麻豆| 久久精品成人免费网站| 亚洲国产成人一精品久久久| 亚洲精品成人av观看孕妇| 黄色怎么调成土黄色| 老司机午夜十八禁免费视频| 极品人妻少妇av视频| 大码成人一级视频| 免费久久久久久久精品成人欧美视频| 亚洲av片天天在线观看| av在线app专区| videosex国产| 久久久久视频综合| a 毛片基地| 日韩电影二区| 国产精品国产三级专区第一集| 一边亲一边摸免费视频| 日日爽夜夜爽网站| 亚洲成人手机| 亚洲情色 制服丝袜| 亚洲免费av在线视频| 操出白浆在线播放| 亚洲国产av影院在线观看| 国产成人一区二区三区免费视频网站 | 日本欧美视频一区| 91精品三级在线观看| av有码第一页| 国产三级黄色录像| 美女脱内裤让男人舔精品视频| 亚洲伊人久久精品综合| 欧美国产精品va在线观看不卡| 亚洲第一av免费看| 久久精品成人免费网站| 久久国产精品人妻蜜桃| 欧美性长视频在线观看| 性色av一级| 999久久久国产精品视频| 亚洲 欧美一区二区三区| 国产精品三级大全| 十分钟在线观看高清视频www| 亚洲综合色网址| 亚洲国产中文字幕在线视频| 国产成人精品久久二区二区免费| 少妇精品久久久久久久| 最新的欧美精品一区二区| 亚洲欧洲精品一区二区精品久久久| 国产精品免费视频内射| 亚洲第一av免费看| 成人亚洲欧美一区二区av| 1024视频免费在线观看| 一级毛片黄色毛片免费观看视频| 国产精品一区二区在线观看99| 国产三级黄色录像| 日韩一本色道免费dvd| 永久免费av网站大全| 国产精品一国产av| 午夜日韩欧美国产| 免费黄频网站在线观看国产| 久久国产精品大桥未久av| 日韩大码丰满熟妇| 50天的宝宝边吃奶边哭怎么回事| 手机成人av网站| 精品国产一区二区三区四区第35| 交换朋友夫妻互换小说| 各种免费的搞黄视频| 日日夜夜操网爽| 亚洲中文日韩欧美视频| 啦啦啦中文免费视频观看日本| 精品少妇内射三级| 亚洲精品久久午夜乱码| 一级毛片我不卡| www日本在线高清视频| av在线老鸭窝| 久久九九热精品免费| 亚洲,一卡二卡三卡| 嫩草影视91久久| 黑丝袜美女国产一区| 国产一区亚洲一区在线观看| 久久人人爽人人片av| 深夜精品福利| 欧美亚洲 丝袜 人妻 在线| 免费不卡黄色视频| 美女扒开内裤让男人捅视频| 又粗又硬又长又爽又黄的视频| 丰满人妻熟妇乱又伦精品不卡| 黑人猛操日本美女一级片| 欧美日韩视频高清一区二区三区二| 午夜免费鲁丝| 亚洲欧美一区二区三区国产| 久热这里只有精品99| 久久精品亚洲av国产电影网| 人妻人人澡人人爽人人| 18禁国产床啪视频网站| 亚洲伊人久久精品综合| 午夜福利影视在线免费观看| 国产爽快片一区二区三区| 考比视频在线观看| 亚洲精品美女久久av网站| avwww免费| 午夜福利乱码中文字幕| 欧美老熟妇乱子伦牲交| 欧美激情极品国产一区二区三区| 欧美日韩成人在线一区二区| 91精品伊人久久大香线蕉| 91字幕亚洲| 人妻一区二区av| 成人亚洲欧美一区二区av| 亚洲国产精品999| 青春草视频在线免费观看| 国产三级黄色录像| 国产黄色免费在线视频| 99香蕉大伊视频| 亚洲精品久久午夜乱码| 美女中出高潮动态图| 一级片免费观看大全| 国产成人av激情在线播放| 午夜精品国产一区二区电影| av有码第一页| 国产免费一区二区三区四区乱码| 咕卡用的链子| 久久久久久久大尺度免费视频| av线在线观看网站| 亚洲精品第二区| a 毛片基地| 韩国精品一区二区三区| 91麻豆精品激情在线观看国产 | 老汉色av国产亚洲站长工具| 久久久国产一区二区| 免费看av在线观看网站| 国产精品.久久久| 亚洲色图 男人天堂 中文字幕| 日韩av免费高清视频| 国产精品三级大全| 日本猛色少妇xxxxx猛交久久| 久久久久视频综合| 啦啦啦中文免费视频观看日本| 日韩一区二区三区影片| 少妇精品久久久久久久| 久久女婷五月综合色啪小说| 国产精品欧美亚洲77777| 一级黄片播放器| 午夜福利,免费看| 日韩大码丰满熟妇| 精品欧美一区二区三区在线| 黄色毛片三级朝国网站| 在线观看www视频免费| 丝瓜视频免费看黄片| av视频免费观看在线观看| 赤兔流量卡办理| 精品少妇黑人巨大在线播放| 啦啦啦 在线观看视频| 久久精品亚洲av国产电影网| 亚洲精品国产一区二区精华液| 丁香六月欧美| 亚洲精品在线美女| 国产精品久久久久久人妻精品电影 | 啦啦啦 在线观看视频| 国产欧美日韩综合在线一区二区| www.熟女人妻精品国产| 青青草视频在线视频观看| 亚洲 欧美一区二区三区| 日本av手机在线免费观看| 精品久久久精品久久久| 超碰97精品在线观看| 国产成人一区二区在线| 嫁个100分男人电影在线观看 | 天天躁狠狠躁夜夜躁狠狠躁| 欧美日本中文国产一区发布| videosex国产| 天天操日日干夜夜撸| 18禁黄网站禁片午夜丰满| √禁漫天堂资源中文www| 国产1区2区3区精品| 国产无遮挡羞羞视频在线观看| 亚洲成av片中文字幕在线观看| 精品久久久久久电影网| 大片免费播放器 马上看| 少妇粗大呻吟视频| 精品人妻在线不人妻| 91麻豆精品激情在线观看国产 | 国产精品 欧美亚洲| av电影中文网址| 国产主播在线观看一区二区 | 国产精品久久久av美女十八| 精品熟女少妇八av免费久了| 一区二区三区激情视频| 成人免费观看视频高清| 桃花免费在线播放| 女人爽到高潮嗷嗷叫在线视频| av线在线观看网站| 国产免费又黄又爽又色| 两个人免费观看高清视频| 人体艺术视频欧美日本| 亚洲美女黄色视频免费看| 欧美大码av| 亚洲精品日本国产第一区| 一区二区日韩欧美中文字幕| 久久九九热精品免费| 91精品国产国语对白视频| 亚洲精品一区蜜桃| 大陆偷拍与自拍| 欧美精品人与动牲交sv欧美| 菩萨蛮人人尽说江南好唐韦庄| 国产视频首页在线观看| 成年人午夜在线观看视频| 91字幕亚洲| 香蕉丝袜av| 黑人欧美特级aaaaaa片| 嫩草影视91久久| 成在线人永久免费视频| 国产精品一国产av| 日韩制服骚丝袜av| 亚洲欧洲日产国产| 国语对白做爰xxxⅹ性视频网站| 亚洲av在线观看美女高潮| 久久精品人人爽人人爽视色| 日本一区二区免费在线视频| 人妻人人澡人人爽人人| 国产三级黄色录像| av网站在线播放免费| 亚洲成人免费电影在线观看 | 国产一区二区在线观看av| 一级毛片电影观看| 日本欧美国产在线视频| 亚洲精品国产区一区二| 欧美黑人欧美精品刺激| 最黄视频免费看| 国产一区二区 视频在线| 少妇粗大呻吟视频| 交换朋友夫妻互换小说| 亚洲 欧美一区二区三区| 国产亚洲av片在线观看秒播厂| 在线看a的网站| 熟女少妇亚洲综合色aaa.| 嫁个100分男人电影在线观看 | 精品福利观看| 欧美精品高潮呻吟av久久| 欧美日韩综合久久久久久| 黄色片一级片一级黄色片| 欧美大码av| 欧美 日韩 精品 国产| 香蕉丝袜av| 中文字幕av电影在线播放| 在线观看人妻少妇| 亚洲国产欧美一区二区综合| 午夜久久久在线观看| 丝袜美足系列| 免费看av在线观看网站| 国产欧美日韩一区二区三 | 丰满饥渴人妻一区二区三| 99久久人妻综合| 99国产精品一区二区蜜桃av | 电影成人av| 一本大道久久a久久精品| 久久久国产精品麻豆| 我的亚洲天堂| 99re6热这里在线精品视频| 爱豆传媒免费全集在线观看| 国产亚洲av高清不卡| 久久亚洲精品不卡| 只有这里有精品99| 亚洲精品久久午夜乱码| 18禁观看日本| 人妻一区二区av| 日韩av在线免费看完整版不卡| 婷婷色综合大香蕉| 亚洲欧美日韩高清在线视频 | 久久免费观看电影| 久久影院123| 激情视频va一区二区三区| 80岁老熟妇乱子伦牲交| 欧美日韩亚洲综合一区二区三区_| 国产精品一国产av| 日日爽夜夜爽网站| 悠悠久久av| 看十八女毛片水多多多| 久久影院123| 国产又爽黄色视频| 两性夫妻黄色片| netflix在线观看网站| 乱人伦中国视频| 精品人妻熟女毛片av久久网站| 一区二区三区精品91| 美女扒开内裤让男人捅视频| 一二三四在线观看免费中文在| av欧美777| 国产精品成人在线| 曰老女人黄片| 成人亚洲欧美一区二区av| 伦理电影免费视频| 午夜精品国产一区二区电影| 久久av网站| 在线观看一区二区三区激情| 久久av网站| 一级毛片黄色毛片免费观看视频| 国产熟女午夜一区二区三区| 高潮久久久久久久久久久不卡| 三上悠亚av全集在线观看| 日韩一本色道免费dvd| 日日摸夜夜添夜夜爱| 在线观看人妻少妇| 日韩熟女老妇一区二区性免费视频| 亚洲av日韩在线播放| 大片电影免费在线观看免费| 老司机影院成人| 两个人免费观看高清视频| 只有这里有精品99| 好男人视频免费观看在线| 91麻豆精品激情在线观看国产 | 我的亚洲天堂| tube8黄色片| 在线观看免费日韩欧美大片| 成人国语在线视频| 亚洲 欧美一区二区三区| 国产亚洲av高清不卡| 欧美97在线视频| 国产精品一国产av| 热re99久久国产66热| 一区二区日韩欧美中文字幕| 国产成人91sexporn| 婷婷色av中文字幕| 波多野结衣一区麻豆| 婷婷色av中文字幕| 后天国语完整版免费观看| 超碰97精品在线观看| 国产一区二区三区av在线| 蜜桃国产av成人99| 母亲3免费完整高清在线观看| av在线播放精品| 日韩视频在线欧美| 最新的欧美精品一区二区| 丰满人妻熟妇乱又伦精品不卡| a级毛片黄视频| 国产xxxxx性猛交| 亚洲熟女精品中文字幕| 美女国产高潮福利片在线看| av视频免费观看在线观看| 一区在线观看完整版| 免费日韩欧美在线观看| 你懂的网址亚洲精品在线观看| 一本大道久久a久久精品| 天堂中文最新版在线下载| 国产精品久久久久成人av| 日本a在线网址| 热99国产精品久久久久久7| 国产免费现黄频在线看| 青春草亚洲视频在线观看| videos熟女内射| 成在线人永久免费视频| 亚洲人成电影免费在线| 我要看黄色一级片免费的| 亚洲人成网站在线观看播放| 日本一区二区免费在线视频| 亚洲一区中文字幕在线| 尾随美女入室| 国产一区亚洲一区在线观看| 亚洲成人免费av在线播放| 中文字幕色久视频| av在线app专区| 69精品国产乱码久久久| 欧美日韩av久久| 亚洲精品美女久久av网站| 日本午夜av视频| av天堂久久9| 悠悠久久av| 成年美女黄网站色视频大全免费| 成人18禁高潮啪啪吃奶动态图| 新久久久久国产一级毛片| 天堂中文最新版在线下载| 亚洲,一卡二卡三卡| 久久毛片免费看一区二区三区| 人人妻人人澡人人爽人人夜夜| 女人爽到高潮嗷嗷叫在线视频| 久久人妻福利社区极品人妻图片 | 你懂的网址亚洲精品在线观看| 五月天丁香电影| 中文字幕另类日韩欧美亚洲嫩草| 99国产精品99久久久久| 高清视频免费观看一区二区| 国产成人啪精品午夜网站| 久久久久久久国产电影| 亚洲欧美精品自产自拍| 亚洲精品久久午夜乱码| 亚洲少妇的诱惑av| 国产精品 国内视频| 国产免费视频播放在线视频| 亚洲国产精品999| 国产97色在线日韩免费| 国产无遮挡羞羞视频在线观看| 久久久久久久久久久久大奶| 丰满少妇做爰视频| 国产在线免费精品| 欧美大码av| 蜜桃国产av成人99| 国产男女超爽视频在线观看| 一本色道久久久久久精品综合| 老司机在亚洲福利影院| 国产亚洲欧美在线一区二区| 制服人妻中文乱码| 午夜福利视频在线观看免费| 久久天躁狠狠躁夜夜2o2o | 大香蕉久久网| 久久综合国产亚洲精品| 日韩精品免费视频一区二区三区| 成人黄色视频免费在线看| 亚洲情色 制服丝袜| 在线观看人妻少妇| 国产麻豆69| 秋霞在线观看毛片| 人人妻人人澡人人爽人人夜夜| 18禁裸乳无遮挡动漫免费视频| 美女国产高潮福利片在线看| 看十八女毛片水多多多| 国产99久久九九免费精品| 久久毛片免费看一区二区三区| 亚洲欧洲精品一区二区精品久久久| 在线观看一区二区三区激情| 制服人妻中文乱码| 亚洲av美国av| 在线观看国产h片| 热99久久久久精品小说推荐| 欧美中文综合在线视频| 天天躁狠狠躁夜夜躁狠狠躁| 成年人黄色毛片网站| 国语对白做爰xxxⅹ性视频网站| 国产成人一区二区在线| 亚洲欧洲国产日韩| 亚洲专区国产一区二区| 欧美日韩亚洲综合一区二区三区_| av国产精品久久久久影院| 国产午夜精品一二区理论片| 久久久久国产一级毛片高清牌| 午夜免费成人在线视频| 免费在线观看日本一区| 久久国产精品人妻蜜桃| 久久狼人影院| 国产精品秋霞免费鲁丝片| 热re99久久精品国产66热6| 欧美激情高清一区二区三区| 黄色毛片三级朝国网站| 高清视频免费观看一区二区| 伦理电影免费视频| 国产精品香港三级国产av潘金莲 | 麻豆乱淫一区二区| 日韩av不卡免费在线播放| 国产精品久久久久久精品古装| 国产成人av教育| 97在线人人人人妻| 日本vs欧美在线观看视频| 黑人巨大精品欧美一区二区蜜桃| 99香蕉大伊视频| 建设人人有责人人尽责人人享有的| 最近最新中文字幕大全免费视频 | 国产伦理片在线播放av一区| 午夜久久久在线观看| 国产日韩欧美亚洲二区| 一区二区av电影网| 欧美 日韩 精品 国产| 国产精品一国产av| 精品国产超薄肉色丝袜足j| 男女边摸边吃奶| 纯流量卡能插随身wifi吗| 七月丁香在线播放| 亚洲国产精品国产精品| 亚洲免费av在线视频| 午夜视频精品福利| 亚洲熟女精品中文字幕| 一级a爱视频在线免费观看| 久久女婷五月综合色啪小说| 久久青草综合色| 久久毛片免费看一区二区三区| 中文精品一卡2卡3卡4更新| 久久国产精品男人的天堂亚洲| 两人在一起打扑克的视频| 91字幕亚洲| 精品一区二区三区四区五区乱码 | 国产精品.久久久| 日日夜夜操网爽| 黄色一级大片看看| 啦啦啦中文免费视频观看日本| 亚洲国产看品久久| 日本wwww免费看| 黑人巨大精品欧美一区二区蜜桃| 制服诱惑二区| 老汉色∧v一级毛片| 一区二区三区精品91| 少妇 在线观看| 色精品久久人妻99蜜桃| 国产日韩欧美视频二区| 国产精品一国产av| 三上悠亚av全集在线观看| 一区二区av电影网| 男女午夜视频在线观看| 欧美人与性动交α欧美精品济南到| 超碰97精品在线观看| 欧美亚洲 丝袜 人妻 在线| 国产精品99久久99久久久不卡| 成人亚洲精品一区在线观看| 亚洲,一卡二卡三卡| 久久鲁丝午夜福利片| 看免费av毛片| 19禁男女啪啪无遮挡网站| 日日爽夜夜爽网站| 性高湖久久久久久久久免费观看| 国产精品熟女久久久久浪| 欧美亚洲 丝袜 人妻 在线| 亚洲精品中文字幕在线视频| 日韩伦理黄色片| 伊人久久大香线蕉亚洲五| 久久精品亚洲av国产电影网| 建设人人有责人人尽责人人享有的| 在线看a的网站| 国产精品久久久久成人av| 大陆偷拍与自拍| 亚洲国产最新在线播放| 黑丝袜美女国产一区| 女人爽到高潮嗷嗷叫在线视频| 色网站视频免费| 色婷婷久久久亚洲欧美| 欧美精品人与动牲交sv欧美| 午夜视频精品福利| √禁漫天堂资源中文www| kizo精华| 丁香六月欧美| 国产熟女欧美一区二区| 在现免费观看毛片| 天天操日日干夜夜撸| 国产精品久久久久久精品电影小说| 免费观看av网站的网址| 亚洲国产最新在线播放| 欧美激情极品国产一区二区三区| 少妇猛男粗大的猛烈进出视频| 99精国产麻豆久久婷婷| 午夜福利影视在线免费观看| 久久人妻福利社区极品人妻图片 | 中文字幕人妻丝袜一区二区| 色视频在线一区二区三区| 欧美激情极品国产一区二区三区| 亚洲中文日韩欧美视频| 男女之事视频高清在线观看 | 午夜福利在线免费观看网站| 国产视频一区二区在线看| 亚洲伊人久久精品综合| 亚洲国产看品久久| 黑人欧美特级aaaaaa片| 国产一区二区激情短视频 | 美女福利国产在线| 国产精品一区二区在线观看99| 王馨瑶露胸无遮挡在线观看| 国产有黄有色有爽视频| a级毛片黄视频| 男女边摸边吃奶| 欧美日韩黄片免| 69精品国产乱码久久久| 97在线人人人人妻| 国产成人欧美在线观看 | 婷婷色麻豆天堂久久| 国产成人系列免费观看| 国产成人免费无遮挡视频| 亚洲精品久久久久久婷婷小说| 天天影视国产精品| 热re99久久国产66热| 成人手机av| 亚洲成人免费av在线播放| 久久99精品国语久久久| 免费在线观看视频国产中文字幕亚洲 | 曰老女人黄片| 色精品久久人妻99蜜桃| 亚洲av综合色区一区| 亚洲熟女精品中文字幕| 国产亚洲精品第一综合不卡|