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

    DBugHelper:分布“系統(tǒng)Debug協(xié)助工具

    2016-11-29 09:34:33張燕飛張春熙李宇明張蓉
    關(guān)鍵詞:報(bào)告信息模型

    張燕飛,張春熙,李宇明,張蓉

    (華東師范大學(xué)數(shù)據(jù)科學(xué)與工程研究院上海高可信計(jì)算重點(diǎn)實(shí)驗(yàn)室,上海200062)

    DBugHelper:分布“系統(tǒng)Debug協(xié)助工具

    張燕飛,張春熙,李宇明,張蓉

    (華東師范大學(xué)數(shù)據(jù)科學(xué)與工程研究院上海高可信計(jì)算重點(diǎn)實(shí)驗(yàn)室,上海200062)

    對于大規(guī)模分布式系統(tǒng)的開發(fā)而言,其開發(fā)周期比較漫長,包括前期的開發(fā)、過程中的Debug、后期的維護(hù)和測試等.在整個(gè)開發(fā)周期中,Debug是一個(gè)非常關(guān)鍵和重要的環(huán)節(jié),如何才能在短時(shí)間內(nèi)找到最可靠的方法來解除bug成為一個(gè)重要的挑戰(zhàn).對于系統(tǒng)開發(fā)人員來說,bug報(bào)告能非常有效地幫助其了解bug的所有特征信息,并找到能修復(fù)bug的方法.通過研究發(fā)現(xiàn),許多大規(guī)模分布式系統(tǒng)之間具有較強(qiáng)的相關(guān)性和相似性,因而其bug的產(chǎn)生情況和修復(fù)方法也具有類似特征.開發(fā)人員可以利用已存在的修復(fù)bug的方案來協(xié)助修復(fù)與其一致或相近的bug.本文提出一個(gè)適用于大規(guī)模分布式系統(tǒng)的Debug協(xié)助工具——DBugHelper,能為某些大規(guī)模分布式系統(tǒng)的開發(fā)人員的bug修復(fù)提供比較有效、正確的幫助.DBugHelper將最新的bug報(bào)告進(jìn)行文本處理,形成查詢向量,并將大量已被修復(fù)的bug及其相關(guān)信息進(jìn)行離線處理和緩存,從而為在線查詢提供索引機(jī)制.通過將大量已修復(fù)的bug報(bào)告進(jìn)行離線處理并同時(shí)減少在線處理的數(shù)據(jù)量,從而使其準(zhǔn)確并快速地為系統(tǒng)開發(fā)人員提供必要的Debug協(xié)助工作,以此減少系統(tǒng)開發(fā)的周期與成本.

    大規(guī)模分布式系統(tǒng);Debug;bug報(bào)告;協(xié)助

    0 引言

    Debug是軟件系統(tǒng)開發(fā)周期中十分重要的一個(gè)環(huán)節(jié),其所消耗的時(shí)間、人力往往與系統(tǒng)開發(fā)階段相當(dāng)甚至所占比重更大.特別是對大規(guī)模分布式系統(tǒng)而言,其項(xiàng)目開發(fā)復(fù)雜度大、開發(fā)周期長、開發(fā)成本高;并且分布式系統(tǒng)特別是基于開源框架的此類系統(tǒng)之間存在著功能相關(guān)和代碼相似的性質(zhì).其中,相關(guān)性是指所開發(fā)的系統(tǒng)是基于或兼容其他大規(guī)模分布式系統(tǒng),而相似性是指某些大規(guī)模分布式系統(tǒng)的整體架構(gòu)或思想屬于同一種類,例如: Spark、HBase、Cassandra等系統(tǒng)與Hadoop密切相關(guān);CouchDB和MongoDB同屬于文檔型數(shù)據(jù)庫等.大規(guī)模分布式系統(tǒng)的bug具有依賴性、傳遞性等特殊性質(zhì),Debug工作更加繁瑣和復(fù)雜.因此,近些年工業(yè)界一直研究如何降低系統(tǒng)開發(fā)周期和成本的問題,而現(xiàn)階段最直接有效的方法就是降低系統(tǒng)Debug成本.目前系統(tǒng)Debug通常由bug的預(yù)測、定位、發(fā)現(xiàn)、分析、修復(fù)、測試等環(huán)節(jié)組成,對每個(gè)環(huán)節(jié)所使用的方法進(jìn)行優(yōu)化,從而降低Debug成本.

    在系統(tǒng)開發(fā)的各個(gè)階段會(huì)生成與系統(tǒng)相關(guān)的很多文件資料,例如bug報(bào)告、日志信息、源碼文件、交流檔案、測試案例以及版本信息等.如何利用這些文件信息,挖掘此類文件信息所蘊(yùn)含的有利于bug定位、分析、修復(fù)等工作的有價(jià)值信息是當(dāng)前Debug研究的關(guān)注點(diǎn).Kim S[1]等人研究挖掘bug報(bào)告的相關(guān)信息,對bug進(jìn)行預(yù)測的工作;Zhou J[2], Nguyen A[3]等人研究通過挖掘出bug報(bào)告和源碼文件之間所隱藏的緊密聯(lián)系,并利用此關(guān)系有效和快速地為系統(tǒng)開發(fā)人員進(jìn)行bug定位的方法.

    在眾多支持Debug操作的數(shù)據(jù)信息中,bug報(bào)告是用于發(fā)現(xiàn)和修復(fù)系統(tǒng)bug的重要參考文獻(xiàn),其記錄了來自于系統(tǒng)開發(fā)人員、測試人員以及最終用戶所提交的關(guān)于bug的狀態(tài)信息、重要等級、標(biāo)簽信息、描述信息、交流信息、附件信息等[3-4].

    通常大規(guī)模分布式系統(tǒng)在其開發(fā)周期內(nèi)會(huì)產(chǎn)生大量的bug報(bào)告,其狀態(tài)包括公開、正在修復(fù)中、再次公開、關(guān)4、可用補(bǔ)丁、已修復(fù)等6種.其中已修復(fù)的bug報(bào)告包含bug修復(fù)方案及相關(guān)補(bǔ)丁,同時(shí)記錄關(guān)于bug修復(fù)的所有交互信息.例如,目前APACHE官方網(wǎng)站所公布的其所收錄的bug總數(shù)為39 365,已修復(fù)的bug為28 602個(gè)[5];其中關(guān)于MapReduce的bug數(shù)達(dá)3 898,包括已修復(fù)bug為1 435個(gè),公開的bug為711個(gè)[5].

    一旦一份bug報(bào)告被系統(tǒng)開發(fā)人員所接收和確認(rèn),項(xiàng)目團(tuán)隊(duì)就要對此bug報(bào)告進(jìn)行分析,從bug報(bào)告中抽取出此bug的主要特征,并搜索與其相關(guān)和類似的bug的解決方案,期望從已經(jīng)修復(fù)的bug中獲取和解決bug的思路.然而,面對眾多的大規(guī)模分布式系統(tǒng)以及其所包含的大量bug信息,想要找到與當(dāng)前所遇到的bug一致或非常類似的bug并非易事,因?yàn)閎ug描述簡短、專業(yè)性強(qiáng),并且其關(guān)鍵詞抽取自動(dòng)化比較困難.

    近年來,已有一些研究運(yùn)用信息檢索技術(shù)對bug報(bào)告進(jìn)行分析,再對bug報(bào)告進(jìn)行基于特征的分類[6];或者利用機(jī)器學(xué)習(xí)算法根據(jù)bug報(bào)告的影響力進(jìn)行分類[7];也可以基于正交缺陷分類(Orthogonal Defect Classification,ODC)的方法,定義基于數(shù)據(jù)和控制流缺陷、結(jié)構(gòu)缺陷和非功能缺陷類型,通過提取缺陷報(bào)告和源代碼的特征,對缺陷報(bào)告進(jìn)行自動(dòng)分類[8].當(dāng)前所存在的這些bug分類方法,都是利用較少的bug報(bào)告的信息結(jié)合源碼信息、測試信息等分類算法進(jìn)行分類.Bug報(bào)告本身具有的特征信息、描述內(nèi)容中的關(guān)鍵信息(例如,bug的概要描述、詳細(xì)描述)、bug的修復(fù)交互信息以及相關(guān)的bug修復(fù)方案及其附件通常容易被忽略,而這些信息中包含大量bug特征.因此,本文的研究問題是:“如何利用bug相關(guān)信息協(xié)助開發(fā)人員修復(fù)bug,以支持大規(guī)模分布式系統(tǒng)的開發(fā)?”由此關(guān)鍵問題,也?生出兩個(gè)子問題:

    Q1:如何挖掘bug報(bào)告所隱含的bug的特征信息以及關(guān)聯(lián)信息?

    Q2:如何利用已修復(fù)bug的相關(guān)信息對新的bug進(jìn)行修復(fù)方案推薦?

    本文針對上述問題進(jìn)行了研究,包括:

    (1)特征提取:基于詞集的bug特征定義和抽取忽視描述詞間潛在的關(guān)聯(lián)關(guān)系.本文提出利用Latent Dirichlet Allocation(LDA)模型[9-10],基于bug相關(guān)文檔,從而構(gòu)造基于潛語義的詞集;

    (2)噪音過濾:通過LDA模型獲取詞在主題上的分布,根據(jù)此分布過濾掉與主題相關(guān)度低的詞,從而降低Vector Space Model(VSM)模型的輸入規(guī)模;

    (3)多層次聚類:發(fā)現(xiàn)bug之間的關(guān)聯(lián)關(guān)系.

    分別利用LDA模型和VSM模型對bug報(bào)告進(jìn)行分類的工作已經(jīng)存在,但其最終結(jié)果并不理想:僅利用LDA模型,只考慮bug報(bào)告的主題分布,利用基于主題的低維度向量進(jìn)行相似度分析,必然會(huì)導(dǎo)致大量信息的丟失,且已有的工作大多利用bug報(bào)告的短文本,同樣會(huì)降低準(zhǔn)確性;只利用VSM模型,其利用bug報(bào)告的詞頻所建立的文本向量會(huì)丟失大量的語義信息,而高維度的相似度計(jì)算會(huì)導(dǎo)致其極高的代價(jià).本文所提出的DBugHelper將結(jié)合LDA和VSM模型的優(yōu)勢構(gòu)造L VSM模型,在原本機(jī)械詞頻統(tǒng)計(jì)的基礎(chǔ)上加入詞之間的深層語義知識(shí),使最終形成的向量更好地對bug報(bào)告的特征信息及其之間的關(guān)聯(lián)信息進(jìn)行描述.

    本文工作的貢獻(xiàn)是:

    ·將LDA與VSM相結(jié)合提出L VSM模型,該模型能更加有效地對大規(guī)模分布式系統(tǒng)所產(chǎn)生的bug報(bào)告進(jìn)行分析.

    ·本文在大量的bug報(bào)告數(shù)據(jù)上,開展了充分的對比試驗(yàn),驗(yàn)證工具的有用性和有效性.

    ·設(shè)計(jì)和實(shí)現(xiàn)了Debug協(xié)助分析工具DBugHelper.工具可以有效地分析所提交bug的特性,為系統(tǒng)開發(fā)人員提供最為相近的bug修復(fù)方案.

    本文的組織如下:第1節(jié)闡述bug報(bào)告及其修復(fù)方案的分析;第2節(jié)介紹本文所提出的DBugHelper工具;第3節(jié)介紹了實(shí)驗(yàn)設(shè)計(jì);第4節(jié)展示了實(shí)驗(yàn)結(jié)果并進(jìn)行相關(guān)討論;第5節(jié)對相關(guān)工作進(jìn)行了介紹;第6節(jié)對全文進(jìn)行總結(jié).

    1 Bug報(bào)告及其修復(fù)方案的分析

    通過對現(xiàn)有bug報(bào)告及其修復(fù)方案的細(xì)致分析,其主要特征如下:

    相似bug報(bào)告:當(dāng)系統(tǒng)開發(fā)人員獲取到新的bug報(bào)告后,首先考慮是否有類似的bug已被修復(fù),通過查詢已修復(fù)的bug報(bào)告,得到相近或相關(guān)的修復(fù)方案.再進(jìn)一步查詢相關(guān)的資料文檔,最終對bug進(jìn)行修復(fù).因此,如何有效地查詢歷史記錄來幫助修復(fù)bug是重要問題.

    簇組:系統(tǒng)開發(fā)人員為修復(fù)bug而查閱大量文檔資料,例如相似的bug報(bào)告及其修復(fù)方案、系統(tǒng)功能設(shè)計(jì)文檔、系統(tǒng)日志文檔等.為縮短bug修復(fù)時(shí)間以提高搜索和查詢資料的效率,可提前對bug進(jìn)行分析歸類,在其所屬簇組中查詢相關(guān)修復(fù)方法的信息.因此,對bug及其報(bào)告進(jìn)行歸類,有利于提高bug的查詢效率.

    離線、在線處理:及時(shí)響應(yīng)是工具的基本要素.大規(guī)模分布式系統(tǒng)所擁有的與bug相關(guān)的數(shù)據(jù)資源十分豐富,其數(shù)據(jù)處理耗時(shí)較長,因此迅速響應(yīng)是工具可用性的表現(xiàn).將復(fù)雜計(jì)算進(jìn)行離線處理,縮短工具響應(yīng)時(shí)間并提高其可用性.DBugHelper采取離線和在線處理操作分離的方式,離線處理已修復(fù)bug相關(guān)數(shù)據(jù)信息并提供索引機(jī)制,在線處理利用該索引及新的bug報(bào)告及時(shí)為系統(tǒng)開發(fā)人員提供最為接近的bug修復(fù)方案以及相關(guān)資料信息.

    就目前相關(guān)研究來看,相似bug報(bào)告已經(jīng)被用于bug的定位方法[2].而其他兩方面都沒有很好地利用和研究.在本文所設(shè)計(jì)的工具中,此類信息被進(jìn)行考慮和利用.

    圖1 DBugHelper的整體架構(gòu)Fig.1DBugHelper overview

    2 基于內(nèi)容分析技術(shù)的Debug協(xié)助框架--DBugHelper

    2.1 DBugHelper的整體架構(gòu)

    圖1展現(xiàn)了為大規(guī)模分布式系統(tǒng)的開發(fā)提供Debug協(xié)助的工具--DBugHelper.整個(gè)系統(tǒng)分為兩大部分:1)離線處理模塊:主題分析、詞典構(gòu)建、術(shù)語選擇、文本向量構(gòu)建、簇及其質(zhì)心構(gòu)建;2)在線處理模塊:查詢向量構(gòu)建、修復(fù)方案推薦.當(dāng)獲取到新的bug報(bào)告,工具基于離線處理所獲取的術(shù)語詞典將此報(bào)告轉(zhuǎn)化為查詢向量.已修復(fù)的bug報(bào)告經(jīng)過L VSM模型構(gòu)造向量集合,再通過聚類分析將bug的向量集合進(jìn)行歸類,并獲取各類的質(zhì)心以構(gòu)建索引機(jī)制.將查詢向量與所構(gòu)建的索引向量進(jìn)行相關(guān)性分析,查詢出與新的bug報(bào)告相關(guān)的已修復(fù)的bug,再將這一類的bug文件資料進(jìn)行融合,為新提交的bug推薦可能的修復(fù)方案及其他相關(guān)文件資料.新提交的bug報(bào)告會(huì)進(jìn)入已修復(fù)bug的緩存隊(duì)列中,bug一旦被修復(fù)會(huì)觸發(fā)離線處理操作.

    2.2 離線處理

    離線處理環(huán)節(jié),將大量已修復(fù)bug的相關(guān)文檔資料進(jìn)行分析處理,利用L VSM模型抽取bug報(bào)告的特征信息并將其向量化表示,向量分量的權(quán)值波動(dòng)反映出bug報(bào)告之間的關(guān)聯(lián)關(guān)系.DBugHelper存儲(chǔ)了大量大規(guī)模分布式系統(tǒng)的bug報(bào)告F及其相關(guān)修復(fù)方案的文檔R,采取離線處理方式,對已修復(fù)的bug報(bào)告F進(jìn)行處理.分為幾個(gè)步驟:

    主題分析:本文從兩個(gè)層面提取bug報(bào)告的主題,一是bug報(bào)告所具有的明確特征的主題Ts,例如bug等級、標(biāo)簽、狀態(tài)、系統(tǒng)環(huán)境、所屬版本、所屬組件、作者等;二是從bug報(bào)告中的bug概要、描述、評論、歷史等信息中抽取出的主題Tg;本文所抽取和利用的主題為T(Ts+Tg).本文對已修復(fù)的bug報(bào)告進(jìn)行分析并抽取其主題T,對于每篇bug報(bào)告F所包含的主題T,在F中均有相關(guān)單詞w進(jìn)行描述.

    術(shù)語選擇:本文利用主題T和單詞w之間的反向關(guān)系,將原本主題T的對單詞w的概率分布θ(T→w)變?yōu)閣→T,以計(jì)算單詞w在每個(gè)主題T上的概率分布,從而得到每個(gè)w的向量,其中|T|是主題總數(shù),c是當(dāng)前詞,wc,t表示為:

    其距離越大分值將越高.將所有詞按分值進(jìn)行降序排序,將得分較低的單詞去除.將所有留存的單詞w來構(gòu)成術(shù)語詞典D.

    詞典構(gòu)建:本文從已修復(fù)的bug報(bào)告F中抽取主題T,主題T由F中單詞w進(jìn)行描述,而單詞w的概率值θ表示出其對于主題T的重要程度.為提高工具的性能和縮短響應(yīng)時(shí)間,選取F中較為重要的單詞作為術(shù)語,從而構(gòu)建術(shù)語詞典D.前期對bug報(bào)告進(jìn)行文本處理,包括去除停用詞、標(biāo)點(diǎn)符號(hào)等,再通過術(shù)語選擇,進(jìn)一步降低工具的在線、離線處理的時(shí)間和代價(jià).傳統(tǒng)利用LDA模型進(jìn)行特征抽取時(shí),通常是以主題詞來構(gòu)建文檔向量,但由于主題數(shù)為人為設(shè)定,因此誤差性較大,當(dāng)主題數(shù)設(shè)定較小時(shí),甚至導(dǎo)致所有向量相似性極高.本文選擇描述主題權(quán)重較高的單詞作為術(shù)語,以術(shù)語構(gòu)建文本向量,進(jìn)而提高準(zhǔn)確性以及減少模型處理代價(jià).

    文本向量構(gòu)建:所構(gòu)造的術(shù)語詞典D涵蓋所有已修復(fù)bug報(bào)告d的關(guān)鍵術(shù)語,基于詞典D所形成的F的特征向量Q能表現(xiàn)bug的基本特性又能反映bug之間的關(guān)聯(lián)關(guān)系,|F|為此向量的元素個(gè)數(shù)即詞典D所含術(shù)語t的個(gè)數(shù).將已修復(fù)bug報(bào)告進(jìn)行向量化表示,其各個(gè)分量的權(quán)重值wi,j是基于術(shù)語頻率(tf)和逆文檔頻率(idf)計(jì)算而來.該算法的基本思想是術(shù)語的重要性隨著它在文檔中出現(xiàn)的次數(shù)成正比增加,但同時(shí)也隨其在詞典中出現(xiàn)的頻率成反比下降.在傳統(tǒng)的VSM模型中,對tf和idf進(jìn)行以下定義:

    等式(3)中的ni,j是指術(shù)語ti在文檔dj中出現(xiàn)的次數(shù),其對應(yīng)的分母表示文檔dj所有術(shù)語出現(xiàn)次數(shù)之和.|D|為詞典D所包含的文檔dj的總數(shù),它對應(yīng)的分母則是包含術(shù)語tj的文件的個(gè)數(shù).當(dāng)前很多研究通過改變tf的形式,進(jìn)一步提高VSM模型的性能,其中包括對數(shù)型、增廣型以及布爾型等多種VSM模型改進(jìn)方法[11].通過對比驗(yàn)證,本文采用對數(shù)型以提高性能:

    在L VSM中,本文利用等式(4)來定義tf,因此術(shù)語ti所對應(yīng)的權(quán)值wi,j被定義為:

    文檔dj所對應(yīng)的文本向量表示為:

    L VSM模型利用LDA的Gibbs Sampling實(shí)現(xiàn),并結(jié)合等式(2)得到用于描述bug報(bào)告的特征值,以此作為改進(jìn)的VSM模型的輸入,最終通過等式(6)得到F的向量集合,其集合定義為:

    簇及其質(zhì)心構(gòu)建:隨著已修復(fù)bug報(bào)告數(shù)量的不斷增加,其處理分析的時(shí)間也隨之增長,因此本文將此階段進(jìn)行離線處理.通過對已修復(fù)bug報(bào)告集進(jìn)行聚類分析并進(jìn)行歸類,找出表示每個(gè)簇的質(zhì)心來構(gòu)建索引,從而提高相近bug修復(fù)方案的查詢效率.Bug報(bào)告的區(qū)別性和關(guān)聯(lián)性與K-Means聚類分析[12]所適用的場景吻合,同時(shí)結(jié)合算法的時(shí)間復(fù)雜度低、對大規(guī)模數(shù)據(jù)處理適用性高、伸縮性好等特點(diǎn),因此將K-Means算法用于bug報(bào)告的聚類分析.向量集合F在給定簇組數(shù)K(K 6|D|)值的條件下,將F中的向量歸為K類,所構(gòu)成簇集合為:

    簇組數(shù)K是人為設(shè)定的,不同的K值對聚類結(jié)果影響較大,本文通過確定指標(biāo)的方式,對K值進(jìn)行探尋,找出最接近于真實(shí)簇?cái)?shù)目的K值.K-Means所定義的函數(shù)公式為:

    等式(9)中的μk表示的是每個(gè)分類Sk的平均值,rnk只有當(dāng)被歸類到某一簇Sn時(shí),其值被賦為1,否則為0.通過計(jì)算E值來找出每個(gè)向量Vn所屬的簇Sn,通過不斷地迭代最終形成k個(gè)簇,每個(gè)簇的質(zhì)心定義為:

    簇以及簇的質(zhì)心將被用于新提交bug報(bào)告B的相似度計(jì)算,以此判別B所屬的簇.

    2.3 在線處理

    在線處理主要針對新提交的bug報(bào)告,如何利用離線處理所構(gòu)建的索引機(jī)制迅速查詢到相近的修復(fù)方案是在線處理環(huán)節(jié)的核心問題.針對此問題,本文提出三層處理架構(gòu),其結(jié)構(gòu)如圖2所示.第一層是用于緩存新提交bug報(bào)告,將所提交的bug報(bào)告基于詞典D生成查詢向量B;第二層緩存由離線處理階段所獲取的簇Sn及所對應(yīng)的質(zhì)心Cn;第三層緩存所有已修復(fù)bug的相關(guān)修復(fù)方法及其他相關(guān)資料文件.

    圖2 DBugHelper在線處理三層處理架構(gòu)Fig.2Three layers for online processing in DBugHelper

    第一、二層的鏈接關(guān)系是B與Cn之間的相似度,通過計(jì)算B與Cn之間的相似度值判別其所屬簇SB,同樣利用公式(2)所采用的cosine相似度計(jì)算方法對B進(jìn)行簇判別:

    計(jì)算所得與B相似度值最大Cn簇即是B所屬簇,這表明新提交的bug和簇中其他bug報(bào)告所描述的bug屬于同一類,則其修復(fù)方案最為相似或相關(guān).第二、三層的鏈接關(guān)系是已修復(fù)bug報(bào)告F和其相關(guān)修復(fù)方案的對應(yīng)關(guān)系,同樣通過將B與所屬簇SB的其他bug報(bào)告進(jìn)行相似度分析,將適用于新提交的bug報(bào)告的修復(fù)方案及相關(guān)文檔資料進(jìn)行排序,最終為系統(tǒng)開發(fā)人員提供最為相似或相關(guān)的bug修復(fù)方案.

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

    3.1 系統(tǒng)選擇

    為評估DBugHelper的有效性,本文選取四個(gè)開源的大規(guī)模分布式系統(tǒng)作為實(shí)驗(yàn)項(xiàng)目(如表1所示).所有項(xiàng)目都擁有完整的bug報(bào)告以及相關(guān)的修復(fù)方案,同時(shí)也包含與bug相關(guān)的包括討論、歷史、日志、狀態(tài)轉(zhuǎn)換等方面的數(shù)據(jù)信息.本文選取HDFS作評估對象,因其是一款非常流行并開源的分布式文件系統(tǒng),并且是分布式系統(tǒng)基礎(chǔ)架構(gòu)Hadoop的核心部件.而MapReduce同樣也是Hadoop的核心設(shè)計(jì)之一,它是用于大規(guī)模數(shù)據(jù)集并行計(jì)算的編程模型.HBase是基于Hadoop架構(gòu)實(shí)現(xiàn)的分布式開源數(shù)據(jù)庫系統(tǒng),利用HDFS存儲(chǔ)海量數(shù)據(jù),并使用MapReduce進(jìn)行數(shù)據(jù)處理.數(shù)據(jù)倉庫工具Hive同樣基于Hadoop架構(gòu)所實(shí)現(xiàn),是一種可以存儲(chǔ)、查詢和分析大規(guī)模數(shù)據(jù)的機(jī)制.

    表1 研究項(xiàng)目Tab.1Study project

    3.2 數(shù)據(jù)選擇

    對于每個(gè)項(xiàng)目系統(tǒng),本文從bug跟l系統(tǒng)(例如BugZilla或APACHE官網(wǎng))中選擇最原始的bug報(bào)告作為實(shí)驗(yàn)對象,來評估DBugHelper所推薦bug修復(fù)方案的準(zhǔn)確性.

    用于評估的bug報(bào)告,包含以下幾個(gè)方面:

    (1)Bug的基本信息.它一般包括bug的主題、類型、優(yōu)先級、所影響的系統(tǒng)版本以及其所屬組件等(例如:“MapReduce job can infinitely increase number of reducer resource requests”,“Bug”,“Blocker”,“2.8.0”,“None”).

    (2)Bug的描述信息.開發(fā)人員用自然語言對Debug過程中所產(chǎn)生的bug進(jìn)行詳細(xì)描述,有時(shí)也附加相關(guān)的日志信息等.

    3.3 研究問題

    本文設(shè)計(jì)實(shí)驗(yàn)對以下三個(gè)問題進(jìn)行回答:

    Q1:DBugHelper能否較為準(zhǔn)確地為bug提供相一致或相近的修復(fù)方案?

    為回答這個(gè)問題,本文將四個(gè)項(xiàng)目系統(tǒng)的已修復(fù)bug及其修復(fù)方案作為基準(zhǔn)數(shù)據(jù),將bug報(bào)告作為DBugHelper的輸入條件.檢查從工具中所返回的修復(fù)方案及其相對應(yīng)的bug報(bào)告.若所輸出的結(jié)果Top N(N=1,5,10,15,20)個(gè)包含該bug的真實(shí)修復(fù)方案,則認(rèn)為bug的修復(fù)方案可以有效地被推薦.本文選取每個(gè)系統(tǒng)的100個(gè)已修復(fù)bug作為實(shí)驗(yàn)對象,計(jì)算bug被提供的修復(fù)方案的準(zhǔn)確率(Accuracy).

    Q2:L VSM模型是否能提高尋找相似bug報(bào)告的準(zhǔn)確率?

    在第2節(jié)中,本文提出了L VSM模型,將其用于bug分析從而構(gòu)建查詢向量及結(jié)合聚類分析構(gòu)建索引機(jī)制.為評估L VSM的有效性,本文將其與傳統(tǒng)VSM的方法進(jìn)行對比,將DBugHelper中的L VSM模型替換為傳統(tǒng)VSM模型,并在Q1的條件下對DBugHelper提供bug修復(fù)方案的準(zhǔn)確率進(jìn)行計(jì)算,并以此與基于L VSM模型實(shí)現(xiàn)的工具進(jìn)行結(jié)果比對.

    Q3:DBugHelper的在線、離線處理模式能否提高查詢bug修復(fù)方案的效率?

    在第2節(jié)中,本文提出在線、離線處理分離的模式,將大數(shù)據(jù)集進(jìn)行離線處理構(gòu)建查詢索引,用在線處理獲取查詢向量,使用該查詢向量結(jié)合索引機(jī)制查詢bug修復(fù)方案.為評估該模式的可靠性,本文引入時(shí)間準(zhǔn)確率比(TA)的度量標(biāo)準(zhǔn)(在下一小節(jié)介紹),以評估在線、離線處理模式的性能.

    3.4 評估度量

    為評估DBugHelper關(guān)于bug修復(fù)方案的查詢效率,本文提出以下度量:

    ·Accuracy(準(zhǔn)確率)是指bug的準(zhǔn)確修復(fù)方案占DBugHelper所輸出的修復(fù)方案Top N(N=1,5,10,···,n)的比率.工具所輸出的修復(fù)方案越多,包含的bug準(zhǔn)確修復(fù)方案就越多.此度量值越高,則其準(zhǔn)確率越高.

    ·TA(時(shí)間/準(zhǔn)確率)指時(shí)間與準(zhǔn)確率的比值,以此衡量Bug修復(fù)方案的查詢效率.TA表示單位準(zhǔn)確率下DBugHelper的每個(gè)查詢的執(zhí)行時(shí)間,其值越小則表示查詢效率越高.公式定義如下:

    其中Time指的是分別返回Top N個(gè)bug修復(fù)方案所需時(shí)間;指的是針對相同返回Top N個(gè)bug修復(fù)方案所需的時(shí)間均值;Accuracy是指DBugHelper所返回Top N個(gè)bug修復(fù)方案中真實(shí)修復(fù)方案的所占比重.

    4 實(shí)驗(yàn)結(jié)果及討論

    針對所研究問題的實(shí)驗(yàn)結(jié)果展示如下:

    Q1:DBugHelper能較為準(zhǔn)確地提供與bug相一致或相近的修復(fù)方案嗎?

    表2展現(xiàn)了DBugHelper所輸出的Top N個(gè)bug解決方案中包含bug真實(shí)解決方案的比例.本文分別選取4種系統(tǒng)項(xiàng)目各100個(gè)bug報(bào)告作為輸入數(shù)據(jù),而工具針對每個(gè)bug報(bào)告輸出的Top N個(gè)修復(fù)方案.此類方案中包含真實(shí)bug修復(fù)方案的個(gè)數(shù)所占bug總數(shù)(即100個(gè)bug報(bào)告)的比例,即為工具的準(zhǔn)確率.對于輸入的100個(gè)HDFS相關(guān)的bug報(bào)告,工具輸出的Top 10個(gè)修復(fù)方案包含真實(shí)方案的有44個(gè),則其準(zhǔn)確率為44%.對于Hive項(xiàng)目,相同的輸入條件下,工具所返回的Top 20個(gè)修復(fù)方案包含68個(gè)真實(shí)方案,則其準(zhǔn)確率為68%.隨著N值的遞增,DBugHelper所輸出的修復(fù)方案準(zhǔn)確率也在同步提升.

    表2 DBugHelper的準(zhǔn)確率Tab.2DBugHelper accuracy

    Q2:L VSM模型是否能提高查詢相似bug報(bào)告的準(zhǔn)確率?

    在DBugHelper工具中,L VSM模型被用于查詢向量以及索引機(jī)制的構(gòu)建,從而影響bug修復(fù)方案的推薦.表3表明基于VSM和L VSM實(shí)現(xiàn)的DBugHelper在提供修復(fù)方案的準(zhǔn)確率上的差異.實(shí)驗(yàn)選取HDFS和MapReduce系統(tǒng)的bug報(bào)告數(shù)據(jù),利用與Q1中相同的方法,對工具的兩種實(shí)現(xiàn)方式作對比,以此證明L VSM模型在查詢相似bug報(bào)告的準(zhǔn)確率方面的提高.從表3的數(shù)據(jù)中可以發(fā)現(xiàn),基于L VSM實(shí)現(xiàn)的工具在Top N(N=1,5,15,20)上所提供bug修復(fù)方案的準(zhǔn)確率均高于VSM模型.在HDFS和MapReduce兩種系統(tǒng)的實(shí)驗(yàn)數(shù)據(jù)對比中,L VSM模型所實(shí)現(xiàn)的工具準(zhǔn)確率高于傳統(tǒng)VSM模型.傳統(tǒng)VSM所實(shí)現(xiàn)的DBugHelper的準(zhǔn)確率同樣滿足隨N值的遞增而遞增的趨勢,但整體趨勢均略低于L VSM模型.簡而言之,L VSM模型的提出有利于提高相似bug報(bào)告的查詢準(zhǔn)確率以及所提供bug修復(fù)方案的準(zhǔn)確率.

    表3 基于VSM與L VSM實(shí)現(xiàn)的DBugHelper的準(zhǔn)確率對比Tab.3Accuracy comparison between VSM and L VSM in DBugHelper

    Q3:DBugHelper的在線、離線處理模式能否提高查詢bug修復(fù)方案的效率?

    表4展現(xiàn)了在Q1實(shí)驗(yàn)條件下,不同系統(tǒng)及Top N所組成的實(shí)驗(yàn)中工具所執(zhí)行的時(shí)間.將系統(tǒng)HDFS的100個(gè)bug報(bào)告作為輸入條件,執(zhí)行工具100次輸出Top N(N=1,5,15,20)個(gè)bug修復(fù)方案所用時(shí)間,求算術(shù)平均值,所輸出的bug修復(fù)方案的準(zhǔn)確率如表2所示.

    表4 DBugHelper的執(zhí)行時(shí)間Tab.4Execution time in DBugHelper

    利用等式(12),計(jì)算時(shí)間與準(zhǔn)確率的比值TA作為評估DBugHelper效率的度量.如圖3所示,工具的TA值隨著N值的遞增呈現(xiàn)先上升后平穩(wěn)的趨勢.在Top 1到Top 5階段,工具的效率值呈現(xiàn)快速上升趨勢;但從Top 5到Top 20階段,工具效率值趨于平穩(wěn).對于不同的項(xiàng)目系統(tǒng),效率趨勢圖都比較相似或相近.TA作為時(shí)間與準(zhǔn)確率的比值,其物理意義在于單位準(zhǔn)確率下DBugHelper每個(gè)查詢的執(zhí)行時(shí)間.TA的值越小,工具的執(zhí)行效率越高,即在較短的時(shí)間內(nèi)能返回較為準(zhǔn)確的bug修復(fù)方案.

    本文利用三個(gè)方面的實(shí)驗(yàn)對DBugHelper工具進(jìn)行評估,分別為工具的準(zhǔn)確性、L VSM模型查詢相似bug報(bào)告的準(zhǔn)確性以及工具的效率.通過與傳統(tǒng)的VSM模型進(jìn)行對比實(shí)驗(yàn),進(jìn)一步闡明本文提出L VSM模型的必要性;通過對工具在準(zhǔn)確性和查詢效率兩方面的實(shí)驗(yàn)驗(yàn)證,并且將大規(guī)模分布式系統(tǒng)數(shù)據(jù)作為實(shí)驗(yàn)對象,進(jìn)一步證明本文所提出的適用于大規(guī)模分布式系統(tǒng)開發(fā)的Debug協(xié)助工具--DBugHelper的必要性和有效性.

    圖3 DBugHelper的效率趨勢圖Fig.3The efficiency of DBugHelper

    5 相關(guān)工作

    在系統(tǒng)的開發(fā)周期內(nèi),Debug工作至關(guān)重要.Bug的難以預(yù)知性和無法避免性導(dǎo)致其成本消耗巨大,有時(shí)甚至超過整個(gè)系統(tǒng)開發(fā)成本的三分之一[13].通過利用已有的bug報(bào)告、源代碼文件、系統(tǒng)日志等資源,為系統(tǒng)開發(fā)人員定位bug、修復(fù)bug等提供協(xié)助的工作一直被研究領(lǐng)域所關(guān)注.Lukins等人用LDA模型對bug報(bào)告進(jìn)行分析,從而對bug進(jìn)行有效定位[14].該方法利用LDA模型對所有bug報(bào)告和代碼源文件進(jìn)行主題抽取,根據(jù)所抽取的主題作為查詢條件對所有的資源文件進(jìn)行查詢.而DBugHelper利用bug報(bào)告所含的相關(guān)術(shù)語作為查詢屬性,更加完整地對bug相關(guān)資源文件進(jìn)行查詢,同時(shí)提高查詢效率、降低查詢時(shí)間.在他們的方法中,如果新提交的bug報(bào)告所提取出的主題較少,其所查詢出的資源文件準(zhǔn)確度就較低.DBugHelper充分利用bug報(bào)告所具有的特征,以主題相關(guān)的術(shù)語構(gòu)建文本向量,以此可以充分表示bug報(bào)告及其關(guān)聯(lián)關(guān)系.

    近些年,有關(guān)利用信息檢索的技術(shù)去進(jìn)行bug報(bào)告的分類、bug定位的方法不斷被提出. DBugHelper工具利用LDA和VSM相結(jié)合的手段對Bug報(bào)告進(jìn)行檢索和分析具有一定的優(yōu)勢,Rao等人[15]用具體的試驗(yàn)對Unigram Model(UM),Vector Space Model(VSM),Latent Semantic Analysis Model(LSA),Latent Dirichlet Allocation Model(LDA)以及Cluster Based Document Model(CBDM)進(jìn)行了對比,從結(jié)果可以發(fā)現(xiàn)UM和VSM從文本集中檢索相關(guān)文檔的效果更好.本文將LDA和VSM相結(jié)合對與Bug報(bào)告相關(guān)的文檔信息進(jìn)行檢索分析,在一定程度上比單一模型在準(zhǔn)確度上有了一定的提高.

    本文的工作也與很多軟件資料庫的挖掘工作有關(guān).大量有關(guān)系統(tǒng)軟件開發(fā)的數(shù)據(jù)資料越來越多地被人們所搜集,并且很多資料開始被用來分析和挖掘以解決與bug相關(guān)的眾多問題.許多研究人員通過挖掘bug報(bào)告及相關(guān)信息來解決與bug相關(guān)的一系列問題,如bug的自動(dòng)分類[16],二重bug報(bào)告的探測[17],以及bug的預(yù)測研究[1]等.隨著計(jì)算機(jī)技術(shù)的發(fā)展和應(yīng)用,面對更多大規(guī)模分布式系統(tǒng)或者其他系統(tǒng)軟件的開發(fā),大量的bug以及其相關(guān)信息被源源不斷地產(chǎn)生出來,用人工處理的方法已經(jīng)無法滿足當(dāng)前科技發(fā)展的需求,因此越來越多的研究人員著手用機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘等技術(shù)對這類數(shù)據(jù)進(jìn)行自動(dòng)分析處理.本文提出的工具,充分利用bug報(bào)告對大規(guī)模分布式系統(tǒng)的開發(fā)人員提供Debug協(xié)助.

    6 總結(jié)

    每當(dāng)新的bug報(bào)告來臨,系統(tǒng)開發(fā)人員需盡快掌握bug的特性,并尋找出合適的方案進(jìn)行bug的修復(fù).對于大規(guī)模分布式系統(tǒng)而言,bug產(chǎn)生原因更為復(fù)雜,除需要檢查系統(tǒng)自身可能出現(xiàn)的bug,還包括與之相關(guān)或緊密聯(lián)系的其他系統(tǒng),因此系統(tǒng)的bug更具有依賴性、傳遞性以及關(guān)聯(lián)性等特征.并且此類系統(tǒng)開發(fā)周期長、難度大,需要在其Debug工作上投入大量成本.本文充分挖掘大規(guī)模分布式系統(tǒng)bug的獨(dú)特性,利用信息檢索的相關(guān)方法,提出了一個(gè)適用于大規(guī)模分布式系統(tǒng)開發(fā)的Debug協(xié)助工具--DBugHelper.工具利用L VSM模型和聚類分析技術(shù)構(gòu)建了bug報(bào)告的查詢向量和bug修復(fù)方案的索引機(jī)制,采用在線、離線進(jìn)行數(shù)據(jù)處理的模式提高查詢效率和準(zhǔn)確率.評估結(jié)果階段,本文利用4個(gè)真實(shí)開源的分布式系統(tǒng)作實(shí)驗(yàn)對象,展現(xiàn)出DBugHelper推薦相關(guān)或相似bug修復(fù)方案的準(zhǔn)確性和高效性.

    后續(xù)我們將會(huì)繼續(xù)探究將分布式系統(tǒng)的詳細(xì)設(shè)計(jì)文檔信息加入到現(xiàn)在的方法中,從而進(jìn)一步提高工具推薦bug修復(fù)方案準(zhǔn)確度的問題.同時(shí)也將會(huì)把DBugHelper應(yīng)用到企業(yè)項(xiàng)目中,以真實(shí)地評估工具的有效性.

    [1]KIM S,ZIMMERMANN T,WHITEHEADE E J,et al.Predicting faults from cached history[C]//Proceedings of the 29th International Conference on Software Engineering.2007.

    [2]ZHOU J,ZHANG H,LO D.Where should the bugs be fixed?-more accurate information retrieval-based bug localization based on bug reports[C]//Proceedings of the 2012 International Conference on Software Engineering. 2012:14-24.

    [3]NGUYEN A T,NGUYEN T T,AL-KOFAHI J,et al.A topic-based approach for narrowing the search space of buggy files from a bug report[C]//Proceedings of the IEEE/ACM International Conference on Automated Software Engineering.2011:263-272.

    [4]ZHANG J,WANG X Y,HAO D,et al.A survey on bug-report analysis[J].Science China,2015,58(2):1-24.

    [5]Hadoop Map/Reduce[EB/OL].[2016-06-20].https://issues.apache.org/jira/browse/MAPREDUCE.

    [6]SUN X,LI B,LEUNG H,et al.MSR4SM:Using topic models to effectively mining software repositories for software maintenance tasks[J].Information&Software Technology,2015,66:1-12.

    [7]HUANG L,NG V,PERSING I,et al.AutoODC:Automated generation of orthogonal defect classifications[J]. Automated Software Engineering,2015,22(1):3-46.

    [8]THUNG F,LO D,JIANG L.Automatic defect categorization[C]//Proceedings of the 2012 19th Working Conference on Reverse Engineering(WCRE).IEEE,2012:205-214.

    [9]BLEI D M,NG A Y,JORDAN M I.Latent Dirichlet allocation[J].Journal of Machine Learning Research,2003: 993-1022.

    [10]THOMAS S W.Mining software repositories using topic models[C]//Proceedings of the 33rd International Conference on Software Engineering.2011:1138-1139.

    [11]MANNING C D,RAGHAVAN P,SCHüTZE H.Introduction to Information Retrieval[M].Cambridge:Cambridge University Press,2008.

    [12]KANUNGO T,MOUNT D M,NETANYAHU N S,et al.An efficient k-means clustering algorithm:Analysis and implementation[J].IEEE Transactions on Pattern Analysis&Machine Intelligence,2002,24(7):881-892.

    [13]SI X S,HU C H,ZHOU Z J.Fault prediction model based on evidential reasoning approach[J].Science China Information Sciences,2010,53(10):2032-2046.

    [14]LUKINS S K,KRAFT N A,ETZKORN L H.Bug localization using latent Dirichlet allocation[J].Information &Software Technology,2010,52(9):972-990.

    [15]RAO S,KAK A.Retrieval from software libraries for bug localization:A comparative study of generic and composite text models[C]//Proceedings of the International Working Conference on Mining Software Repositories. 2011:43-52.

    [16]PINGCLASAI N,HATA H,MATSUMOTO K.Classifying bug reports to bugs and other requests using topic modeling[C]//Proceedings of the Asia-Pacific Software Engineering Conference.IEEE Computer Society,2013: 13-18.

    [17]RUNESON P,ALEXANDERSSON M,NYHOLM O.Detection of duplicate defect reports using natural language processing[C]//Proceedings of the 29th International Conference on Software Engineering.2007:499-510.

    (責(zé)任編輯:林磊)

    DBugHelper:A Debug assistant tool for distributed systems

    ZHANG Yan-fei,ZHANG Chun-xi,LI Yu-ming,ZHANG Rong
    (Institute for Data Science and Engineering,Shanghai Key Laboratory of Trustworthy Computing,East China Normal University,Shanghai200062,China)

    Development of large-scale distributed systems has experienced a long developing period.During the whole development cycle,debug is one of the most important steps.We meet the challenges of finding all the bugs and the corresponding solutions fixing bugs in a short time.Bug reports record bug histories and solutions,which provide a way to understand bug features and help to find solutions for new bugs.After we analyze the bug reports and fixed solutions,we find that there are strong correlation and similarity among many large-scale distributed systems.Thus the developing and fixing scheme ofbugs may have similar characteristics.Then existed fixing solutions of bugs can be used to assist fixing new bugs.In this paper,we propose DBugHelper,a debug helping tool which can be applied to boost the development of large-scale distributed systems and provide a more effective way to fix bugs.In DBugHelper,the existed bug reports are processed offline,and the latest bug report is represented as a query vector.We query the bug report history database and find the similar bugs with their solutions.In such way,we suppose to shorten the whole system development period.

    large-scale distributed system;Debug;bug report;assistance

    TP391

    A

    10.3969/j.issn.1000-5641.2016.05.017

    1000-5641(2016)05-0153-12

    2016-05

    國家863計(jì)劃項(xiàng)目(2015AA015307);國家自然科學(xué)基金重點(diǎn)項(xiàng)目(61232002,61332006);國家自然科學(xué)基金(61432006)

    張燕飛,男,碩士研究生,研究方向?yàn)閿?shù)據(jù)庫系統(tǒng)、數(shù)據(jù)挖掘. E-mail:yfzhang@stu.ecnu.edu.cn.

    張蓉,女,博士,副教授,研究方向?yàn)榉植际綌?shù)據(jù)管理.E-mail:rzhang@sei.ecnu.edu.cn.

    猜你喜歡
    報(bào)告信息模型
    一半模型
    重要模型『一線三等角』
    重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
    一圖看懂十九大報(bào)告
    訂閱信息
    中華手工(2017年2期)2017-06-06 23:00:31
    報(bào)告
    3D打印中的模型分割與打包
    報(bào)告
    報(bào)告
    展會(huì)信息
    悠悠久久av| 久久久国产成人免费| 亚洲avbb在线观看| av不卡在线播放| 亚洲精品中文字幕在线视频| 人妻 亚洲 视频| 天堂中文最新版在线下载| av福利片在线| 午夜福利视频精品| 欧美+亚洲+日韩+国产| 久久久久精品人妻al黑| 中文字幕人妻熟女乱码| 99国产精品99久久久久| av线在线观看网站| 久久人妻福利社区极品人妻图片| 日韩大片免费观看网站| www日本在线高清视频| 国产日韩欧美亚洲二区| 美女脱内裤让男人舔精品视频| 黄色片一级片一级黄色片| 免费在线观看日本一区| 欧美日韩黄片免| 18禁国产床啪视频网站| 在线观看免费日韩欧美大片| 人人妻人人添人人爽欧美一区卜| 国产无遮挡羞羞视频在线观看| 国产不卡av网站在线观看| 国产精品av久久久久免费| 免费在线观看黄色视频的| 国产99久久九九免费精品| 热re99久久精品国产66热6| 1024香蕉在线观看| 国产av又大| 两个人看的免费小视频| 欧美 日韩 精品 国产| 他把我摸到了高潮在线观看 | 亚洲五月婷婷丁香| 成人影院久久| 蜜桃国产av成人99| av有码第一页| 欧美黄色淫秽网站| 午夜激情av网站| 美女中出高潮动态图| 成年美女黄网站色视频大全免费| 各种免费的搞黄视频| 一区二区三区四区激情视频| 国产在线一区二区三区精| videosex国产| 狂野欧美激情性xxxx| 国产亚洲精品一区二区www | 丝瓜视频免费看黄片| 国产一区二区激情短视频 | 在线观看一区二区三区激情| 国产福利在线免费观看视频| 欧美精品av麻豆av| 精品国产超薄肉色丝袜足j| 亚洲精品一二三| 丝袜人妻中文字幕| 脱女人内裤的视频| 女人高潮潮喷娇喘18禁视频| 亚洲国产精品一区二区三区在线| 国产精品欧美亚洲77777| 欧美日韩av久久| 国产主播在线观看一区二区| 欧美精品一区二区免费开放| 男男h啪啪无遮挡| 好男人电影高清在线观看| 美女高潮到喷水免费观看| 免费在线观看黄色视频的| 国产免费视频播放在线视频| 一个人免费看片子| 一级,二级,三级黄色视频| 亚洲精品国产一区二区精华液| 手机成人av网站| 巨乳人妻的诱惑在线观看| 精品乱码久久久久久99久播| 久久久国产成人免费| 日日爽夜夜爽网站| 自线自在国产av| 一个人免费在线观看的高清视频 | 久久久久久久大尺度免费视频| 老汉色av国产亚洲站长工具| 精品一区二区三区四区五区乱码| 老司机影院成人| 美女中出高潮动态图| 久久久久久久久久久久大奶| 一级毛片女人18水好多| 国产在线一区二区三区精| 91av网站免费观看| 亚洲欧洲精品一区二区精品久久久| 秋霞在线观看毛片| 国产免费现黄频在线看| 中文精品一卡2卡3卡4更新| a级毛片黄视频| 日韩欧美一区视频在线观看| 两性夫妻黄色片| 啦啦啦在线免费观看视频4| 亚洲全国av大片| 国产一区二区三区在线臀色熟女 | 亚洲精品一二三| 香蕉国产在线看| 窝窝影院91人妻| 欧美+亚洲+日韩+国产| 大陆偷拍与自拍| e午夜精品久久久久久久| 亚洲欧洲精品一区二区精品久久久| 操美女的视频在线观看| 91精品三级在线观看| 午夜福利在线免费观看网站| 久久久久久亚洲精品国产蜜桃av| 在线十欧美十亚洲十日本专区| 久久精品熟女亚洲av麻豆精品| 色精品久久人妻99蜜桃| 日日夜夜操网爽| 国产深夜福利视频在线观看| 久久久久久久久久久久大奶| 国产成人免费无遮挡视频| 韩国精品一区二区三区| 亚洲av欧美aⅴ国产| 国产高清国产精品国产三级| 欧美亚洲日本最大视频资源| 美女脱内裤让男人舔精品视频| av网站在线播放免费| 亚洲精品成人av观看孕妇| 久久久久精品人妻al黑| 亚洲国产欧美在线一区| 婷婷成人精品国产| 黄频高清免费视频| 欧美久久黑人一区二区| av在线app专区| 大型av网站在线播放| 国产片内射在线| 欧美日韩黄片免| 人人妻人人澡人人爽人人夜夜| 国产成人欧美在线观看 | 黑人欧美特级aaaaaa片| 波多野结衣av一区二区av| 美女大奶头黄色视频| 丰满迷人的少妇在线观看| 少妇粗大呻吟视频| 亚洲av日韩在线播放| 精品第一国产精品| av天堂在线播放| 国产福利在线免费观看视频| 一级毛片精品| 午夜免费观看性视频| 国产精品成人在线| 国产亚洲精品一区二区www | 国产精品久久久人人做人人爽| 91国产中文字幕| 在线观看免费高清a一片| 国产成人系列免费观看| 国产av又大| 搡老熟女国产l中国老女人| 免费在线观看影片大全网站| 久久人妻熟女aⅴ| 中文字幕人妻丝袜制服| 亚洲精品国产一区二区精华液| 韩国高清视频一区二区三区| 欧美xxⅹ黑人| av国产精品久久久久影院| 国产亚洲精品第一综合不卡| 久久精品亚洲av国产电影网| 老司机影院成人| 欧美黄色片欧美黄色片| 桃花免费在线播放| 欧美日韩黄片免| 黄色视频,在线免费观看| 熟女少妇亚洲综合色aaa.| 精品国产超薄肉色丝袜足j| 女性生殖器流出的白浆| 男女高潮啪啪啪动态图| 国产野战对白在线观看| 亚洲色图 男人天堂 中文字幕| 美国免费a级毛片| 欧美变态另类bdsm刘玥| 国产成人免费观看mmmm| 另类精品久久| 国产精品欧美亚洲77777| 一级黄色大片毛片| 国产精品av久久久久免费| 国产片内射在线| 91字幕亚洲| 人成视频在线观看免费观看| 高清在线国产一区| 精品乱码久久久久久99久播| 久久这里只有精品19| 国产精品99久久99久久久不卡| 日韩三级视频一区二区三区| 一级毛片电影观看| 丁香六月天网| 99精品久久久久人妻精品| 在线十欧美十亚洲十日本专区| 国产不卡av网站在线观看| 国产麻豆69| 亚洲国产精品成人久久小说| 大陆偷拍与自拍| 中文字幕最新亚洲高清| 天天影视国产精品| 青草久久国产| 成年人午夜在线观看视频| 亚洲久久久国产精品| 亚洲免费av在线视频| 亚洲五月色婷婷综合| 老司机影院毛片| 高清在线国产一区| 啦啦啦免费观看视频1| 国产av又大| 欧美精品啪啪一区二区三区 | 国产亚洲午夜精品一区二区久久| 亚洲少妇的诱惑av| 国产一区二区三区av在线| 欧美人与性动交α欧美软件| 成人亚洲精品一区在线观看| 人人澡人人妻人| 国产精品麻豆人妻色哟哟久久| 大香蕉久久成人网| 9热在线视频观看99| 一二三四社区在线视频社区8| 亚洲成国产人片在线观看| 久久久精品区二区三区| 狠狠狠狠99中文字幕| 免费在线观看日本一区| 亚洲视频免费观看视频| av网站在线播放免费| 在线亚洲精品国产二区图片欧美| 桃红色精品国产亚洲av| 下体分泌物呈黄色| 日韩欧美免费精品| 精品国产乱子伦一区二区三区 | 91老司机精品| 国产又爽黄色视频| 日本撒尿小便嘘嘘汇集6| 亚洲中文字幕日韩| 亚洲精华国产精华精| 一级毛片精品| 99国产精品免费福利视频| av又黄又爽大尺度在线免费看| 美女视频免费永久观看网站| 超色免费av| 欧美人与性动交α欧美软件| 老司机影院毛片| 两个人看的免费小视频| 国产精品久久久人人做人人爽| e午夜精品久久久久久久| 999久久久精品免费观看国产| 男女之事视频高清在线观看| 亚洲av片天天在线观看| 国产在线免费精品| 久久综合国产亚洲精品| 亚洲精品久久成人aⅴ小说| 国产一区二区在线观看av| 国产日韩欧美视频二区| 日本a在线网址| 免费一级毛片在线播放高清视频 | 后天国语完整版免费观看| 亚洲国产精品成人久久小说| 51午夜福利影视在线观看| 国产成人免费无遮挡视频| 亚洲精品一二三| 自拍欧美九色日韩亚洲蝌蚪91| 中文字幕制服av| 18在线观看网站| 亚洲va日本ⅴa欧美va伊人久久 | 国产免费视频播放在线视频| 久久av网站| 欧美一级毛片孕妇| 国产亚洲精品第一综合不卡| 精品久久久久久电影网| 精品福利观看| 在线精品无人区一区二区三| 国产av又大| 天堂8中文在线网| 99久久人妻综合| 免费观看av网站的网址| av又黄又爽大尺度在线免费看| 亚洲精品成人av观看孕妇| 成年人免费黄色播放视频| 在线观看免费午夜福利视频| 婷婷成人精品国产| 亚洲激情五月婷婷啪啪| 我要看黄色一级片免费的| 国产一区二区激情短视频 | 岛国毛片在线播放| 午夜免费鲁丝| 欧美黄色片欧美黄色片| 久久影院123| 免费少妇av软件| 国产麻豆69| 亚洲国产欧美日韩在线播放| 两性夫妻黄色片| 水蜜桃什么品种好| 美女大奶头黄色视频| 又黄又粗又硬又大视频| 日韩熟女老妇一区二区性免费视频| 国产日韩一区二区三区精品不卡| 1024香蕉在线观看| 亚洲欧洲精品一区二区精品久久久| 日韩视频在线欧美| 中文字幕人妻熟女乱码| 欧美 亚洲 国产 日韩一| 午夜免费观看性视频| 精品国产乱码久久久久久小说| 国产精品久久久久成人av| h视频一区二区三区| 精品久久久久久电影网| 亚洲精品一区蜜桃| 精品久久久久久电影网| 精品亚洲乱码少妇综合久久| 日韩一卡2卡3卡4卡2021年| 三上悠亚av全集在线观看| 黄片大片在线免费观看| 亚洲欧美激情在线| 丝袜人妻中文字幕| 一边摸一边做爽爽视频免费| 视频区图区小说| 老司机深夜福利视频在线观看 | √禁漫天堂资源中文www| 欧美亚洲日本最大视频资源| 欧美日韩成人在线一区二区| 一区二区三区激情视频| 亚洲五月婷婷丁香| 精品国产超薄肉色丝袜足j| 午夜福利在线观看吧| 五月天丁香电影| 日韩欧美免费精品| 丝袜美足系列| 久久女婷五月综合色啪小说| 丝袜美足系列| 亚洲精品一二三| 操美女的视频在线观看| 欧美日韩精品网址| 国产免费福利视频在线观看| 老司机亚洲免费影院| 大陆偷拍与自拍| 精品少妇内射三级| 色94色欧美一区二区| 精品一区二区三区av网在线观看 | 亚洲精品一二三| 桃花免费在线播放| 国产精品一二三区在线看| 亚洲精品一二三| av片东京热男人的天堂| 一级黄色大片毛片| 亚洲一码二码三码区别大吗| 咕卡用的链子| 亚洲精品一二三| 两人在一起打扑克的视频| 亚洲专区中文字幕在线| 国产成人av教育| 三上悠亚av全集在线观看| 亚洲精品日韩在线中文字幕| 脱女人内裤的视频| 精品视频人人做人人爽| 亚洲精品日韩在线中文字幕| 午夜福利视频精品| 考比视频在线观看| 后天国语完整版免费观看| 国产亚洲一区二区精品| 在线观看免费日韩欧美大片| 日韩中文字幕欧美一区二区| 亚洲色图 男人天堂 中文字幕| 国产亚洲av高清不卡| 久久久久久久久久久久大奶| 美女国产高潮福利片在线看| 国产一区二区激情短视频 | 久久国产精品男人的天堂亚洲| 亚洲av国产av综合av卡| 久久国产亚洲av麻豆专区| 啦啦啦 在线观看视频| 日日夜夜操网爽| 国产在线免费精品| 99久久99久久久精品蜜桃| 天天添夜夜摸| 99国产精品一区二区三区| 免费女性裸体啪啪无遮挡网站| 又黄又粗又硬又大视频| 天天添夜夜摸| 欧美乱码精品一区二区三区| 久久人妻熟女aⅴ| 99国产精品一区二区三区| 久久中文字幕一级| 看免费av毛片| 男女无遮挡免费网站观看| 精品熟女少妇八av免费久了| 国产精品1区2区在线观看. | 亚洲国产精品999| 我的亚洲天堂| 久久亚洲国产成人精品v| 亚洲精品国产一区二区精华液| av线在线观看网站| 黄片大片在线免费观看| 91精品伊人久久大香线蕉| 亚洲全国av大片| 午夜福利在线观看吧| 黑人操中国人逼视频| 美女高潮喷水抽搐中文字幕| 成人国产av品久久久| 岛国在线观看网站| 日韩熟女老妇一区二区性免费视频| 久久影院123| 亚洲欧美色中文字幕在线| 男人操女人黄网站| av免费在线观看网站| 国产免费现黄频在线看| 亚洲国产精品一区三区| 国产淫语在线视频| 精品一区二区三区四区五区乱码| 亚洲欧美精品综合一区二区三区| av有码第一页| 久久综合国产亚洲精品| 亚洲成人免费av在线播放| 日本vs欧美在线观看视频| 新久久久久国产一级毛片| 十分钟在线观看高清视频www| 亚洲第一av免费看| 国产精品 欧美亚洲| 人妻 亚洲 视频| 亚洲国产精品一区三区| 国产亚洲欧美在线一区二区| 无限看片的www在线观看| 永久免费av网站大全| 亚洲欧美精品综合一区二区三区| 日本av免费视频播放| 午夜精品国产一区二区电影| 成人国语在线视频| 日韩欧美一区视频在线观看| 精品一区在线观看国产| 亚洲国产日韩一区二区| 亚洲精品久久午夜乱码| 国产欧美日韩一区二区三 | 新久久久久国产一级毛片| 久9热在线精品视频| 一级a爱视频在线免费观看| 十八禁人妻一区二区| 亚洲国产欧美日韩在线播放| 国产区一区二久久| 美女午夜性视频免费| 国产片内射在线| 99国产精品免费福利视频| 91精品伊人久久大香线蕉| 少妇裸体淫交视频免费看高清 | 成在线人永久免费视频| 亚洲国产精品成人久久小说| 亚洲美女黄色视频免费看| 久久久久久久大尺度免费视频| 精品一区二区三区四区五区乱码| 亚洲精品国产av蜜桃| 国产精品成人在线| 两性午夜刺激爽爽歪歪视频在线观看 | 69精品国产乱码久久久| 亚洲少妇的诱惑av| 多毛熟女@视频| 亚洲成av片中文字幕在线观看| 日日夜夜操网爽| 日韩熟女老妇一区二区性免费视频| 欧美日韩国产mv在线观看视频| 永久免费av网站大全| 侵犯人妻中文字幕一二三四区| 国产无遮挡羞羞视频在线观看| 亚洲精品日韩在线中文字幕| 久久久久久久国产电影| 亚洲成国产人片在线观看| 日韩欧美一区视频在线观看| 久久青草综合色| 亚洲人成77777在线视频| 国产免费一区二区三区四区乱码| 亚洲精品粉嫩美女一区| 黄色怎么调成土黄色| 91麻豆精品激情在线观看国产 | 成人亚洲精品一区在线观看| 女性被躁到高潮视频| a在线观看视频网站| 18禁观看日本| 中文字幕色久视频| 亚洲成人国产一区在线观看| 精品卡一卡二卡四卡免费| 男女下面插进去视频免费观看| 日日夜夜操网爽| 91av网站免费观看| 亚洲欧美激情在线| 操出白浆在线播放| 欧美 日韩 精品 国产| 久9热在线精品视频| 啦啦啦啦在线视频资源| 精品国产乱码久久久久久小说| 亚洲国产毛片av蜜桃av| 久久久久精品国产欧美久久久 | 黑人猛操日本美女一级片| 国产一区二区三区综合在线观看| 国产精品久久久久成人av| 最新的欧美精品一区二区| 久久人人97超碰香蕉20202| av又黄又爽大尺度在线免费看| 午夜福利乱码中文字幕| 午夜激情久久久久久久| 青春草视频在线免费观看| 国产亚洲欧美精品永久| 一区福利在线观看| av国产精品久久久久影院| 肉色欧美久久久久久久蜜桃| 久久久精品区二区三区| 99久久精品国产亚洲精品| 一区二区日韩欧美中文字幕| 窝窝影院91人妻| 亚洲av电影在线进入| 精品国产国语对白av| 俄罗斯特黄特色一大片| 精品国产国语对白av| 香蕉丝袜av| 侵犯人妻中文字幕一二三四区| 国产极品粉嫩免费观看在线| 国产淫语在线视频| 日日摸夜夜添夜夜添小说| 99国产综合亚洲精品| 99九九在线精品视频| 黑丝袜美女国产一区| 亚洲欧美清纯卡通| 中文字幕人妻丝袜制服| 在线十欧美十亚洲十日本专区| 亚洲精品中文字幕一二三四区 | 男女无遮挡免费网站观看| 高潮久久久久久久久久久不卡| 黄频高清免费视频| 999精品在线视频| 亚洲第一欧美日韩一区二区三区 | 俄罗斯特黄特色一大片| 黄网站色视频无遮挡免费观看| 亚洲av男天堂| 久久av网站| 中文字幕精品免费在线观看视频| 如日韩欧美国产精品一区二区三区| 少妇精品久久久久久久| 两个人看的免费小视频| 性色av乱码一区二区三区2| 妹子高潮喷水视频| 精品欧美一区二区三区在线| 成年人免费黄色播放视频| 欧美激情久久久久久爽电影 | 国产一区二区 视频在线| 久久中文字幕一级| 另类精品久久| 日本撒尿小便嘘嘘汇集6| 亚洲国产毛片av蜜桃av| 欧美日韩亚洲国产一区二区在线观看 | 欧美激情极品国产一区二区三区| 久久国产亚洲av麻豆专区| 国产av精品麻豆| 一本久久精品| 久久精品国产亚洲av高清一级| 777久久人妻少妇嫩草av网站| 亚洲精品自拍成人| 超碰97精品在线观看| 99精品久久久久人妻精品| 午夜精品国产一区二区电影| 色婷婷av一区二区三区视频| 国产精品麻豆人妻色哟哟久久| 免费久久久久久久精品成人欧美视频| 男女无遮挡免费网站观看| 欧美另类一区| 美女高潮喷水抽搐中文字幕| 国精品久久久久久国模美| 亚洲人成77777在线视频| 亚洲自偷自拍图片 自拍| 天天操日日干夜夜撸| 亚洲五月色婷婷综合| 99久久国产精品久久久| 午夜福利一区二区在线看| 在线观看舔阴道视频| 91国产中文字幕| 巨乳人妻的诱惑在线观看| 日日爽夜夜爽网站| 亚洲激情五月婷婷啪啪| 亚洲成人免费av在线播放| 久久久久久久久免费视频了| 国产免费现黄频在线看| 欧美精品啪啪一区二区三区 | 天堂8中文在线网| 日韩三级视频一区二区三区| 人妻人人澡人人爽人人| 天堂中文最新版在线下载| 久久久久久免费高清国产稀缺| 精品久久蜜臀av无| 久久毛片免费看一区二区三区| 免费在线观看日本一区| 国产精品自产拍在线观看55亚洲 | 色综合欧美亚洲国产小说| 日韩,欧美,国产一区二区三区| 国产精品99久久99久久久不卡| 免费不卡黄色视频| 日本精品一区二区三区蜜桃| 欧美激情久久久久久爽电影 | 欧美国产精品一级二级三级| 久久久水蜜桃国产精品网| 咕卡用的链子| 最近最新免费中文字幕在线| 999久久久精品免费观看国产| 国产一区二区在线观看av| 日韩欧美一区视频在线观看| av电影中文网址| 99香蕉大伊视频| 蜜桃在线观看..| 在线十欧美十亚洲十日本专区| 99久久国产精品久久久| 精品乱码久久久久久99久播| 岛国在线观看网站| 极品人妻少妇av视频| 亚洲第一青青草原| netflix在线观看网站| 伊人亚洲综合成人网| 老汉色∧v一级毛片| 国产97色在线日韩免费| 在线永久观看黄色视频| 久久青草综合色| 精品国产一区二区三区久久久樱花|