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

    基于FSM的UML模型與代碼一致性動(dòng)態(tài)檢測(cè)

    2022-01-11 05:06:04宋慧娜
    關(guān)鍵詞:函數(shù)調(diào)用源代碼調(diào)用

    王 雷,張 帥,宋慧娜

    (1.延安大學(xué) 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院;2.陜西省能源大數(shù)據(jù)智能處理省市共建重點(diǎn)實(shí)驗(yàn)室; 3.延安大學(xué) 上海文思海輝聯(lián)合實(shí)驗(yàn)室(大數(shù)據(jù)應(yīng)用開(kāi)發(fā)方向),陜西 延安 716000)

    UML[1]是目前面向?qū)ο蟪绦蛟O(shè)計(jì)中使用最廣泛的建模技術(shù)。在基于UML的軟件開(kāi)發(fā)過(guò)程中,應(yīng)用程序員需要根據(jù)UML面向?qū)ο蠓治雠c設(shè)計(jì)結(jié)果來(lái)編寫程序。然而,在實(shí)際的編程過(guò)程中,往往會(huì)因?yàn)閼?yīng)用程序員的個(gè)人水平、軟件設(shè)計(jì)師和應(yīng)用程序員存在理解偏差以及趕進(jìn)度和節(jié)約成本等各種各樣的原因?qū)е耈ML模型與編寫的源代碼之間存在不一致。此外,敏捷開(kāi)發(fā)模式已經(jīng)成為目前軟件領(lǐng)域的主流開(kāi)發(fā)方法之一[2]。該開(kāi)發(fā)方法強(qiáng)調(diào)可運(yùn)行的軟件勝過(guò)寬泛的文檔,強(qiáng)調(diào)對(duì)變更的響應(yīng)勝過(guò)按部就班的遵循計(jì)劃[3-4]。因此,對(duì)于使用敏捷開(kāi)發(fā)方法構(gòu)建的軟件系統(tǒng),UML模型與源代碼的不一致問(wèn)題更為嚴(yán)重。使用軟件工程工具自動(dòng)檢測(cè)出UML模型與源代碼之間存在的不一致并對(duì)存在的不一致進(jìn)行修改,可以為軟件項(xiàng)目,尤其是大型軟件項(xiàng)目后期的理解、維護(hù)和重構(gòu)提供便利。近10年來(lái),隨著物聯(lián)網(wǎng)、大數(shù)據(jù)、云計(jì)算、人工智能等前沿技術(shù)的興起,軟件系統(tǒng)的規(guī)模越來(lái)越大,復(fù)雜程序越來(lái)越高,UML模型與源代碼一致性檢測(cè)的研究就變得越來(lái)越有必要。

    目前國(guó)內(nèi)外有很多學(xué)者致力于UML的各種模型之間一致性檢測(cè)問(wèn)題的研究。例如,Ekanayake等[5]提出一種UML類圖和順序圖一致性檢測(cè)方法;Yao等[6]、錢成等[7]、杜杰等[8]研究了基于模型檢測(cè)的UML順序圖和狀態(tài)圖一致性檢測(cè);Chanda等[9]提出一種UML類圖、用例圖和活動(dòng)圖之間的一致性檢測(cè)方法;Khai等[10]給出一種基于Prolog的UML類圖和順序圖一致性檢測(cè)方法;Kowal等在文獻(xiàn)[11-12]中提出一種基于UML的多層建模方法,并在文獻(xiàn)[13]中討論了不同級(jí)別的UML模型的一致性檢測(cè);Straeten等[14]提出一種基于描述邏輯(description logic)的UML模型不同版本之間的一致性檢測(cè)和解決方法;Long等[15]、Chama等[16]探索了由UML模型自動(dòng)生成一致性代碼的方法。這些文獻(xiàn)均無(wú)法對(duì)源代碼和UML模型之間的不一致進(jìn)行檢測(cè)。

    針對(duì)UML模型與代碼之間的一致性檢測(cè)的研究還比較少。曾一等[17]通過(guò)對(duì)Java源代碼的詞法分析和語(yǔ)法分析獲取類的信息及方法調(diào)用圖(CG,call graph),然后將類的信息以及CG與UML模型進(jìn)行匹配;Pires等[18]自動(dòng)生成從UML類圖到Java代碼的設(shè)計(jì)測(cè)試,這些代碼扮演設(shè)計(jì)測(cè)試和實(shí)現(xiàn)語(yǔ)言的雙重角色;Chavez等[19]試圖檢查在測(cè)試用例上調(diào)用Java程序之后生成的狀態(tài)是否與UML設(shè)計(jì)類圖關(guān)聯(lián)的所有約束一致。這些方法都未通過(guò)動(dòng)態(tài)執(zhí)行源代碼來(lái)檢測(cè)UML模型與代碼的一致性,因此這些方法無(wú)法檢測(cè)出只有通過(guò)動(dòng)態(tài)執(zhí)行源代碼才能發(fā)現(xiàn)的不一致。

    針對(duì)以上問(wèn)題,提出一種基于圖論和FSM的UML模型與源代碼一致性檢測(cè)方法。在之前的研究中[20],已經(jīng)討論了基于圖論的UML模型(目前只考慮UML類圖和順序圖)與源代碼一致性靜態(tài)檢測(cè)方法,并初步討論了UML模型與代碼一致性動(dòng)態(tài)檢測(cè)。在此基礎(chǔ)上,本文討論了基于FSM的UML模型與代碼一致性動(dòng)態(tài)檢測(cè)方法。該方法執(zhí)行源代碼并捕獲方法調(diào)用跟蹤,將捕獲的方法調(diào)用與UML順序圖轉(zhuǎn)換得到的FSM進(jìn)行匹配,以此來(lái)檢測(cè)動(dòng)態(tài)行為的一致性。實(shí)驗(yàn)結(jié)果表明,在基于圖論的UML模型與代碼一致性靜態(tài)檢測(cè)的基礎(chǔ)上,該方法可以對(duì)UML模型與代碼的一致性進(jìn)行動(dòng)態(tài)檢測(cè)。相對(duì)于僅進(jìn)行靜態(tài)檢測(cè)的方法,本文可以檢測(cè)出更多的不一致,具有更高的檢測(cè)準(zhǔn)確率。

    1 基本流程

    在前期研究中[20],作者提出一種基于圖論和FSM的UML模型與源代碼一致性檢測(cè)方法,基本思路如圖1所示。

    UML模型與代碼的一致性靜態(tài)檢測(cè)已經(jīng)在文獻(xiàn)[20]中進(jìn)行了詳細(xì)討論,本文接著進(jìn)行一致性動(dòng)態(tài)檢測(cè)以提高檢測(cè)的精確率。

    UML模型與代碼一致性動(dòng)態(tài)檢測(cè)的基本流程是:首先將UML順序圖轉(zhuǎn)換為FSM。然后監(jiān)視正在分析的程序的函數(shù)調(diào)用,并將它們與UML順序圖轉(zhuǎn)換得到的FSM進(jìn)行匹配。若匹配不成功則說(shuō)明存在不一致,修改源代碼直到源代碼的動(dòng)態(tài)行為與UML順序圖完全一致。

    圖1 基于圖論和FSM的UML模型與源代碼 一致性檢測(cè)基本思路

    2 UML順序圖到FSM的轉(zhuǎn)換

    要使用FSM的驗(yàn)證技術(shù)對(duì)UML順序圖和源代碼進(jìn)行一致性檢測(cè),首先需要將UML順序圖轉(zhuǎn)換為FSM模型。UML 2.0序列圖有兩類基本元素:函數(shù)調(diào)用和交互片段。下面定義從序列圖的兩種基本元素到FSM的轉(zhuǎn)換規(guī)則(本文借鑒了文獻(xiàn)[21]轉(zhuǎn)換方法并對(duì)其進(jìn)行了細(xì)化)。

    1)函數(shù)調(diào)用

    規(guī)則1 對(duì)于函數(shù)調(diào)用,轉(zhuǎn)換為兩個(gè)狀態(tài)和他們之間的轉(zhuǎn)移。如圖2所示。

    圖2 函數(shù)調(diào)用到FSM的轉(zhuǎn)換

    其中轉(zhuǎn)移接收的符號(hào)由來(lái)源于順序圖的變量的連結(jié)組成:調(diào)用者的類對(duì)象(A),調(diào)用符號(hào)“->”,被調(diào)用者的類(B),以及被調(diào)用函數(shù)m1(后兩者用點(diǎn)分隔)。

    對(duì)于兩個(gè)順序的函數(shù)調(diào)用,將二者分別按照規(guī)則1轉(zhuǎn)換,然后將第一個(gè)調(diào)用的FSM的結(jié)束狀態(tài)與第二個(gè)調(diào)用的FSM的開(kāi)始狀態(tài)合并。如圖3所示。

    圖3 順序調(diào)用到FSM的轉(zhuǎn)換

    2)交互片段

    規(guī)則2 對(duì)于可選(optional)調(diào)用,轉(zhuǎn)換為兩個(gè)狀態(tài)和他們之間的兩個(gè)轉(zhuǎn)移。其中一個(gè)轉(zhuǎn)移接收的符號(hào)同普通函數(shù)調(diào)用,另一個(gè)接收空符號(hào)ε。如圖4所示。

    圖4 可選調(diào)用到FSM的轉(zhuǎn)換

    規(guī)則3 對(duì)于循環(huán)(loop),轉(zhuǎn)換為一個(gè)開(kāi)始狀態(tài)和一個(gè)結(jié)束狀態(tài),再加一個(gè)接收空符號(hào)的轉(zhuǎn)移。該轉(zhuǎn)移直接從結(jié)束狀態(tài)到開(kāi)始狀態(tài)來(lái)重復(fù)循環(huán)。如圖5所示。

    圖5 循環(huán)到FSM的轉(zhuǎn)換

    規(guī)則4 對(duì)于若干個(gè)供選擇的(alternative)調(diào)用,轉(zhuǎn)換為兩個(gè)狀態(tài)和他們之間的若干個(gè)轉(zhuǎn)移。每個(gè)轉(zhuǎn)移接收的符號(hào)對(duì)應(yīng)一個(gè)分支。如圖6所示。

    圖6 供選擇的調(diào)用到FSM的轉(zhuǎn)換

    這里繼續(xù)以筆者所在實(shí)驗(yàn)室研發(fā)的UML模型正確性檢測(cè)工具UML Checker1.0[22]為例來(lái)說(shuō)明UML順序圖到FSM的轉(zhuǎn)換。根據(jù)上述轉(zhuǎn)換規(guī)則,將文獻(xiàn)[20]中圖3所示UML順序圖轉(zhuǎn)換為FSM模型,如圖7所示(標(biāo)有箭頭的節(jié)點(diǎn)表示初始狀態(tài),雙圈節(jié)點(diǎn)表示終結(jié)狀態(tài))。

    3 函數(shù)調(diào)用與FSM的匹配

    將UML順序圖轉(zhuǎn)換為FSM后,就可以監(jiān)視正在分析的程序的函數(shù)調(diào)用并將其與轉(zhuǎn)換得到的FSM進(jìn)行匹配。詳細(xì)步驟如下:

    步驟1 對(duì)于每個(gè)待檢測(cè)功能模塊,設(shè)計(jì)合適的測(cè)試用例。

    步驟2 對(duì)于每個(gè)測(cè)試用例,執(zhí)行源代碼并捕獲方法調(diào)用跟蹤。

    步驟3 將捕獲到的方法調(diào)用跟蹤發(fā)送到FSM。這里為FSM的狀態(tài)引入一個(gè)令牌(Token)(圖7中的黑點(diǎn))。令牌在FSM中的位置表示FSM當(dāng)前的狀態(tài)。從初始狀態(tài)出發(fā),依次檢測(cè)是否存在消耗方法調(diào)用跟蹤中的事件的從當(dāng)前狀態(tài)出發(fā)的傳出轉(zhuǎn)移。事件的調(diào)用者和被調(diào)用者的類和方法必須匹配轉(zhuǎn)換符號(hào)中指定的類和方法。如果匹配成功,那么轉(zhuǎn)移會(huì)消耗該事件并將令牌移動(dòng)到轉(zhuǎn)移的目標(biāo)狀態(tài)。

    圖7 模型導(dǎo)入功能的UML順序圖的FSM表示

    步驟4 若方法調(diào)用跟蹤中的事件全部匹配成功,同時(shí)FSM到達(dá)終結(jié)狀態(tài),則說(shuō)明方法調(diào)用跟蹤與FSM一致。否則給出不一致說(shuō)明并手動(dòng)修改源代碼直到方法調(diào)用跟蹤與FSM完全一致。

    繼續(xù)以UML Checker1.0為例來(lái)說(shuō)明UML順序圖和源代碼的動(dòng)態(tài)行為一致性檢測(cè)。這里為UMLChecker1.0的模型導(dǎo)入功能提供兩個(gè)測(cè)試用例:一個(gè)XML格式文件作為正常輸入,一個(gè)非XML格式文件作為異常輸入。導(dǎo)入XML格式文件捕獲到的方法調(diào)用跟蹤如下(只列出前12個(gè)方法調(diào)用事件和最后一個(gè)調(diào)用事件):

    U2CChckerDlg->CResolve.GetUMLFromXML

    CResolve->CResolve.GetClassFromXML

    CResolve->CClass.SetColor

    CResolve->CClass.SetX

    CResolve->CClass.SetY

    (CResolve->CClass.SetWidth

    CResolve->CClass.SetHeight

    CResolve->CClass.SetAllOperation

    CResolve->CClass.SetVctAllAttribute

    CResolve->CClass.SetName

    CResolve->CClass.SetX

    CResolve->CClass.SetY

    ……

    U2CChckerDlg->U2CChckerDlg.DrawRelationship

    將上述調(diào)用跟蹤發(fā)送到圖7所示FSM。存在消耗事件U2CChckerDlg->CResolve.GetUMLFromXML的從當(dāng)前狀態(tài)q0出發(fā)的傳出轉(zhuǎn)移。該轉(zhuǎn)移消耗該事件并將令牌移動(dòng)到該轉(zhuǎn)移的目標(biāo)狀態(tài)q2。類似地,依次消耗事件

    CResolve->CResolve.GetClassFromXML

    CResolve->CClass.SetColor

    CResolve->CClass.SetX

    CResolve->CClass.SetY

    (CResolve->CClass.SetWidth

    CResolve->CClass.SetHeight

    CResolve->CClass.SetAllOperation

    CResolve->CClass.SetVctAllAttribute

    CResolve->CClass.SetName

    此時(shí)令牌移動(dòng)到狀態(tài)q10(如圖7所示)。對(duì)于事件CResolve->CClass.SetX,不存在消耗該事件的從q10出發(fā)的傳出轉(zhuǎn)移,但q10有一個(gè)接收空符號(hào)的轉(zhuǎn)移,則令牌重新回到狀態(tài)q3。此時(shí)存在消耗事件CResolve->CClass.SetX的從q3出發(fā)的傳出轉(zhuǎn)移,消耗該事件并將令牌移動(dòng)到狀態(tài)q4。重復(fù)這個(gè)過(guò)程,直到到達(dá)終結(jié)狀態(tài)q46。說(shuō)明方法調(diào)用跟蹤與FMS一致。

    導(dǎo)入非XML類型文件捕獲到的方法調(diào)用跟蹤如下:

    U2CChckerDlg->CResolve.GetUMLFromXML

    CResolve->CResolve.GetClassFromXML

    CResolve->CClass.SetColor

    CResolve->CClass.SetX

    CResolve->CClass.SetY

    (CResolve->CClass.SetWidth

    CResolve->CClass.SetHeight

    CResolve->CClass.SetAllOperation

    CResolve->CClass.SetVctAllAttribute

    CResolve->CClass.SetName

    CResolve->CResolve.GetRelationshipFromXML

    CResolve->CRelationship.SetColor

    CResolve->CRelationship.SetRelationshipNo

    CResolve->CRelationship.SetType

    (CResolve->CRelationship.SetFromX

    CResolve->CRelationship.SetFromY

    CResolve->CRelationship.SetToX

    CResolve->CRelationship.SetToY

    CResolve->CRelationship.SetFromClass

    CResolve->CRelationship.SetToClass

    CResolve->CRelationship.SetXY

    當(dāng)令牌到達(dá)狀態(tài)q22時(shí),方法調(diào)用跟蹤中的事件全部消耗,而此時(shí)FSM未到達(dá)終結(jié)狀態(tài),則說(shuō)明不一致。事實(shí)上,對(duì)于UML順序圖,如果不是XML文件則直接退出。而源代碼執(zhí)行了一趟類和關(guān)系的解析過(guò)程后才退出(源代碼未成功判斷該文件不是XML格式)。如果不實(shí)際執(zhí)行源代碼只靜態(tài)分析源代碼(例如文獻(xiàn)[17]),則無(wú)法發(fā)現(xiàn)該不一致。

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

    在文獻(xiàn)[19]的基礎(chǔ)上,本文對(duì)UML模型與代碼一致性檢測(cè)工具U2C Checker1.0[20]進(jìn)行了完善。為說(shuō)明該工具的有效性,在開(kāi)源項(xiàng)目LEDA 3.0[23]、zApp和ACD上進(jìn)行了實(shí)驗(yàn),并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行了分析和討論。

    為方便進(jìn)行實(shí)驗(yàn),本文首先進(jìn)行逆向工程,將3個(gè)開(kāi)源項(xiàng)目的源代碼轉(zhuǎn)換成UML類圖和序列圖(這里認(rèn)為轉(zhuǎn)換得到的類圖和序列圖與源代碼完全一致),并手動(dòng)修改源代碼構(gòu)造出若干不一致。

    本文對(duì)曾一等方法[17]、Pires等方法[18]和Chavez等方法[19]進(jìn)行了擴(kuò)展,使得這些方法可以用于UML模型和C++代碼的一致性檢測(cè)。表1列出了使用上述3種方法以及本文方法檢測(cè)出的不一致個(gè)數(shù)以及檢出率。

    表1 檢測(cè)出的不一致個(gè)數(shù)

    *檢出率=總計(jì)檢出個(gè)數(shù)/總計(jì)實(shí)際不一致個(gè)數(shù)

    由表1可知,對(duì)于LEDA 3.0,在靜態(tài)結(jié)構(gòu)一致性檢測(cè)中,這4種方法檢測(cè)出的不一致個(gè)數(shù)相同,均為12處;在靜態(tài)行為一致性檢測(cè)中,曾一等方法[17]只考慮函數(shù)調(diào)用的時(shí)間順序,并未考慮可選調(diào)用、循環(huán)和選擇調(diào)用,因此只檢測(cè)出5處不一致,而本文方法通過(guò)考慮可選調(diào)用、循環(huán)調(diào)用和供選擇的調(diào)用,發(fā)現(xiàn)了曾一等方法[17]無(wú)法發(fā)現(xiàn)的更多不一致;在靜態(tài)結(jié)構(gòu)一致性檢測(cè)和靜態(tài)行為一致性檢測(cè)的基礎(chǔ)上,本文將運(yùn)行期間實(shí)際發(fā)生的方法調(diào)用與UML模型相匹配,發(fā)現(xiàn)了6處曾一等方法[17]無(wú)法發(fā)現(xiàn)的不一致。曾一等方法[17]、Pires等方法[18]和Chavez等方法[19]分別檢測(cè)出17、12、12處不一致,檢出率分別為51.52%、36.36%和36.36%,而本文方法檢測(cè)出31處不一致,檢出率達(dá)到93.94%,檢出率有了明顯提升。

    類似地,對(duì)于開(kāi)源項(xiàng)目zApp和ACD,本文方法也發(fā)現(xiàn)了比曾一等方法[17]、Pires等方法[18]和Chavez等方法[19]更多的不一致,具有更高的檢出率(如表1所示)。

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

    為解決UML模型與源代碼一致性檢測(cè)問(wèn)題,提出一種基于圖論和FSM的UML模型與源代碼一致性檢測(cè)方法。在之前研究的基礎(chǔ)上[20],本文討論了基于FSM的UML模型與代碼一致性動(dòng)態(tài)檢測(cè)方法。通過(guò)將運(yùn)行期間實(shí)際發(fā)生的方法調(diào)用與UML模型進(jìn)行匹配,對(duì)UML模型與代碼的一致性進(jìn)行動(dòng)態(tài)檢測(cè)。實(shí)驗(yàn)結(jié)果表明,該方法具有更高的檢測(cè)準(zhǔn)確率。

    目前基于圖論和FSM的UML模型與代碼一致性檢測(cè)方法仍存在一些缺陷和不足。今后的主要工作如下:

    1)目前該方法在進(jìn)行一致性檢測(cè)時(shí)一旦發(fā)現(xiàn)不一致就會(huì)終止檢測(cè)。后期將在此基礎(chǔ)上進(jìn)行改進(jìn),使得一次檢測(cè)可以得到包含完整的不一致信息的報(bào)告清單。

    2)該方法目前只考慮UML類圖和順序圖,其他模型圖(例如用例圖、活動(dòng)圖和狀態(tài)圖等)與代碼的一致性檢測(cè)將在后續(xù)的研究中進(jìn)行討論。

    3)目前該方法只能檢測(cè)出UML模型與代碼存在的不一致而不能自動(dòng)對(duì)存在的不一致進(jìn)行修改,如何對(duì)檢測(cè)出的不一致進(jìn)行自動(dòng)修改也是下一步研究的重點(diǎn)。

    猜你喜歡
    函數(shù)調(diào)用源代碼調(diào)用
    人工智能下復(fù)雜軟件源代碼缺陷精準(zhǔn)校正
    基于C語(yǔ)言的數(shù)學(xué)菜單的設(shè)計(jì)與實(shí)現(xiàn)
    基于TXL的源代碼插樁技術(shù)研究
    核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
    LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
    軟件源代碼非公知性司法鑒定方法探析
    基于函數(shù)調(diào)用序列模式和函數(shù)調(diào)用圖的程序缺陷檢測(cè)方法*
    探討C++編程中避免代碼冗余的技巧
    Unity3D項(xiàng)目腳本優(yōu)化分析與研究
    基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
    变态另类丝袜制服| 亚洲av二区三区四区| 麻豆一二三区av精品| av在线老鸭窝| 精品久久久噜噜| 观看免费一级毛片| videos熟女内射| 国产大屁股一区二区在线视频| 国产在视频线在精品| av线在线观看网站| 男插女下体视频免费在线播放| 五月伊人婷婷丁香| 一个人看的www免费观看视频| 国产色婷婷99| 看片在线看免费视频| 日韩成人伦理影院| 久久久久久久久中文| 国产成人一区二区在线| 精品少妇黑人巨大在线播放 | 黄片wwwwww| 免费播放大片免费观看视频在线观看 | 亚洲av不卡在线观看| 欧美极品一区二区三区四区| 免费黄网站久久成人精品| 干丝袜人妻中文字幕| 人人妻人人看人人澡| 国产爱豆传媒在线观看| 少妇裸体淫交视频免费看高清| 日日啪夜夜撸| 精品人妻一区二区三区麻豆| 狂野欧美白嫩少妇大欣赏| 午夜爱爱视频在线播放| 色视频www国产| 久热久热在线精品观看| 精品99又大又爽又粗少妇毛片| 内地一区二区视频在线| 丝袜喷水一区| 亚洲av成人精品一区久久| 久久精品熟女亚洲av麻豆精品 | av女优亚洲男人天堂| 国产美女午夜福利| 日韩 亚洲 欧美在线| 国产黄色视频一区二区在线观看 | 天堂影院成人在线观看| 久久久久性生活片| 日韩高清综合在线| 午夜精品在线福利| 人妻系列 视频| 精品无人区乱码1区二区| 国产乱来视频区| 婷婷色av中文字幕| 欧美丝袜亚洲另类| 免费看av在线观看网站| 精品久久久久久成人av| 久热久热在线精品观看| 国产在视频线在精品| a级一级毛片免费在线观看| 欧美潮喷喷水| 天堂网av新在线| 国产大屁股一区二区在线视频| 啦啦啦观看免费观看视频高清| 欧美变态另类bdsm刘玥| 亚洲欧美日韩东京热| 黄色配什么色好看| 日本黄色视频三级网站网址| 久久久久久久久久久免费av| 两个人的视频大全免费| av在线观看视频网站免费| 日本午夜av视频| 国产精品人妻久久久影院| 舔av片在线| 久久精品久久精品一区二区三区| 午夜福利在线观看吧| 韩国av在线不卡| 国产在线一区二区三区精 | 国产av码专区亚洲av| 小说图片视频综合网站| 91久久精品电影网| 日韩欧美精品v在线| 久久人人爽人人爽人人片va| 18禁在线播放成人免费| 一边摸一边抽搐一进一小说| 久久久久网色| 干丝袜人妻中文字幕| 乱码一卡2卡4卡精品| 人人妻人人看人人澡| 看十八女毛片水多多多| 岛国毛片在线播放| 1000部很黄的大片| 日本五十路高清| 美女国产视频在线观看| 色哟哟·www| 久久综合国产亚洲精品| 亚洲综合精品二区| 男人狂女人下面高潮的视频| 精品人妻一区二区三区麻豆| 欧美变态另类bdsm刘玥| 成人亚洲欧美一区二区av| 亚洲精品自拍成人| 搡女人真爽免费视频火全软件| 高清av免费在线| 亚洲av熟女| 国产精品久久久久久精品电影小说 | 色吧在线观看| 精品久久国产蜜桃| 男女视频在线观看网站免费| 国产美女午夜福利| 国产亚洲av片在线观看秒播厂 | 欧美高清性xxxxhd video| 国产欧美日韩精品一区二区| 国产精品一区二区在线观看99 | 国产毛片a区久久久久| 人人妻人人澡欧美一区二区| 国产亚洲91精品色在线| 亚洲婷婷狠狠爱综合网| 在线观看美女被高潮喷水网站| 日韩一本色道免费dvd| 男人舔女人下体高潮全视频| 欧美性猛交黑人性爽| 丝袜美腿在线中文| 超碰97精品在线观看| 午夜精品一区二区三区免费看| www.av在线官网国产| 国产极品天堂在线| 高清日韩中文字幕在线| 久久久久久大精品| 国模一区二区三区四区视频| 日韩 亚洲 欧美在线| 亚洲精品456在线播放app| 国产探花在线观看一区二区| 中国美白少妇内射xxxbb| 精品熟女少妇av免费看| 26uuu在线亚洲综合色| 淫秽高清视频在线观看| 亚洲婷婷狠狠爱综合网| 久久草成人影院| 久久这里有精品视频免费| 国产精品一区二区在线观看99 | 久久久久久久久久成人| 国产精品久久久久久久电影| 精华霜和精华液先用哪个| 青春草亚洲视频在线观看| 99久久精品国产国产毛片| 女人被狂操c到高潮| 国产淫语在线视频| 色5月婷婷丁香| 日本-黄色视频高清免费观看| 国产精品国产三级专区第一集| 日韩大片免费观看网站 | 国产精品伦人一区二区| 国产精品麻豆人妻色哟哟久久 | 少妇高潮的动态图| 婷婷色麻豆天堂久久 | 在线免费观看不下载黄p国产| 免费看日本二区| 日韩欧美在线乱码| 边亲边吃奶的免费视频| 国产欧美另类精品又又久久亚洲欧美| 一边摸一边抽搐一进一小说| 亚洲国产成人一精品久久久| av专区在线播放| 免费观看在线日韩| 亚洲美女视频黄频| 青春草亚洲视频在线观看| 欧美一级a爱片免费观看看| 亚洲欧美日韩东京热| 中文欧美无线码| 中国国产av一级| 在线免费十八禁| 国产91av在线免费观看| 亚洲精华国产精华液的使用体验| 三级经典国产精品| 中文字幕av成人在线电影| 日韩欧美三级三区| 噜噜噜噜噜久久久久久91| 深爱激情五月婷婷| 精品一区二区三区视频在线| 日韩欧美国产在线观看| 久久久久免费精品人妻一区二区| 午夜福利在线观看免费完整高清在| 婷婷六月久久综合丁香| 精品免费久久久久久久清纯| 久久精品国产亚洲网站| 国产精品蜜桃在线观看| 久久这里有精品视频免费| 国产成人精品久久久久久| 亚洲国产精品专区欧美| 久久99热这里只频精品6学生 | av专区在线播放| 中文天堂在线官网| 亚洲自偷自拍三级| 日韩欧美精品免费久久| 精品久久久久久成人av| 麻豆成人av视频| 男的添女的下面高潮视频| 久久婷婷人人爽人人干人人爱| av视频在线观看入口| 91精品国产九色| 日韩,欧美,国产一区二区三区 | 国产麻豆成人av免费视频| 99热精品在线国产| 夜夜看夜夜爽夜夜摸| 国产成人91sexporn| 男女国产视频网站| 久99久视频精品免费| 久久久a久久爽久久v久久| av福利片在线观看| 国产不卡一卡二| 欧美性猛交╳xxx乱大交人| 国产精品女同一区二区软件| 欧美xxxx黑人xx丫x性爽| 亚洲av电影不卡..在线观看| 久久久久免费精品人妻一区二区| 亚洲精品乱码久久久久久按摩| 免费不卡的大黄色大毛片视频在线观看 | 美女大奶头视频| 深爱激情五月婷婷| 一级黄片播放器| 99热精品在线国产| 国产午夜福利久久久久久| 日日撸夜夜添| 亚洲精品影视一区二区三区av| 久热久热在线精品观看| 国产免费男女视频| 久久99精品国语久久久| 国产成人福利小说| 久久国内精品自在自线图片| 精品久久久久久久久久久久久| 一个人看视频在线观看www免费| 2022亚洲国产成人精品| 一边亲一边摸免费视频| 毛片女人毛片| 午夜精品一区二区三区免费看| 精品国产露脸久久av麻豆 | 成人亚洲欧美一区二区av| 免费看a级黄色片| 中文字幕熟女人妻在线| 好男人在线观看高清免费视频| 国产久久久一区二区三区| 黄色一级大片看看| 精品久久久久久电影网 | 欧美激情久久久久久爽电影| 人人妻人人澡欧美一区二区| 视频中文字幕在线观看| 国产精品伦人一区二区| 欧美激情国产日韩精品一区| 午夜日本视频在线| 精品一区二区三区人妻视频| 久久热精品热| 精品午夜福利在线看| 日韩亚洲欧美综合| 亚洲在线观看片| 寂寞人妻少妇视频99o| 国产私拍福利视频在线观看| 插阴视频在线观看视频| 欧美97在线视频| 神马国产精品三级电影在线观看| 美女黄网站色视频| 欧美xxxx黑人xx丫x性爽| 别揉我奶头 嗯啊视频| 人人妻人人澡人人爽人人夜夜 | av福利片在线观看| 日韩欧美三级三区| 中文乱码字字幕精品一区二区三区 | 午夜亚洲福利在线播放| 亚洲精品一区蜜桃| 插逼视频在线观看| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 蜜桃亚洲精品一区二区三区| 日韩,欧美,国产一区二区三区 | 国产在线一区二区三区精 | 欧美日本亚洲视频在线播放| 成年女人永久免费观看视频| 久久久色成人| 精品久久久久久久久久久久久| 国产精品久久久久久久电影| 国产成人91sexporn| 99热6这里只有精品| 一边摸一边抽搐一进一小说| 午夜精品一区二区三区免费看| 身体一侧抽搐| 99在线人妻在线中文字幕| 国产麻豆成人av免费视频| 久久亚洲国产成人精品v| 精品久久久久久久久亚洲| 97超视频在线观看视频| 亚洲欧美清纯卡通| 天堂网av新在线| 身体一侧抽搐| 日韩强制内射视频| 三级国产精品片| 国内精品一区二区在线观看| 男女下面进入的视频免费午夜| 欧美成人免费av一区二区三区| 女人久久www免费人成看片 | 99热全是精品| 高清视频免费观看一区二区 | 亚洲欧洲国产日韩| 欧美区成人在线视频| 菩萨蛮人人尽说江南好唐韦庄 | 国产 一区 欧美 日韩| 人体艺术视频欧美日本| 99在线人妻在线中文字幕| 99热全是精品| 白带黄色成豆腐渣| 99久久精品热视频| 一区二区三区乱码不卡18| 级片在线观看| 国产精品综合久久久久久久免费| 亚洲av电影在线观看一区二区三区 | 久久精品熟女亚洲av麻豆精品 | 亚洲婷婷狠狠爱综合网| 欧美丝袜亚洲另类| 特级一级黄色大片| av国产免费在线观看| 成人无遮挡网站| 大又大粗又爽又黄少妇毛片口| 国产精品国产三级专区第一集| 亚洲aⅴ乱码一区二区在线播放| 久久精品国产鲁丝片午夜精品| av.在线天堂| 国产视频首页在线观看| 欧美成人精品欧美一级黄| 精品国产露脸久久av麻豆 | 久久99精品国语久久久| 99国产精品一区二区蜜桃av| 日本三级黄在线观看| 国产精品综合久久久久久久免费| 综合色丁香网| 中文在线观看免费www的网站| 边亲边吃奶的免费视频| 噜噜噜噜噜久久久久久91| 一级av片app| 精品国产一区二区三区久久久樱花 | 欧美+日韩+精品| 亚洲伊人久久精品综合 | 18+在线观看网站| 哪个播放器可以免费观看大片| 春色校园在线视频观看| 亚洲成av人片在线播放无| 久久精品国产自在天天线| 亚洲综合精品二区| 中文字幕久久专区| 日产精品乱码卡一卡2卡三| 一个人观看的视频www高清免费观看| 亚洲欧美精品综合久久99| 欧美三级亚洲精品| 18禁在线播放成人免费| 国产在视频线在精品| 精品人妻偷拍中文字幕| 久久综合国产亚洲精品| av黄色大香蕉| 男的添女的下面高潮视频| 国产视频首页在线观看| 亚洲人成网站在线播| 亚洲电影在线观看av| 天堂√8在线中文| 欧美丝袜亚洲另类| 99视频精品全部免费 在线| 久久久精品欧美日韩精品| 色尼玛亚洲综合影院| 22中文网久久字幕| av视频在线观看入口| 99久久成人亚洲精品观看| 搞女人的毛片| av免费在线看不卡| 亚洲va在线va天堂va国产| 国产又黄又爽又无遮挡在线| 日韩精品青青久久久久久| 狠狠狠狠99中文字幕| av专区在线播放| 菩萨蛮人人尽说江南好唐韦庄 | 丝袜喷水一区| 男人舔奶头视频| 美女内射精品一级片tv| 成人欧美大片| 少妇人妻一区二区三区视频| 亚洲精品国产av成人精品| 国产午夜精品论理片| 美女黄网站色视频| 成人二区视频| 午夜福利网站1000一区二区三区| 在线观看美女被高潮喷水网站| 一级爰片在线观看| 只有这里有精品99| 国产精品久久视频播放| 日日摸夜夜添夜夜添av毛片| 免费av毛片视频| 中文字幕免费在线视频6| 中文亚洲av片在线观看爽| 在线观看美女被高潮喷水网站| 国产 一区 欧美 日韩| 激情 狠狠 欧美| av黄色大香蕉| 国产高潮美女av| 午夜亚洲福利在线播放| 亚洲不卡免费看| 天天躁夜夜躁狠狠久久av| 成人无遮挡网站| 亚洲三级黄色毛片| 日本与韩国留学比较| 欧美色视频一区免费| 亚洲国产精品合色在线| 久久久精品94久久精品| 中文字幕人妻熟人妻熟丝袜美| 日产精品乱码卡一卡2卡三| 午夜免费激情av| 成人高潮视频无遮挡免费网站| 精品久久久久久久久av| 99久久人妻综合| 午夜福利在线在线| 国产精品熟女久久久久浪| 久久精品国产亚洲av涩爱| 99久久中文字幕三级久久日本| 午夜激情福利司机影院| 看免费成人av毛片| 亚洲最大成人av| 国产综合懂色| 黄片无遮挡物在线观看| 在现免费观看毛片| 国产黄片美女视频| 国产视频首页在线观看| 又黄又爽又刺激的免费视频.| 久久精品久久久久久噜噜老黄 | 天堂中文最新版在线下载 | 看片在线看免费视频| 3wmmmm亚洲av在线观看| 乱系列少妇在线播放| 看十八女毛片水多多多| 99九九线精品视频在线观看视频| 日韩视频在线欧美| 久久久久精品久久久久真实原创| 国产精品一二三区在线看| 夜夜看夜夜爽夜夜摸| 嫩草影院精品99| 日本一本二区三区精品| 日本午夜av视频| 人妻系列 视频| 寂寞人妻少妇视频99o| 18禁在线无遮挡免费观看视频| 不卡视频在线观看欧美| 九九热线精品视视频播放| 99热这里只有是精品50| 欧美bdsm另类| 国产亚洲一区二区精品| 人妻夜夜爽99麻豆av| 一级毛片我不卡| 网址你懂的国产日韩在线| 免费看美女性在线毛片视频| 国产成人午夜福利电影在线观看| av天堂中文字幕网| 成人漫画全彩无遮挡| 青春草视频在线免费观看| 丰满人妻一区二区三区视频av| 极品教师在线视频| 欧美日本亚洲视频在线播放| 国产美女午夜福利| 身体一侧抽搐| 亚洲四区av| 成年女人看的毛片在线观看| 六月丁香七月| 亚洲欧美日韩东京热| 日本免费a在线| 国产伦一二天堂av在线观看| 国产国拍精品亚洲av在线观看| 亚洲图色成人| 久久国产乱子免费精品| 久久久久性生活片| 日韩精品青青久久久久久| 亚洲欧美一区二区三区国产| 日本免费在线观看一区| 欧美性感艳星| 亚洲人成网站在线观看播放| 亚洲熟妇中文字幕五十中出| 乱码一卡2卡4卡精品| 久久99热这里只有精品18| 国产精品蜜桃在线观看| 精品人妻视频免费看| 三级国产精品片| 国产三级中文精品| 精品一区二区三区视频在线| 免费观看在线日韩| videossex国产| av福利片在线观看| 女人十人毛片免费观看3o分钟| 国产午夜精品论理片| 日韩强制内射视频| 午夜视频国产福利| 国产成年人精品一区二区| 国产又黄又爽又无遮挡在线| 亚洲av成人精品一二三区| 国产精品久久电影中文字幕| 3wmmmm亚洲av在线观看| 国产精品久久久久久久久免| 亚洲真实伦在线观看| 99热6这里只有精品| 日韩人妻高清精品专区| 亚洲成人久久爱视频| av.在线天堂| 国产精华一区二区三区| 美女脱内裤让男人舔精品视频| 一二三四中文在线观看免费高清| 搞女人的毛片| 18禁在线播放成人免费| 看黄色毛片网站| 久久久精品94久久精品| 亚洲av中文字字幕乱码综合| 亚洲内射少妇av| 一级毛片aaaaaa免费看小| 日韩三级伦理在线观看| 日本一本二区三区精品| 我的女老师完整版在线观看| 欧美丝袜亚洲另类| 欧美又色又爽又黄视频| 午夜激情福利司机影院| 亚洲激情五月婷婷啪啪| 精品一区二区三区视频在线| 精品一区二区三区人妻视频| 免费观看的影片在线观看| 欧美三级亚洲精品| 午夜精品在线福利| 天堂中文最新版在线下载 | 97超碰精品成人国产| 亚洲最大成人av| 在线播放无遮挡| 视频中文字幕在线观看| 免费看光身美女| 我要搜黄色片| 欧美日韩国产亚洲二区| 深爱激情五月婷婷| 国产午夜精品论理片| 综合色丁香网| 成人高潮视频无遮挡免费网站| 日本爱情动作片www.在线观看| 日韩,欧美,国产一区二区三区 | 久久久欧美国产精品| 一级毛片电影观看 | 久久久午夜欧美精品| 热99re8久久精品国产| 午夜福利在线在线| 桃色一区二区三区在线观看| 亚洲欧美日韩无卡精品| 18禁动态无遮挡网站| 午夜a级毛片| 中文字幕制服av| 26uuu在线亚洲综合色| 久久久久久久国产电影| 插逼视频在线观看| 一二三四中文在线观看免费高清| 国产精品国产高清国产av| 性插视频无遮挡在线免费观看| 老司机影院毛片| 男人的好看免费观看在线视频| 国产精品久久久久久久电影| 99久久精品国产国产毛片| 成人毛片60女人毛片免费| 1024手机看黄色片| 边亲边吃奶的免费视频| 午夜激情福利司机影院| 亚洲成人精品中文字幕电影| 日韩一区二区三区影片| 美女大奶头视频| 精品99又大又爽又粗少妇毛片| 婷婷六月久久综合丁香| 国产综合懂色| 亚州av有码| 一级毛片aaaaaa免费看小| 狂野欧美激情性xxxx在线观看| 久久久久免费精品人妻一区二区| 搡老妇女老女人老熟妇| 一个人看的www免费观看视频| 亚洲欧美清纯卡通| av在线蜜桃| 99热6这里只有精品| 亚洲精品日韩在线中文字幕| 一级av片app| 亚洲国产精品专区欧美| 夜夜爽夜夜爽视频| 五月玫瑰六月丁香| 日韩欧美在线乱码| 国产黄色小视频在线观看| 久久久久久久久久久免费av| 午夜免费激情av| 纵有疾风起免费观看全集完整版 | 国产黄片视频在线免费观看| 九草在线视频观看| 国产在视频线精品| 欧美一区二区精品小视频在线| 麻豆乱淫一区二区| 婷婷色综合大香蕉| 国产在视频线在精品| 亚洲av福利一区| 亚洲欧美成人精品一区二区| 久久精品久久精品一区二区三区| 一个人看的www免费观看视频| 日韩高清综合在线| 纵有疾风起免费观看全集完整版 | videossex国产| 日本黄大片高清| 日韩 亚洲 欧美在线| 只有这里有精品99| 欧美极品一区二区三区四区| 99热网站在线观看| 亚洲三级黄色毛片| 欧美一区二区亚洲| 波野结衣二区三区在线| 2021少妇久久久久久久久久久| 神马国产精品三级电影在线观看| 欧美成人免费av一区二区三区| 美女国产视频在线观看| 可以在线观看毛片的网站| 免费观看人在逋| 亚洲经典国产精华液单| 麻豆成人午夜福利视频| 精品人妻偷拍中文字幕|