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

    一種基于異??刂屏鞯腻e(cuò)誤程序行為分析方法

    2018-08-07 12:38:10江建慧吳捷程
    關(guān)鍵詞:函數(shù)調(diào)用故障注入調(diào)用

    江建慧, 吳捷程, 孫 亞

    (同濟(jì)大學(xué) 軟件學(xué)院, 上海 201804)

    錯(cuò)誤程序行為(erroneous program behavior, EPB) 分析主要是獲取程序差錯(cuò)及其對程序行為的影響,包括差錯(cuò)類型、差錯(cuò)發(fā)生位置、差錯(cuò)發(fā)生時(shí)機(jī),以及各個(gè)差錯(cuò)在程序中的表象.

    軟件故障注入技術(shù)通過人為地對軟件或計(jì)算機(jī)等目標(biāo)系統(tǒng)注入軟件故障來加速其失效,從而實(shí)現(xiàn)目標(biāo)系統(tǒng)的容錯(cuò)機(jī)制有效性驗(yàn)證、可靠性評估[1-2].然而,如何得到真實(shí)的軟件故障或差錯(cuò)數(shù)據(jù)是該技術(shù)實(shí)現(xiàn)的前提[1-4].

    具有代表性的軟件差錯(cuò)數(shù)據(jù)獲取需要分析軟件的功能特性及其在某個(gè)故障/缺陷被激活后所表現(xiàn)出的錯(cuò)誤行為[2-3,5],工作量很大,且分析周期很長[1,3].常見的正交缺陷分類(orthogonal defect classification, ODC)所屬故障被激活后所產(chǎn)生的程序差錯(cuò)形式隨程序?qū)崿F(xiàn)的不同而不同[1],可能以返回碼或共享變量的形式存在于應(yīng)用程序與其使用的庫函數(shù)之間[2,6],也可能以異常的形式在程序中進(jìn)行傳播[5-6],或以跳轉(zhuǎn)指令的組合形式出現(xiàn)[7].

    在具有異常處理機(jī)制的程序中,故障激活后所產(chǎn)生的差錯(cuò)若被異常處理機(jī)制偵測,則異常發(fā)生[8-9].若對該異常處理不當(dāng),則可引起程序失效[9].這一過程將形成“故障-差錯(cuò)-異常-失效”鏈.

    通過對程序異??刂屏?exception control flow,ECF)的分析可收集能夠引起異常的差錯(cuò)信息,包括:由異常類型獲取差錯(cuò)內(nèi)容;由異常引發(fā)點(diǎn)獲取差錯(cuò)被偵測時(shí)的物理位置;由異常傳播路徑獲取差錯(cuò)的影響范圍;由異常捕捉情況獲取差錯(cuò)是否得到修正的信息.這些信息可指導(dǎo)軟件故障注入方案生成所需的差錯(cuò)類型、注入位置、注入時(shí)機(jī)的選擇[4-5,10-11].該過程通過源代碼的靜態(tài)分析,可在相對較短的時(shí)間內(nèi)完成.

    本文的主要工作是通過故障注入實(shí)驗(yàn)分析程序的“故障-差錯(cuò)-異?!钡膫鞑C(jī)理;結(jié)合函數(shù)級ECF(function-level ECF,F(xiàn)ECF)的描述,分析了同一差錯(cuò)與多個(gè)程序ECF之間的關(guān)系,利用ECF對程序中潛在可引起異常的差錯(cuò)進(jìn)行分析,建立了EPB模型;實(shí)現(xiàn)了一個(gè)自動(dòng)分析工具軟件,并以O(shè)penStack的核心組件為對象進(jìn)行了實(shí)驗(yàn)驗(yàn)證.

    1 相關(guān)工作

    Christmansson等[3]認(rèn)為只有注入具有代表性的差錯(cuò)才能有效地模擬真實(shí)故障的發(fā)生,有效地驗(yàn)證軟件的容錯(cuò)機(jī)制.考慮應(yīng)用程序和函數(shù)庫之間的潛在錯(cuò)誤的故障注入工具LFI(庫文件故障注入器)改善了應(yīng)用程序的健壯性測試技術(shù)[2].基于窮盡異常模擬模式的測試方法結(jié)合異常發(fā)生的時(shí)序特點(diǎn)在異常引發(fā)點(diǎn)注入異常,簡化了異常處理結(jié)構(gòu)有效性驗(yàn)證的過程[5].上述工作強(qiáng)調(diào)了故障/差錯(cuò)數(shù)據(jù)的有效性,討論了如何利用差錯(cuò)數(shù)據(jù)進(jìn)行軟件容錯(cuò)機(jī)制的驗(yàn)證,但其尚未涉及如何有效地收集合理的差錯(cuò)數(shù)據(jù).

    關(guān)于軟件故障激活后的傳播過程及證明故障激活后能否轉(zhuǎn)化為差錯(cuò)的研究,有基于“故障-差錯(cuò)-失效”的傳播關(guān)系選擇具有代表性的差錯(cuò)集合的方法[5].通過代碼內(nèi)部的故障注入和接口差錯(cuò)注入的實(shí)驗(yàn)研究結(jié)果表明,兩者對程序的影響存在一定的差異[4].代碼故障激活后的差錯(cuò)不僅能以返回值、錯(cuò)誤碼、傳入/傳出參數(shù)的方式進(jìn)行傳播,還能以共享內(nèi)存數(shù)據(jù)為載體對程序造成影響[11].應(yīng)從多維度對故障注入后的EPB進(jìn)行收集、分析、歸類,從而使得各層次的EPB研究可得到相關(guān)數(shù)據(jù)的支撐,實(shí)驗(yàn)表明,故障激活后所產(chǎn)生的差錯(cuò)能以返回值或異常形式進(jìn)行傳播,且該差錯(cuò)被偵測的情況和是否引起程序失效取決于程序的實(shí)現(xiàn)[6].這些工作均未深入研究具有異常處理機(jī)制的程序中的“故障-差錯(cuò)-異?!边^程.

    大多數(shù)與程序ECF相關(guān)的研究工作主要聚焦在它對程序分析、開發(fā)、測試的影響上.如基于異常傳播分析的C++程序數(shù)據(jù)流分析方法[12]、依賴性分析方法[13].Harrold等[14-15]在對異常處理機(jī)制的測試標(biāo)準(zhǔn)進(jìn)行研究時(shí),考慮了異常處理機(jī)制和異常傳播對程序控制流、數(shù)據(jù)流、控制依賴性等分析技術(shù)的影響.用于程序開發(fā)、維護(hù)、測試的系統(tǒng)化方法通過分析顯式ECF,總結(jié)了與異常處理結(jié)構(gòu)實(shí)現(xiàn)相關(guān)的編程錯(cuò)誤模式,可指導(dǎo)開發(fā)者如何有效地避免異常處理機(jī)制的錯(cuò)誤使用[16].面向切面機(jī)制在一些情景下會(huì)使異常處理結(jié)構(gòu)的實(shí)現(xiàn)復(fù)雜化,從而降低系統(tǒng)的可靠性[17].Jo等[18]提出了一種基于集合分析的函數(shù)級別上的Java未捕捉異常分析方法.結(jié)合運(yùn)行時(shí)異常的靜態(tài)測試方法通過交替執(zhí)行缺陷檢測及控制流擴(kuò)展,提高了測試充分度,還分析了運(yùn)行時(shí)異常對軟件靜態(tài)測試的影響[19].這些與程序ECF相關(guān)的研究工作并未考慮到異常本身就是程序錯(cuò)誤的一種表象,所以沒有利用異常相關(guān)的信息來分析潛在的EPB.

    2 程序“故障-差錯(cuò)-異常”機(jī)理分析

    2.1 ODC故障注入實(shí)驗(yàn)分析

    異常處理機(jī)制(exception handling mechanism,EHM)是程序錯(cuò)誤處理的常用手段之一.當(dāng)程序中EHM偵測到差錯(cuò)且引發(fā)異常之后,程序的“故障-差錯(cuò)-異常/失效”過程如圖1所示.

    對Android上約800個(gè)應(yīng)用組件所進(jìn)行的600萬次基于外界輸入的健壯性測試實(shí)驗(yàn)數(shù)據(jù)表明,約10%的應(yīng)用組件發(fā)生了崩潰且均由未捕捉到的異常所造成[6].

    本文以分布式網(wǎng)絡(luò)基準(zhǔn)程序Ipbench和OpenStack中的核心組件nova為對象,結(jié)合ODC故障類型及其分布數(shù)據(jù),以代碼變異的方式實(shí)施故障注入實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果見表1(表中的E表示可引起異常的故障數(shù)量).

    在Ipbench中共注入348個(gè)故障,其中255個(gè)故障導(dǎo)致了程序崩潰,且249次崩潰是由未捕捉異常引起.

    在nova中共注入1 018個(gè)故障,未出現(xiàn)程序崩潰現(xiàn)象.由表1可知,419個(gè)故障激活后的差錯(cuò)得到程序的修正,可能的原因有:① 有差錯(cuò)的數(shù)據(jù)在被使用之前重新得到初始化;② 有差錯(cuò)程序的執(zhí)行結(jié)果與無差錯(cuò)程序的執(zhí)行結(jié)果一致;③ 差錯(cuò)引起異常且被捕獲,異常處理例程提供了正確的服務(wù).

    表1 故障注入實(shí)驗(yàn)結(jié)果Tab.1 Results of fault-injection experiments

    2.2 傳播機(jī)理分析

    以nova的_validate_cell函數(shù)為例,程序的“故障-差錯(cuò)-異?!眰鞑ミ^程分析如下:

    (1) 故障激活所發(fā)生的差錯(cuò)直接引發(fā)異常.如圖2所示,故障激活后的差錯(cuò)直接在當(dāng)前函數(shù)內(nèi)使raise語句得到執(zhí)行,從而引發(fā)異常.同時(shí),圖2中場景a)與b)的故障激活后均引起了同一異常,說明程序中故障與異常存在多對一關(guān)系,即多個(gè)故障激活后的差錯(cuò)最終均以同一異常在程序中進(jìn)行傳播.

    (2) 故障激活所發(fā)生的差錯(cuò)經(jīng)過傳播后引發(fā)異常.圖3所示的故障激活后的差錯(cuò)通過數(shù)據(jù)流影響控制流,最終使得raise語句得到執(zhí)行,引發(fā)異常.

    (3) 在程序無故障的情況下,外界輸入或外界資源違反軟件規(guī)約而導(dǎo)致異常發(fā)生.

    因此,可從“異常”層次出發(fā),分析程序中可引起異常的差錯(cuò)信息及其對程序行為的影響,達(dá)到分析與異常相關(guān)的EPB的目的.

    圖2 差錯(cuò)直接引起異常例子Fig.2 Example of an error raises exception directly

    3 基于ECF的EPB分析

    為了獲取可引起異常的差錯(cuò)的信息,本文方法并不需要構(gòu)建帶有程序ECF的完整過程間控制流[20],而只需獲取獨(dú)立的ECF信息,包括:ECF起始與中止位置信息;ECF對應(yīng)的異常類型;異常是否被捕捉;ECF所影響到的函數(shù);ECF所影響到的程序功能或服務(wù).這是一種基于源代碼靜態(tài)分析的方法,如何選擇起始函數(shù)作為分析的起始點(diǎn),則直接影響到了分析結(jié)果的有效性.

    3.1 函數(shù)級ECF的描述

    圖4所示的是函數(shù)級異常傳播過程,其中nk(1≤k≤m,m≥1)表示函數(shù),其他符號的意思在圖中已經(jīng)加以說明.以函數(shù)為粒度的異常傳播過程可分為A,B和C三類.

    (1) 過程A:異常在當(dāng)前函數(shù)nm被引發(fā),而且被捕捉.

    (2) 過程B:異常在當(dāng)前函數(shù)nm被引發(fā),且沿著函數(shù)調(diào)用棧經(jīng)過m-k逆向傳播后在函數(shù)nk中被捕捉,1≤k≤m.

    (3) 過程C:異常在當(dāng)前函數(shù)nm被引發(fā),且沿著函數(shù)調(diào)用棧經(jīng)過m-1次逆向傳播,變成未捕捉異常.

    圖3差錯(cuò)經(jīng)過傳播而引起異常的例子

    Fig.3Exampleofanerrorraisesexceptionwithcertainpropagation

    圖4 函數(shù)級的異常傳播過程Fig.4 Exception propagation process at function level

    定義1程序P中由raise/throw語句顯式引起的FECF可表示為5元組Ψ=,其中:

    (1)ol=(n,lo)為Ψ的起始位置,表示Ψ由函數(shù)no中代碼行號為lo的raise/throw語句所引發(fā).

    (2)t為Ψ所對應(yīng)的異常類型.

    (3)z=(nz,lz)為Ψ的終止位置.若Ψ屬于過程A或B,則nz為Ψ被捕捉時(shí)所在的函數(shù),其對應(yīng)的異常捕捉語句的行號為lz;若Ψ屬于過程C,則Ψ在程序P的函數(shù)nz處終止且傳播出去,lz為Ψ進(jìn)入函數(shù)nz時(shí)的異常入口所對應(yīng)的語句的代碼行號.

    (4)π以路徑的形式給出了Ψ的傳播過程.若Ψ屬于過程A或B,則π為no→nm→…→n1→nz,其中no,nz,nk(k=1,2,…,m,m≥1)為Ψ所影響到的函數(shù);若Ψ屬于過程C,則π為no→nm→…→n1→nz→nout,其中nout為占位符,表示該路徑對應(yīng)的ECF未被捕捉.

    (5)e為Ψ被引發(fā)時(shí)程序P的棧底函數(shù),表示被Ψ影響到的程序功能或服務(wù).

    與文獻(xiàn)[4, 20]一致,本文也將入口函數(shù)(entry function, EF)作為函數(shù)調(diào)用鏈的分析起點(diǎn),計(jì)算程序中所有潛在的FECF.

    3.2 利用程序ECF表示EPB

    同一差錯(cuò)可引起不同的FECF.這些FECF組成的集合稱為FECF簇,對于其中的任意Ψi與Ψj,它們具有相同的o與t值.

    根據(jù)“故障-差錯(cuò)-異?!眰鞑C(jī)理,若故障激活后的差錯(cuò)引起異常,則該故障對程序帶來的影響完全可由相應(yīng)的FECF簇表示.所以,可通過分析各FECF簇,反向推導(dǎo)程序中可引起異常的各個(gè)差錯(cuò)及其對程序行為的影響,從“異常”層次分析與異常相關(guān)的EPB,收集可引起異常的差錯(cuò)集合.

    3.3 基于程序ECF的EPB分析

    (3)w為一權(quán)值,即:

    (1)

    觀察1w值越大,則EPB對程序可靠性造成危害的風(fēng)險(xiǎn)越大.

    異常傳播過程B與C的發(fā)生會(huì)使程序的過程間控制流中產(chǎn)生潛在的非返回調(diào)用[15],它的數(shù)量(即w值)越大,就意味著異常的傳播范圍越大,所以程序的控制流、數(shù)據(jù)流在錯(cuò)誤狀態(tài)下受到的影響越大.

    算法Gen_FECF: 計(jì)算一個(gè)FECF實(shí)例

    輸入s: 函數(shù)m中的raise/throw語句

    m: 語句s所位于的函數(shù)

    輸出Ψ: 一個(gè)FECF實(shí)例

    聲明 callstack: 遍歷分析函數(shù)調(diào)用鏈時(shí)所維護(hù)的函數(shù)調(diào)用棧

    CTS(m): 函數(shù)m的調(diào)用者(caller)調(diào)用函數(shù)m時(shí)所使用的函數(shù)調(diào)用語句

    開始 Gen_FECF(s,m)

    1. 新建Ψ實(shí)例并設(shè)置其屬性:o←(m,s的行號),t←s對應(yīng)的異常類型,π設(shè)置為m,e←callstack的棧底函數(shù);

    2. If SLEGS(s)存在c可捕捉由s引發(fā)的異常 then

    3.z←(m,c的代碼行號),m加入π:m→m;

    4. returnΨ;

    5. else then //當(dāng)前函數(shù)m無法捕捉該異常

    6. temp_stack為callstack的副本;

    7.send←s; //用于暫存Ψ終止時(shí)的語句

    8. While temp_stack不為空:

    9.mtop←temp_stack.top();

    10. temp_stack.pop();

    11. if m!=mtopthen 將mtop加入πendif

    12. if temp_stack is empty: //未捕捉異常

    13.z←(mtop,send的行號);

    14. ifm!=mtopthen

    15. 將nout加入π;

    16. else

    17. 將m→nout加入π;

    18. endif

    19. returnΨ;

    20. else if SLEGS(CTS(mtop))有c可捕捉then

    21.z←(temp_stack.top(),c的行號);

    22. 將temp_stack.top()加入π;

    23. returnΨ;

    24. endif

    25.send←CTS(mtop) ;

    26. endwhile

    27. endif

    結(jié)束Gen_FECF

    在計(jì)算所有FECF時(shí),e可用于表示FECF所影響到的程序功能或服務(wù).

    若在函數(shù)遞歸過程中出現(xiàn)異常,則異常在該部分的傳播路徑呈現(xiàn)一定的模式.所以,可根據(jù)該模式制定合理的裁剪規(guī)則,對遞歸部分的調(diào)用鏈進(jìn)行裁剪,使得分析過程能夠有效地繼續(xù)執(zhí)行下去.

    在算法Gen_FECF中,函數(shù)調(diào)用棧是根據(jù)函數(shù)調(diào)用鏈生成的.由于調(diào)用鏈經(jīng)過了遞歸調(diào)用鏈裁減處理,并且調(diào)用鏈中所有函數(shù)都屬于程序P,函數(shù)調(diào)用棧的深度最多為2·|FDS(P)|-2,其中FDS(P)為定義于程序P中且在程序P中實(shí)現(xiàn)的函數(shù)集合.算法Gen_FECF在最好情況下的時(shí)間復(fù)雜度為O(1),在最壞情況下為O(|FDS(P)|).

    根據(jù)EHM的性質(zhì)[14],對于異常的傳播及其處理過程,異常保護(hù)區(qū)z(try語句所保護(hù)的代碼塊)的異常保護(hù)序列EGS(z)指的是z對應(yīng)的異常處理例程所組成的有序序列(c1,c2,…,cn),n≥1,其順序由z對應(yīng)的異常處理例程的順序決定.假如zj嵌套于zi之中,那么傳播到zj中的異常首先會(huì)被EGS(zj)中的異常處理例程嘗試捕捉處理,若該異常未被捕捉,則EGS(zi)再嘗試對其捕捉處理,則LEGS(zj)=(cj1,cj2,…,cjn,ci1,ci2,…,cim),若zi不嵌套于任何異常保護(hù)區(qū)中,則LEGS(zi)=EGS(zi)=(ci1,ci2,…,cim),m≥1,n≥1.若語句s位于z中,則語句s受到LEGS(z)的保護(hù),記為SLEGS(z).若有異常在s(raise/throw語句)處被拋出或異常傳播至s(函數(shù)調(diào)用語句)處,若SLEGS(s)能捕捉該異常,則該異常在s語句所在的函數(shù)中被捕捉,否則該異常從當(dāng)前函數(shù)傳播出去且沿著函數(shù)調(diào)用棧逆向傳播.

    在形如(m1,m2, …,mn-1,mn)所表示的調(diào)用棧中,m1表示棧底,mn表示棧頂,n≥1.suc(mi)是mi的后繼mi+1,n≥i≥1,suc(mn)=null.CTS(suc(mk))為函數(shù)mk中調(diào)用函數(shù)suc(mk)時(shí)的函數(shù)調(diào)用語句,且CTS(null) =null.為不失一般性,調(diào)用鏈的遞歸裁剪遵循如下規(guī)則.

    規(guī)則1設(shè)當(dāng)前函數(shù)調(diào)用棧具有以下形式:(mbottom, …,M1,M2, …,Mn,M11,M12, …,M1n, …,Mk1,Mk2, …,Mkn, …,Mq1,Mq2, …,Mqp,mother, …),其中,Mkn表示函數(shù)Mn的第k次遞歸調(diào)用,k≥1.Mqp表示函數(shù)Mp第q次遞歸調(diào)用,q>k,n≥p≥0.若?i,j,k≥i,j≥1,式(2)得到滿足,則調(diào)用??刹眉魹?mbottom, …,M1,M2, …,Mn,Mq1,Mq2, …,Mqp,mother, …),且FECF的o、t、z、e屬性值保持不變,π中受到FECF影響的函數(shù)及其順序不變.

    SLEGS(CTS(Mi1))=SLEGS(CTS(Mj1))=SLEGS(CTS(Mq1))

    SLEGS(CTS(Mi2))=SLEGS(CTS(Mj2))=SLEGS(CTS(M2))

    (2)

    SLEGS(CTS(Min))=SLEGS(CTS(Mjn))=SLEGS(CTS(Mn))

    證明.

    情形一:若在Mkn中無異常發(fā)生,n≥1,則無FECF的生成受到裁剪動(dòng)作的影響.

    情形二:假如異常x在函數(shù)Mkn中由raise/throw語句引發(fā),k≥1,n≥1:① 若x在Mkn中捕捉,則會(huì)有與異常x相同的異常在函數(shù)Mn中由相同的raise/throw語句引發(fā)且被相同catch/except語句捕捉,因?yàn)镸kn與Mn為相同函數(shù).② 若x從Mkn傳播出去,則會(huì)有與異常x相同的異常在函數(shù)Mn中由相同的raise/throw語句引發(fā)且從相同的異常出口從Mn傳播出去,因?yàn)镸kn與Mn為相同函數(shù).

    情形三:假如異常x通過CTS(suc(Mkn))語句從suc(Mkn)函數(shù)傳播至Mkn中,k≥1,n≥1:① 若x在Mkn中捕捉,則會(huì)有與異常x相同的異常y通過CTS(suc(Mn))語句從suc(Mn)傳播至Mn,且在Mn中由相同的catch/except語句捕捉.因?yàn)閟uc(Mn)與suc(Mkn)為相同函數(shù),CTS(suc(Mn))與CTS(suc(Mkn))為同一函數(shù)調(diào)用語句,且SLEGS(CTS(suc(Mn))) =SLEGS(CTS(suc(Mkn))).② 若x從Mkn中傳播出去,則會(huì)有異常x相同的異常y從Mn中的相同異常出口傳播出去.因?yàn)閟uc(Mn)與suc(Mkn)為相同函數(shù),CTS(suc(Mn))與CTS(suc(Mkn))為同一函數(shù)調(diào)用語句,且SLEGS(CTS(suc(Mn))) =SLEGS(CTS(suc(Mkn))).

    2. 將調(diào)用棧callStack初始化為空;

    3. Traverse_Invocation_Chain(m);

    4. endfor

    /*遍歷以m開始的函數(shù)調(diào)用鏈,用Gen_FECF算法生成FECF實(shí)例*/

    聲明 Traverse_Invocation_Chain (m)

    1. callstack.push(m); //維護(hù)調(diào)用棧,m入棧

    2. for each 語句sinmthen

    3. ifs是raise/throw語句then

    4.Ψ←Gen_FECF(s,m);

    6. else ifs是調(diào)用函數(shù)mcallee的語句then

    7. ifmcallee在callstack出現(xiàn)過兩次and

    8. SLEGS(CTS(mcallee))=SLEGS(s) then

    9. continue; //滿足要求,裁剪

    10. else then //繼續(xù)分析調(diào)用鏈

    11. Traverse_Invocation_Chain (mcallee);

    12. endif

    13. endif

    14. end for

    15. Callstack.pop(m) //維護(hù)調(diào)用棧,m出棧

    2. existEPB← null

    4. IfΨ.o=Ω.oandΨ.t=Ω.tthen

    5. existEPB ←Ω; break;

    6. endif

    7. endfor

    8. if null = existEPB then //暫無相應(yīng)FECF簇

    13. else then //將Ψ加入對應(yīng)簇的EPB實(shí)例

    14. existEPB.w← existEPB.w+φ(Ψ);

    17. endif

    18. endfor

    4 基于Understand的自動(dòng)分析工具

    4.1 EPB自動(dòng)分析工具的結(jié)構(gòu)

    采用本文提出的方法,用Python語言編寫了一個(gè)基于Understand的EPB自動(dòng)分析工具,其架構(gòu)如圖5所示.Understand是一款代碼審核工具,提供了可操作源代碼相關(guān)數(shù)據(jù)的API,如詞法、語法、函數(shù)調(diào)用關(guān)系等信息.

    圖5 EPB自動(dòng)分析工具架構(gòu)Fig.5 Structure of automatic analysis tool of EPB

    分析控制器:控制整個(gè)分析過程,包括:調(diào)用鏈的遍歷分析、局部視圖數(shù)據(jù)生成、FECF數(shù)據(jù)生成、EPB數(shù)據(jù)生成、函數(shù)調(diào)用棧的維護(hù)等.

    局部視圖生成器: 函數(shù)代碼中與FECF生成相關(guān)的數(shù)據(jù)以文件形式存儲(chǔ),內(nèi)容包括: ① raise/throw語句的位置、對應(yīng)的異常類型;② 在當(dāng)前函數(shù)被引發(fā)的異常捕捉情況,記錄捕捉該異常的catch/except語句的位置及其對應(yīng)的異常類型;③ 當(dāng)前函數(shù)的函數(shù)調(diào)用關(guān)系信息;④ 當(dāng)前函數(shù)中的函數(shù)調(diào)用語句是否處于異常保護(hù)區(qū)中,若是,則記錄相應(yīng)的catch/except語句位置及其對應(yīng)的異常類型.

    FECF生成器:當(dāng)異常以raise/throw形式被引發(fā)時(shí),結(jié)合相應(yīng)的局部視圖數(shù)據(jù),根據(jù)Gen_FECF算法生成相應(yīng)FECF數(shù)據(jù).

    4.2 EPB自動(dòng)分析工具的使用步驟

    自動(dòng)分析工具進(jìn)行EPB分析的主要步驟如下:

    (1) 以源代碼為輸入,使用Understand軟件生成程序的詞法、語法、函數(shù)調(diào)用關(guān)系等數(shù)據(jù).

    (2) 以s為分析起點(diǎn),s∈SEF,迭代分析其函數(shù)調(diào)用鏈,檢查函數(shù)內(nèi)是否有被raise/throw語句引發(fā)的異常.若存在異常,則轉(zhuǎn)(3);否則,繼續(xù)按照(2)分析函數(shù)調(diào)用鏈中未被分析的函數(shù),直到所有調(diào)用鏈分析完畢,轉(zhuǎn)(4).

    5 實(shí)驗(yàn)及其分析

    為了驗(yàn)證本文方法及所開發(fā)的程序EPB自動(dòng)分析工具的合理性和有效性,以O(shè)penStack的核心組件作為對象進(jìn)行了實(shí)驗(yàn).

    5.1 實(shí)驗(yàn)環(huán)境

    實(shí)驗(yàn)在虛擬機(jī)上進(jìn)行,操作系統(tǒng)為內(nèi)核版本2.6.32的32位Linux,硬件配置為1GB內(nèi)存,Intel(R) Core(TM) i3-3217U@1.80GHz單核CPU.實(shí)驗(yàn)負(fù)載為OpenStack(G 版本)中的5個(gè)核心組件,該軟件用Python語言編寫,各組件的SEF數(shù)據(jù)均根據(jù)相應(yīng)的應(yīng)用程序編程接口(application programming interface, API)文檔人工收集而得.

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

    對27 876行OpenStack組件的錯(cuò)誤行為的實(shí)驗(yàn)結(jié)果見表2,其中duser=10 000表示用戶指定的閾值.

    表2 OpenStack組件錯(cuò)誤行為分析結(jié)果Tab.2 Analysis results of erroneous OpenStack component behavior

    調(diào)用鏈中函數(shù)調(diào)用點(diǎn)總量與函數(shù)數(shù)量的比值為10 408/1 426=7.3,說明每個(gè)函數(shù)平均被調(diào)用了7.3次,若差錯(cuò)在函數(shù)中引起異常,則該異??蓾撛谝鹩?個(gè)不同ECF組成的FECF簇,表明從異常角度對差錯(cuò)及其對程序行為影響進(jìn)行分析是可行的.

    圖6 nova組件中以w排序的前十個(gè)EPB實(shí)例數(shù)據(jù)Fig.6 Top ten EPB Ω ordered by w in nova components

    6 結(jié)束語

    本文通過故障注入實(shí)驗(yàn)研究了具有EHM的程序的軟件故障、差錯(cuò)、異常之間的傳播機(jī)理.結(jié)合FECF的描述,說明了如何利用ECF收集與異常相關(guān)的差錯(cuò)信息,建立了基于ECF的EPB模型,開發(fā)了基于該模型的EPB自動(dòng)分析工具,并用該工具對OpenStack核心組件進(jìn)行了錯(cuò)誤行為分析,結(jié)果表明了基于ECF的EPB分析的合理性和有效性.該方法及其工具為具有EHM的大規(guī)模程序的EPB自動(dòng)分析,指導(dǎo)程序異常處理結(jié)構(gòu)的重構(gòu),使程序可精確捕捉異常,提高程序可靠性,并為構(gòu)造合理的外部激勵(lì)精確激活差錯(cuò),縮短故障注入實(shí)驗(yàn)周期提供了有效手段.

    猜你喜歡
    函數(shù)調(diào)用故障注入調(diào)用
    模擬訓(xùn)練裝備故障注入系統(tǒng)研究
    基于C語言的數(shù)學(xué)菜單的設(shè)計(jì)與實(shí)現(xiàn)
    核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
    SM4算法前四輪約減輪故障注入分析
    LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
    采用修改-回放原理的1553B故障注入方法
    基于函數(shù)調(diào)用序列模式和函數(shù)調(diào)用圖的程序缺陷檢測方法*
    探討C++編程中避免代碼冗余的技巧
    Unity3D項(xiàng)目腳本優(yōu)化分析與研究
    中國新通信(2017年1期)2017-03-08 03:12:21
    基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
    午夜精品在线福利| 精品一区二区三区视频在线观看免费 | 少妇被粗大的猛进出69影院| 精品视频人人做人人爽| 免费黄频网站在线观看国产| av视频免费观看在线观看| 日本黄色日本黄色录像| 中文字幕另类日韩欧美亚洲嫩草| av网站免费在线观看视频| 国产熟女午夜一区二区三区| 人妻久久中文字幕网| 黄色a级毛片大全视频| 99久久99久久久精品蜜桃| 亚洲专区字幕在线| 亚洲专区国产一区二区| 亚洲精品在线美女| 亚洲成人免费av在线播放| 午夜福利欧美成人| 亚洲欧美色中文字幕在线| 久久精品国产亚洲av香蕉五月 | 亚洲一区高清亚洲精品| 18禁裸乳无遮挡动漫免费视频| 可以免费在线观看a视频的电影网站| 在线av久久热| 老司机午夜福利在线观看视频| 亚洲成国产人片在线观看| 操美女的视频在线观看| av网站在线播放免费| 50天的宝宝边吃奶边哭怎么回事| 999精品在线视频| 黄片小视频在线播放| 视频在线观看一区二区三区| 欧美国产精品一级二级三级| 在线观看www视频免费| 国产一卡二卡三卡精品| 久久久久国内视频| av天堂久久9| 一级a爱视频在线免费观看| 日韩精品免费视频一区二区三区| 久久精品成人免费网站| 中文字幕最新亚洲高清| 亚洲熟女毛片儿| 国产精品国产av在线观看| 人成视频在线观看免费观看| 黄色丝袜av网址大全| 777久久人妻少妇嫩草av网站| 一a级毛片在线观看| 久久99一区二区三区| 亚洲精品乱久久久久久| 在线十欧美十亚洲十日本专区| 精品亚洲成国产av| 欧美激情极品国产一区二区三区| 国产伦人伦偷精品视频| 午夜精品久久久久久毛片777| 成熟少妇高潮喷水视频| 亚洲一区二区三区不卡视频| 国产又色又爽无遮挡免费看| av超薄肉色丝袜交足视频| 校园春色视频在线观看| 岛国在线观看网站| 日韩欧美一区视频在线观看| 欧美日韩成人在线一区二区| 亚洲色图综合在线观看| 日韩制服丝袜自拍偷拍| 亚洲九九香蕉| 国产精品免费大片| 777久久人妻少妇嫩草av网站| 久热这里只有精品99| 电影成人av| 国产成人啪精品午夜网站| 成年版毛片免费区| 国内久久婷婷六月综合欲色啪| 欧美日韩瑟瑟在线播放| 在线观看免费视频网站a站| 欧美精品人与动牲交sv欧美| 色尼玛亚洲综合影院| 久久国产精品影院| 亚洲片人在线观看| 又大又爽又粗| 日日摸夜夜添夜夜添小说| 午夜精品国产一区二区电影| 俄罗斯特黄特色一大片| 亚洲成国产人片在线观看| 欧美日韩成人在线一区二区| 热99re8久久精品国产| 亚洲成人手机| 午夜影院日韩av| 性色av乱码一区二区三区2| 自拍欧美九色日韩亚洲蝌蚪91| 国产精品乱码一区二三区的特点 | 12—13女人毛片做爰片一| 亚洲精品国产精品久久久不卡| 免费在线观看黄色视频的| 亚洲国产欧美网| av天堂在线播放| 欧美激情高清一区二区三区| 黑人猛操日本美女一级片| 国产亚洲av高清不卡| 99热只有精品国产| 国产成人av教育| 咕卡用的链子| av在线播放免费不卡| a级毛片在线看网站| 成人影院久久| 欧美+亚洲+日韩+国产| 国产男女超爽视频在线观看| 欧洲精品卡2卡3卡4卡5卡区| 精品一区二区三区视频在线观看免费 | 国产又爽黄色视频| 在线观看午夜福利视频| 免费观看精品视频网站| av中文乱码字幕在线| 午夜亚洲福利在线播放| 黑人猛操日本美女一级片| 久久久精品区二区三区| 国产成人精品在线电影| 女人被狂操c到高潮| 欧美激情久久久久久爽电影 | 在线视频色国产色| 久久久久久久久久久久大奶| 精品国内亚洲2022精品成人 | 亚洲色图 男人天堂 中文字幕| 免费在线观看日本一区| 亚洲美女黄片视频| 亚洲五月天丁香| 国产精品一区二区免费欧美| 精品亚洲成a人片在线观看| 国产伦人伦偷精品视频| 中文字幕最新亚洲高清| 嫩草影视91久久| 一夜夜www| www.熟女人妻精品国产| 女人被躁到高潮嗷嗷叫费观| 国产成人精品无人区| 伦理电影免费视频| ponron亚洲| 国产有黄有色有爽视频| www.熟女人妻精品国产| 午夜精品国产一区二区电影| 亚洲av欧美aⅴ国产| 精品第一国产精品| 国产在线一区二区三区精| 18禁美女被吸乳视频| www.熟女人妻精品国产| 国产欧美日韩一区二区三区在线| 国产成人精品久久二区二区91| 亚洲精品国产色婷婷电影| 国产高清视频在线播放一区| 亚洲七黄色美女视频| 国产高清国产精品国产三级| 女人高潮潮喷娇喘18禁视频| 母亲3免费完整高清在线观看| 丰满迷人的少妇在线观看| 中文字幕制服av| 狠狠婷婷综合久久久久久88av| 大码成人一级视频| 黑人巨大精品欧美一区二区mp4| 久久久水蜜桃国产精品网| aaaaa片日本免费| 老司机亚洲免费影院| 热99久久久久精品小说推荐| 国产97色在线日韩免费| 一级a爱视频在线免费观看| 捣出白浆h1v1| 校园春色视频在线观看| 国产欧美日韩一区二区三区在线| 最近最新免费中文字幕在线| 精品卡一卡二卡四卡免费| 欧美在线黄色| 别揉我奶头~嗯~啊~动态视频| 欧美乱码精品一区二区三区| 人人妻人人爽人人添夜夜欢视频| 99久久综合精品五月天人人| 三上悠亚av全集在线观看| 性色av乱码一区二区三区2| av天堂久久9| 丝瓜视频免费看黄片| 大型av网站在线播放| 淫妇啪啪啪对白视频| 乱人伦中国视频| 欧美在线一区亚洲| 国产1区2区3区精品| 免费少妇av软件| 男人的好看免费观看在线视频 | av天堂在线播放| 亚洲五月天丁香| 亚洲精品av麻豆狂野| 丁香欧美五月| 99香蕉大伊视频| 亚洲va日本ⅴa欧美va伊人久久| 黄片小视频在线播放| 色婷婷av一区二区三区视频| 精品一区二区三区视频在线观看免费 | 欧美激情 高清一区二区三区| 精品无人区乱码1区二区| 老熟妇乱子伦视频在线观看| 久久久水蜜桃国产精品网| 中出人妻视频一区二区| 少妇粗大呻吟视频| 亚洲国产精品一区二区三区在线| 一区二区三区国产精品乱码| 日韩成人在线观看一区二区三区| 精品国产乱码久久久久久男人| bbb黄色大片| 久久ye,这里只有精品| www.熟女人妻精品国产| 岛国在线观看网站| 久久久精品免费免费高清| 久久精品91无色码中文字幕| 亚洲情色 制服丝袜| 美女视频免费永久观看网站| 美女高潮喷水抽搐中文字幕| 午夜精品久久久久久毛片777| 高潮久久久久久久久久久不卡| 欧美成人午夜精品| 国产一区有黄有色的免费视频| 亚洲精品粉嫩美女一区| 午夜精品久久久久久毛片777| 怎么达到女性高潮| 亚洲国产欧美日韩在线播放| 大陆偷拍与自拍| 久久久国产一区二区| 少妇 在线观看| 黄色女人牲交| 免费看十八禁软件| www.熟女人妻精品国产| 999久久久精品免费观看国产| 国产精品二区激情视频| 男人操女人黄网站| 精品国内亚洲2022精品成人 | 在线免费观看的www视频| 欧美人与性动交α欧美精品济南到| 美女福利国产在线| 婷婷精品国产亚洲av在线 | 欧美最黄视频在线播放免费 | 亚洲欧美激情在线| 人人妻人人爽人人添夜夜欢视频| 久久久国产成人免费| 少妇猛男粗大的猛烈进出视频| 午夜福利欧美成人| 香蕉国产在线看| 国产成人免费无遮挡视频| 好男人电影高清在线观看| 视频区欧美日本亚洲| aaaaa片日本免费| 午夜福利影视在线免费观看| 丁香欧美五月| av网站免费在线观看视频| 男女高潮啪啪啪动态图| 亚洲中文字幕日韩| 99国产精品免费福利视频| 欧美乱妇无乱码| 中文字幕av电影在线播放| 成人国产一区最新在线观看| 久久精品国产亚洲av高清一级| 狂野欧美激情性xxxx| 女同久久另类99精品国产91| 人妻一区二区av| 在线观看免费午夜福利视频| 真人做人爱边吃奶动态| 精品亚洲成a人片在线观看| 亚洲国产精品一区二区三区在线| 国产精品永久免费网站| 丰满饥渴人妻一区二区三| 国产一区二区三区在线臀色熟女 | 69精品国产乱码久久久| 免费一级毛片在线播放高清视频 | 免费观看精品视频网站| 十八禁高潮呻吟视频| 狠狠狠狠99中文字幕| 国产精品一区二区在线不卡| 久久久久久免费高清国产稀缺| 大香蕉久久网| 狂野欧美激情性xxxx| 欧美成人午夜精品| 啦啦啦 在线观看视频| 少妇的丰满在线观看| 精品少妇一区二区三区视频日本电影| 欧美黑人欧美精品刺激| 国产国语露脸激情在线看| 老司机深夜福利视频在线观看| 国产免费av片在线观看野外av| 在线观看日韩欧美| 亚洲专区字幕在线| 精品一区二区三卡| 亚洲aⅴ乱码一区二区在线播放 | 亚洲一码二码三码区别大吗| 欧洲精品卡2卡3卡4卡5卡区| 精品福利观看| 老司机影院毛片| 大码成人一级视频| 黄色毛片三级朝国网站| 国产男靠女视频免费网站| 国产精品久久久久久人妻精品电影| 成人18禁在线播放| 每晚都被弄得嗷嗷叫到高潮| 国产欧美亚洲国产| 国产成人免费观看mmmm| 天天躁日日躁夜夜躁夜夜| 亚洲片人在线观看| 久久精品国产亚洲av高清一级| 欧美中文综合在线视频| 看黄色毛片网站| 日韩欧美一区二区三区在线观看 | xxx96com| 欧美日韩亚洲高清精品| 欧美日本中文国产一区发布| 精品久久久久久电影网| 中文字幕精品免费在线观看视频| 一区福利在线观看| 中文字幕人妻熟女乱码| 中文字幕精品免费在线观看视频| 精品人妻在线不人妻| 如日韩欧美国产精品一区二区三区| 亚洲精品av麻豆狂野| 亚洲全国av大片| 亚洲av日韩在线播放| 欧美日韩亚洲国产一区二区在线观看 | 99久久人妻综合| 夜夜爽天天搞| 久久久久视频综合| 天堂俺去俺来也www色官网| 久久久水蜜桃国产精品网| 日本撒尿小便嘘嘘汇集6| 丝袜美足系列| 欧美激情 高清一区二区三区| 很黄的视频免费| 美女国产高潮福利片在线看| 国产高清激情床上av| 在线观看日韩欧美| 国产精品免费视频内射| 日韩三级视频一区二区三区| 在线av久久热| 欧美精品啪啪一区二区三区| 美女高潮到喷水免费观看| 美女福利国产在线| 国产91精品成人一区二区三区| 国产精品美女特级片免费视频播放器 | 好看av亚洲va欧美ⅴa在| 国产淫语在线视频| 中文欧美无线码| 国产精品久久久久成人av| 宅男免费午夜| 免费在线观看亚洲国产| av不卡在线播放| 亚洲片人在线观看| 久99久视频精品免费| 日本黄色视频三级网站网址 | 啦啦啦在线免费观看视频4| 午夜福利欧美成人| 热99re8久久精品国产| 麻豆乱淫一区二区| 免费女性裸体啪啪无遮挡网站| 午夜久久久在线观看| 亚洲精品中文字幕在线视频| 啦啦啦 在线观看视频| 大片电影免费在线观看免费| 三上悠亚av全集在线观看| 久久精品成人免费网站| 丁香六月欧美| 日韩精品免费视频一区二区三区| 国产国语露脸激情在线看| 搡老熟女国产l中国老女人| 欧美激情 高清一区二区三区| 亚洲一区高清亚洲精品| 国产99白浆流出| 欧美日韩乱码在线| 成人18禁高潮啪啪吃奶动态图| 国产日韩欧美亚洲二区| 麻豆av在线久日| 又黄又粗又硬又大视频| 黄片小视频在线播放| 欧美成狂野欧美在线观看| 欧美乱色亚洲激情| 国产一区二区三区综合在线观看| 欧美另类亚洲清纯唯美| 乱人伦中国视频| 一区二区三区精品91| 超碰成人久久| 国产亚洲欧美在线一区二区| 午夜成年电影在线免费观看| 色在线成人网| 国产熟女午夜一区二区三区| 欧美国产精品va在线观看不卡| 一二三四社区在线视频社区8| 久久久久视频综合| www.自偷自拍.com| 视频在线观看一区二区三区| 美国免费a级毛片| 在线免费观看的www视频| 欧美日韩亚洲国产一区二区在线观看 | 欧美日韩精品网址| 欧美日韩中文字幕国产精品一区二区三区 | 在线观看舔阴道视频| 亚洲精品美女久久av网站| 国产人伦9x9x在线观看| 国产xxxxx性猛交| 99热网站在线观看| 少妇粗大呻吟视频| 色精品久久人妻99蜜桃| 两性午夜刺激爽爽歪歪视频在线观看 | 欧美日韩亚洲国产一区二区在线观看 | 亚洲色图av天堂| 成人亚洲精品一区在线观看| 国产精品永久免费网站| 亚洲伊人色综图| 在线观看免费日韩欧美大片| 免费在线观看视频国产中文字幕亚洲| 一本一本久久a久久精品综合妖精| 国产成人欧美在线观看 | 在线观看午夜福利视频| 午夜福利影视在线免费观看| 在线天堂中文资源库| 法律面前人人平等表现在哪些方面| 国产男靠女视频免费网站| 免费观看a级毛片全部| 美女国产高潮福利片在线看| 少妇裸体淫交视频免费看高清 | 国产欧美日韩一区二区三| 亚洲人成伊人成综合网2020| 久久久精品区二区三区| 亚洲精华国产精华精| 91在线观看av| 国产欧美亚洲国产| 国产日韩一区二区三区精品不卡| 免费少妇av软件| 色婷婷av一区二区三区视频| 妹子高潮喷水视频| av超薄肉色丝袜交足视频| 欧美乱色亚洲激情| 精品久久久久久久毛片微露脸| 黄色怎么调成土黄色| 国产精品久久久人人做人人爽| av片东京热男人的天堂| 欧美亚洲日本最大视频资源| 亚洲国产欧美一区二区综合| 国产成人精品久久二区二区免费| 老司机深夜福利视频在线观看| 在线永久观看黄色视频| 两人在一起打扑克的视频| 亚洲精品国产区一区二| 麻豆av在线久日| 老司机亚洲免费影院| 香蕉丝袜av| 成人永久免费在线观看视频| 久久精品人人爽人人爽视色| 淫妇啪啪啪对白视频| 一进一出好大好爽视频| 高清av免费在线| 人人妻,人人澡人人爽秒播| 一区在线观看完整版| 麻豆乱淫一区二区| 亚洲一区二区三区欧美精品| 97人妻天天添夜夜摸| 久久99一区二区三区| 91在线观看av| 国产精品.久久久| 久久国产精品人妻蜜桃| 国产精品久久久人人做人人爽| 欧美国产精品一级二级三级| 亚洲精品久久成人aⅴ小说| 国产精品免费大片| 免费黄频网站在线观看国产| 国产精品秋霞免费鲁丝片| 久久人人97超碰香蕉20202| 国产精品偷伦视频观看了| 国产亚洲一区二区精品| 一边摸一边抽搐一进一小说 | 91精品三级在线观看| 高清在线国产一区| 在线观看一区二区三区激情| 午夜老司机福利片| 欧美日韩亚洲高清精品| 亚洲精品自拍成人| 国产精品免费视频内射| 久久99一区二区三区| 午夜91福利影院| 亚洲av电影在线进入| 国产成人免费无遮挡视频| 亚洲久久久国产精品| 亚洲情色 制服丝袜| 天堂动漫精品| 最新美女视频免费是黄的| 成年动漫av网址| 欧美另类亚洲清纯唯美| 国产亚洲精品第一综合不卡| 中文字幕人妻熟女乱码| 欧美 日韩 精品 国产| 大香蕉久久成人网| 亚洲欧美激情在线| 黄片大片在线免费观看| 999久久久精品免费观看国产| 久久九九热精品免费| 女同久久另类99精品国产91| 日韩大码丰满熟妇| 在线观看免费视频日本深夜| 啪啪无遮挡十八禁网站| 老司机深夜福利视频在线观看| 大陆偷拍与自拍| 黄色毛片三级朝国网站| 久久久久精品人妻al黑| 欧美久久黑人一区二区| 欧美黑人欧美精品刺激| 色尼玛亚洲综合影院| 国产一区在线观看成人免费| 18禁裸乳无遮挡动漫免费视频| 国产深夜福利视频在线观看| 国产熟女午夜一区二区三区| 婷婷成人精品国产| 欧美日韩视频精品一区| 国产无遮挡羞羞视频在线观看| 日韩大码丰满熟妇| 久久国产精品影院| 免费看十八禁软件| 一级a爱视频在线免费观看| 人成视频在线观看免费观看| 欧美精品啪啪一区二区三区| 91av网站免费观看| 精品国产国语对白av| 日韩熟女老妇一区二区性免费视频| 亚洲精品av麻豆狂野| 久久久水蜜桃国产精品网| 一级毛片女人18水好多| 18禁国产床啪视频网站| 久久午夜综合久久蜜桃| 在线永久观看黄色视频| 在线播放国产精品三级| 一区二区日韩欧美中文字幕| 国产成人啪精品午夜网站| 亚洲片人在线观看| 午夜成年电影在线免费观看| 80岁老熟妇乱子伦牲交| 国产精品永久免费网站| 午夜免费观看网址| 久久ye,这里只有精品| 美女高潮喷水抽搐中文字幕| 窝窝影院91人妻| 黄色视频,在线免费观看| 美国免费a级毛片| 丝袜美腿诱惑在线| 日韩免费高清中文字幕av| cao死你这个sao货| 亚洲熟女毛片儿| 99香蕉大伊视频| 国产男靠女视频免费网站| 中文字幕色久视频| 国产高清激情床上av| 亚洲欧洲精品一区二区精品久久久| 丰满的人妻完整版| 丰满人妻熟妇乱又伦精品不卡| 午夜免费观看网址| 久久久久久久久免费视频了| 日本黄色日本黄色录像| 国精品久久久久久国模美| 在线天堂中文资源库| 日日爽夜夜爽网站| 精品免费久久久久久久清纯 | 三级毛片av免费| 另类亚洲欧美激情| 国产亚洲精品一区二区www | 午夜影院日韩av| 久久人人爽av亚洲精品天堂| 日本a在线网址| 悠悠久久av| 亚洲国产中文字幕在线视频| 一进一出好大好爽视频| 黄片播放在线免费| 亚洲av日韩精品久久久久久密| 亚洲欧美一区二区三区久久| 一夜夜www| 亚洲国产精品合色在线| 1024视频免费在线观看| 建设人人有责人人尽责人人享有的| 国产精品偷伦视频观看了| 免费黄频网站在线观看国产| 脱女人内裤的视频| 亚洲国产欧美一区二区综合| 女人高潮潮喷娇喘18禁视频| 黄色a级毛片大全视频| 久久久久久久精品吃奶| 国产成人欧美| 热99re8久久精品国产| 免费黄频网站在线观看国产| 高清在线国产一区| 香蕉丝袜av| 12—13女人毛片做爰片一| 多毛熟女@视频| 叶爱在线成人免费视频播放| 久久婷婷成人综合色麻豆| 欧洲精品卡2卡3卡4卡5卡区| 成在线人永久免费视频| 动漫黄色视频在线观看| 熟女少妇亚洲综合色aaa.| 免费高清在线观看日韩| 国产无遮挡羞羞视频在线观看| 亚洲avbb在线观看| 久久久国产精品麻豆| 丰满饥渴人妻一区二区三| 大片电影免费在线观看免费| 一个人免费在线观看的高清视频| 亚洲中文字幕日韩| 一级片'在线观看视频| 男女床上黄色一级片免费看| 午夜91福利影院| 母亲3免费完整高清在线观看| 婷婷精品国产亚洲av在线 | 深夜精品福利| 午夜日韩欧美国产| 亚洲av欧美aⅴ国产| 男女午夜视频在线观看| av国产精品久久久久影院| 这个男人来自地球电影免费观看| 一级a爱片免费观看的视频| 国产成人精品久久二区二区免费| 国产色视频综合|