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

    基于求解開銷預測的符號執(zhí)行搜索策略研究

    2016-06-16 08:12:05劉經(jīng)德陳振邦
    計算機研究與發(fā)展 2016年5期

    劉經(jīng)德 陳振邦 王 戟,2

    1(國防科學技術(shù)大學計算機學院 長沙 410073)2(并行與分布處理國防科技重點實驗室(國防科學技術(shù)大學計算機學院) 長沙 410073)3(95835部隊 新疆巴音郭楞 841700)(liujingde@nudt.edu.cn)

    基于求解開銷預測的符號執(zhí)行搜索策略研究

    劉經(jīng)德1,3陳振邦1王戟1,2

    1(國防科學技術(shù)大學計算機學院長沙410073)2(并行與分布處理國防科技重點實驗室(國防科學技術(shù)大學計算機學院)長沙410073)3(95835部隊新疆巴音郭楞841700)(liujingde@nudt.edu.cn)

    摘要符號執(zhí)行中約束求解所占的時間比例非常高.同時,不同復雜度約束的求解時間開銷差距懸殊,這一現(xiàn)象在對包含復雜數(shù)值計算的程序進行符號執(zhí)行時尤為明顯.在指定時間內(nèi)求解更多約束有利于覆蓋更多語句和探索更多路徑.為此,提出了基于求解開銷預測的符號執(zhí)行搜索策略.基于實驗總結(jié)出了度量約束復雜度的經(jīng)驗公式,并結(jié)合約束的歷史求解開銷來預測當前的求解開銷,從而在符號執(zhí)行過程中優(yōu)先探索求解開銷較小的路徑.在KLEE中實現(xiàn)了上述搜索策略,并對GNU科學計算庫(GSL)中的12個模塊進行了實驗.實驗結(jié)果表明,相比現(xiàn)有搜索策略,提出的搜索策略在保證語句覆蓋率的同時,可以探索更多的路徑(平均24.34%提高);而且,在相同時間內(nèi),可以查找出更多的軟件缺陷,同時查找出相同缺陷的時間開銷平均降低了44.43%.

    關(guān)鍵詞符號執(zhí)行;約束求解;加權(quán)隨機搜索;缺陷查找;語句覆蓋

    符號執(zhí)行是一種相對精確的程序分析技術(shù)[1],由King[2]于1976年提出.符號執(zhí)行可以系統(tǒng)地遍歷程序的路徑空間;現(xiàn)階段符號執(zhí)行技術(shù)主要用于軟件測試[3]、查找程序缺陷[4]和程序驗證[5].

    在程序符號執(zhí)行過程中,路徑空間隨著程序中分支語句的數(shù)量增加呈指數(shù)級增長;同時,某些程序的路徑空間還可能是無窮的.因此,符號執(zhí)行面臨根本性的路徑爆炸問題,如何在有限時間內(nèi)更加高效地探索程序路徑空間成為了研究的熱點.1)符號執(zhí)行中的通用搜索策略希望在有限資源內(nèi)覆蓋更多的程序語句或路徑,包括深度優(yōu)先搜索(depth-first search, DFS)、隨機狀態(tài)搜索(random state search, RSS)、隨機路徑搜索(random path search, RPS)以及覆蓋率優(yōu)化搜索(coverage-optimized search, COS)等;2)也有一些工作針對某個具體目標研究高效的路徑空間搜索策略,包括提高程序語句覆蓋率[6]、面向可達性的搜索策略[7]、面向程序不同版本差異的搜索策略[8]等.

    然而,符號執(zhí)行中現(xiàn)有搜索策略在約束求解方面的考慮不夠,而符號執(zhí)行中很大一部分時間開銷花在約束求解上.例如使用符號執(zhí)行工具KLEE[4]對Coreutils中的89個程序進行符號執(zhí)行,其中求解時間占總時間的41%[4].同時,由于程序中不同路徑的路徑條件(path condition, PC)復雜度的差別可能很大,從而導致其求解開銷相差懸殊,使得小部分路徑的求解可能在符號執(zhí)行中占用了大部分的求解時間.對于包含復雜數(shù)值運算的程序,比如科學計算程序,由于涉及不同規(guī)模的線性及非線性運算,其中的約束求解開銷相差非常懸殊,從而造成的上述特征更為明顯.現(xiàn)有的符號執(zhí)行搜索策略在進行路徑選擇時都沒有考慮到這一點,導致符號執(zhí)行在分析復雜運算程序時無法在有限的時間內(nèi)探索更多的程序路徑,從而制約了符號執(zhí)行探索路徑空間的能力.

    針對這個問題,本文提出了一種基于求解開銷預測的符號執(zhí)行搜索(solving cost predication based search, SCPS)策略,通過對符號執(zhí)行中的求解開銷進行經(jīng)驗預測,在兼顧程序語句覆蓋率的前提下,優(yōu)先選擇求解開銷小的路徑進行探索,從而可在有限時間內(nèi)提高探索路徑的數(shù)量.本文在開源符號執(zhí)行器KLEE上實現(xiàn)了SCPS,并在開源程序上開展了實驗,實驗結(jié)果表明:在指定時間內(nèi),和已有搜索策略相比,本文提出的SCPS可在保持語句覆蓋率的同時探索更多路徑,查找出更多缺陷,并能夠在查找相同缺陷時需要更少的時間.

    1背景介紹及示例

    1.1符號執(zhí)行簡介

    在符號執(zhí)行中,用符號值作為被分析程序的輸入,程序狀態(tài)中包含3個信息:1)變量的符號值或?qū)嶋H值;2)當前的路徑條件;3)程序計數(shù)器.

    圖1是一個簡單的示例程序.函數(shù)foo()含有2個整型變量參數(shù)x和y.對foo()函數(shù)進行符號執(zhí)行過程如圖2所示.程序的初始狀態(tài)為state0,其中X和Y表示變量x和y的符號值,其路徑條件為true,表示沒有任何約束.當符號執(zhí)行到行②if (x>0)時,由于為分支語句,這時會對路徑進行分叉生成2條路徑,分別對應if (x>0)的真分支和假分支.在這2條不同的路徑上,相應的分支條件會加到所對應路徑的路徑條件中,然后調(diào)用求解器來判斷新的分支條件是否可滿足,以判斷路徑的可行性.圖2中左邊路徑的當前狀態(tài)用state1表示,其路徑條件為X>0;右邊路徑的當前狀態(tài)用state2表示,其路徑條件為X≤0.這2條路徑都存在使相應路徑條件為真的X和Y的取值,所以這2條路徑都可行.在接下來的執(zhí)行中,2條路徑分別執(zhí)行if語句對應的then塊和else塊,然后進行符號運算,變量y的取值最后分別為Y-X和Y+X.

    Fig. 1The first program.
    圖1示例程序1

    Fig. 2 The execution tree of the first program.圖2 示例程序1的執(zhí)行樹

    從上述介紹可知,符號執(zhí)行會生成被分析程序的路徑樹,樹中每個結(jié)點表示一個狀態(tài),每個葉結(jié)點都對應程序一條抽象路徑,表示滿足此路徑相應路徑約束的輸入會使程序執(zhí)行這條路徑.因此,符號執(zhí)行的過程也是對程序路徑樹的探索過程.一般而言,符號執(zhí)行的核心過程是一個由狀態(tài)選擇、指令執(zhí)行、狀態(tài)更新3部分構(gòu)成的循環(huán),其基本過程如下:1)從初始狀態(tài)開始,所有未探索的狀態(tài)構(gòu)成一個候選狀態(tài)集合;2)循環(huán)首先根據(jù)指定的搜索策略從候選狀態(tài)集合中選擇一個狀態(tài);3)執(zhí)行這個狀態(tài)中程序計數(shù)器所指向的指令,在執(zhí)行指令過程中如果需要判斷路徑可行性則對該路徑的路徑條件進行求解,在執(zhí)行分支指令時可能會加入新的狀態(tài);4)更新狀態(tài)信息,有時根據(jù)需要其他狀態(tài)的信息也將被更新.狀態(tài)選擇決定了符號執(zhí)行探索路徑空間的方式,通常的探索方式有DFS,RSS,RPS,COS等.同時,也可采用不同策略的組合,以同時發(fā)揮不同策略的特點.例如,符號執(zhí)行工具KLEE實現(xiàn)了10種搜索策略,并默認使用RPS+COS的策略組合.

    1.2基于求解開銷預測的搜索策略示例

    下面用1個例子介紹本文提出的SCPS搜索策略.

    圖3中的程序,target的初始值為0,在每次執(zhí)行斷言“assert(target<2)”前都會執(zhí)行一次“target++”操作,可以發(fā)現(xiàn)在第2次執(zhí)行“assert(target<2)”時出現(xiàn)斷言違例錯誤.該程序的執(zhí)行樹如圖4所示,圖4中有5個狀態(tài)執(zhí)行了“assert(target<2)”語句,分別為:state4,state5,state7,state9和state11.為突出比較就本示例而言不同搜索策略在缺陷查找方面的能力,現(xiàn)忽略和觸發(fā)斷言違例無關(guān)的狀態(tài),僅考慮選擇上述5個狀態(tài)中的哪2個去觸發(fā)斷言違例開銷最小,即耗時最短.通過實驗我們統(tǒng)計了使用STP[9]對上述5個狀態(tài)的PC進行求解的求解時間(solving time, ST),求解時間按大小排序如下:

    Fig. 3The second program.

    圖3示例程序2

    Fig. 4 The execution tree of the second program.圖4 示例程序2的執(zhí)行樹

    ST{X<0,Y≥5}

    ST{X<0,Y<5,X×Y<100,X×(Y+1)<100}.

    觸發(fā)斷言違例的狀態(tài)組合有5種: ①〈state4,state7〉;②〈state4,state5〉;③〈state5,state7〉;④〈state5,state9〉;⑤〈state7,state11〉.理想情況下這5種組合的求解時間開銷按大小排序為:ST2

    2基于求解開銷預測的加權(quán)隨機搜索策略

    2.1基于約束復雜度的求解開銷預測

    在符號執(zhí)行中,每條路徑的PC形如C1∧C2∧…∧Ci∧…∧Cn,其中Ci(1≤i≤n)表示一個分支條件.分支條件是一些常量和變量的表達式,其中的運算和操作主要包括:位操作、字符串操作、數(shù)值運算和比較操作等.PC的復雜度和其表達式長度、包含運算類型以及運算中所涉及的變量和常量中的數(shù)據(jù)個數(shù)等因素有關(guān).

    針對同一約束條件進行求解,不同求解器的求解開銷不一樣.對于同一個求解器,不同約束的求解開銷也可能相差懸殊;同時,由于求解器的能力有限,有些復雜的約束(比如包含復雜的高階運算)甚至求解器無法及時地得到結(jié)果.雖然對約束進行求解前我們無法預知其準確的求解開銷,但約束的求解開銷與約束復雜度具有直接的聯(lián)系;因此,通過評估約束的復雜度,可以對約束的求解開銷進行預測.為了評估約束的復雜度,根據(jù)不同操作的復雜性,我們將PC中涉及的操作進行了分類,如表1所示.其中,C-E是字符串操作類,Casting是位擴展操作類,S-A是簡單的算術(shù)運算、邏輯運算及位操作類,C-A是復雜的算術(shù)運算類,Cmp是比較操作類.

    另外,PC中常量和變量的個數(shù)分別用NCon和NVar表示,PC中操作類型A中所包含的操作出現(xiàn)的次數(shù)為NA.例如C-E類型中所包含的操作個數(shù)記為NC-E.為通過收集實驗數(shù)據(jù)總結(jié)約束求解開銷的經(jīng)驗公式,我們使用KLEE對GNU Scientific Library (GSL)[10]中的gsl_sf_bessel_I_CF1_ser和conicalP_negmu_xlt1_CF1這2個模塊進行了符號執(zhí)行,并在執(zhí)行時記錄了所有約束的邏輯表達式及對其求解的時間開銷,然后從這2個模塊的求解記錄中各隨機選取15條未被KLEE中的求解優(yōu)化方法命中的約束,對每條約束的邏輯表達式進行解析,統(tǒng)計出各表達式中不同操作類型的操作出現(xiàn)次數(shù)、不同操作數(shù)出現(xiàn)次數(shù)以及變量和常量的個數(shù),最后使用多元線性回歸分析方法對30組數(shù)據(jù)進行分析,最終得到約束求解復雜度的經(jīng)驗公式:

    Table 1 The Operation Type in Logical Expressions

    (1)

    另一方面,因為當前路徑的歷史求解開銷總和比上歷史PC復雜度總和反映了在該路徑上單位復雜度所對應的求解開銷均值,為了提高求解開銷預測的準確性,可以用歷史單位復雜度的求解開銷均值乘以當前的求解復雜度來預測其求解開銷.

    假設(shè)當前狀態(tài)對應所在路徑的第n+1個結(jié)點,其路徑條件PCn+1的邏輯表達式為C1∧C2∧…∧Ci∧…∧Cn∧Cn+1,(1≤i≤n).在當前路徑的第i個結(jié)點處的路徑條件PCi的約束復雜度記為Si,求解實際開銷記為Ti,則PCn+1的求解開銷預測值PTn+1可表示為

    (2)

    2.2加權(quán)隨機搜索

    在進行狀態(tài)選擇時,如果嚴格選擇所有候選狀態(tài)中PC求解開銷預測值最小的進行執(zhí)行,將可能使符號執(zhí)行局限于某些簡單的循環(huán)中,并且在每次進行狀態(tài)選擇時都會帶來較大的選擇開銷.為了在優(yōu)先選擇求解開銷更小的狀態(tài)的同時,提高符號執(zhí)行對程序的覆蓋率,我們參考KLEE中實現(xiàn)的加權(quán)隨機搜索(weighted random search)算法,對基于求解開銷預測的搜索策略進行優(yōu)化.通過優(yōu)化降低了狀態(tài)選擇開銷,并提高了語句覆蓋率.

    根據(jù)PC的求解開銷預測值PT對相應狀態(tài)賦予一個權(quán)值weight(記為W),PT越大,W越小,即在狀態(tài)選擇中被選擇的概率越小.對于求解開銷預測值在1 s內(nèi)的我們將其權(quán)值統(tǒng)一設(shè)為1,對于預測值超過最大求解時間TMST(max solving time, MST),我們也將它們的權(quán)值設(shè)為相同,這樣有助于避免某些狀態(tài)“餓死”.W與PT的對應關(guān)系如下:

    (3)

    加權(quán)隨機搜索算法該使用一棵二叉執(zhí)行樹維護當前所有候選狀態(tài)的信息,葉結(jié)點就是候選狀態(tài),內(nèi)部結(jié)點就是路徑分叉點,路徑分叉點處的W值為0,它還記錄了以該結(jié)點為根結(jié)點的二叉樹的所有葉結(jié)點的權(quán)值之和Wsum,算法1描述了加權(quán)隨機搜索算法.該算法的核心思想是首先產(chǎn)生一個(0,1]的隨機數(shù)p,從左往右累加二叉樹各葉結(jié)點的W值,直到加上某個葉結(jié)點的W值之前累加之和小于p×Wsum,而加上該葉結(jié)點的W值之后累加之和大于或等于p×Wsum時,則結(jié)束搜索,選擇該葉結(jié)點對應的state.

    算法1. 加權(quán)隨機搜索算法.

    輸入:記錄所有當前候選狀態(tài)信息的二叉樹,(0,1]內(nèi)的隨機數(shù)p;

    輸出:接下來執(zhí)行的state.

    ① 置隨機權(quán)值Wrandom為二叉樹根結(jié)點的Wsum值乘以p;

    ② 令當前結(jié)點為二叉樹的根結(jié)點;

    ③ 如果當前結(jié)點存在左子結(jié)點,轉(zhuǎn)步驟④;否則,轉(zhuǎn)步驟⑦;

    ④ 如果Wrandom小于當前結(jié)點的左子結(jié)點的Wsum值,轉(zhuǎn)步驟⑤;否則,轉(zhuǎn)步驟⑥;

    ⑤ 令當前結(jié)點為它的左子結(jié)點,返回步驟③;

    ⑥ 置Wrandom為其原值減去當前結(jié)點的左子結(jié)點的Wsum值;

    ⑦ 如果Wrandom小于當前結(jié)點的W值,則轉(zhuǎn)步驟⑩;否則,轉(zhuǎn)步驟⑧;

    ⑧ 置Wrandom為其原值減去當前結(jié)點的W值.

    ⑨ 令當前結(jié)點為它的右子結(jié)點,返回步驟③.

    ⑩ 輸出當前結(jié)點對應的state.

    3實驗與分析

    我們基于符號執(zhí)行工具KLEE實現(xiàn)了SCPS策略.KLEE是基于LLVM平臺的C程序符號執(zhí)行工具,使用STP作為約束求解器.基于實現(xiàn)的搜索策略和KLEE已有搜索策略,我們開展了一系列的實驗,實驗想回答3個問題:1)和RPS+COS策略組合相比,SCPS+COS能否提高語句覆蓋率;2)和RPS+COS策略組合相比,SCPS+COS能否探索更多路徑;3)和RPS+COS策略組合相比,SCPS+COS是否具有更強的缺陷查找能力.

    在實驗對象上,我們隨機選擇了GSL(version 1.16)中的12個模塊.GSL是一個應用廣泛的數(shù)值計算C和C++程序庫,提供如隨機數(shù)產(chǎn)生器、特殊函數(shù)和最小二乘擬合等功能.經(jīng)過長期的維護和深度測試,GSL目前已相當成熟.另外,由于目前KLEE無法直接對浮點程序進行符號執(zhí)行[11],我們引入SoftFloat把12個GSL模塊中的浮點運算手工替換成了SoftFloat中提供的操作.SoftFloat是一個高質(zhì)量的符合IECIEEE標準的整數(shù)實現(xiàn)浮點庫,支持4種最常見的浮點精度的運算:單精度(32 b)、雙精度(64 b)、擴展雙精度(80 b)以及4倍精度(128 b)[12].使用SoftFloat中的函數(shù)替換GSL程序中的基本運算后我們把這12個模塊改編成了12個獨立程序,這12個程序及其規(guī)模如表2所示,ELOC表示經(jīng)優(yōu)化后可在KLEE上執(zhí)行的測試集程序的可執(zhí)行代碼行數(shù),所有程序的規(guī)模在2 700~2 900行之間.

    在實驗中我們比較了SCPS+COS(我們的方法)和RPS+COS(KLEE已有的效果較好策略)2種策略組合在語句覆蓋、探索路徑數(shù)量以及缺陷查找上的能力.所有實驗都是在處理器為Intel?Xeon?X5675 CPU(24 cores,3.07 GHz)、內(nèi)存為94 GB的服務器上進行的,操作系統(tǒng)是64位的Ubuntu 12.04.1 LTS.使用KLEE對每個程序進行分析時主要設(shè)置了以下3個參數(shù)∶--max-time=1 800(最大執(zhí)行時間為1 800 s,即30 min),--max-solver-time=50(最大求解時間為50 s),--search(設(shè)置搜索策略).由于對每個搜索策略組合來說都有部分程序無法在到達指定時間時及時終止,且它們超時時長大小不一,為公平起見,我們忽略超時后探索的路徑,僅僅比較在指定最大執(zhí)行時間30 min內(nèi)生成的路徑[13].

    Table 2 Executable Line of Code (ELOC) of Test Benchmarks

    3.1語句覆蓋

    語句覆蓋就是度量被分析代碼中每個可執(zhí)行語句是否被執(zhí)行到了.雖然語句覆蓋常常被指責為“最弱的覆蓋”,但它仍然是最常用也是最常見的一種代碼覆蓋準則,實驗中我們使用gcov統(tǒng)計語句覆蓋率信息.統(tǒng)計語句覆蓋率時我們只考慮程序自身的可執(zhí)行代碼行數(shù),而不考慮各程序調(diào)用的庫中的代碼.使用不同策略組合分析每個程序時的語句覆蓋率如表3所示:

    Table 3The Statement Coverage of Test Benchmarks Using Different Strategies

    表3 使用不同策略組合時的語句覆蓋率 %

    由于被分析程序中包含大量SoftFloat中的代碼,且有的路徑約束條件中包含大量復雜運算,在指定最大求解時間內(nèi)無法對這些約束進行求解,導致語句覆蓋率較低.使用SCPS+COS搜索策略時的語句覆蓋率均值為12.44%,使用RPS+COS時的語句覆蓋率均值為12.62%.雖然SCPS+COS策略組合無法提高語句覆蓋率,但我們可以認為SCPS+COS和RPS+COS的語句覆蓋能力相當.

    3.2路徑數(shù)

    我們統(tǒng)計了使用不同策略組合分析每個程序所探索的路徑數(shù)(記為N).實驗中發(fā)現(xiàn)不同被分析的程序所產(chǎn)生的路徑數(shù)相差特別大,為公平起見,采用路徑數(shù)提高率(記為I)來統(tǒng)計實驗結(jié)果,提高率的計算方法為

    (4)

    圖5顯示了對12個被分析程序采用SCPS+COS策略組合進行分析時在所探索的路徑數(shù)量上相對于RPS+COS的提高率,由低到高排列.數(shù)據(jù)顯示,對11個被分析程序進行分析時采用SCPS+COS策略組合在探索的路徑數(shù)量上要優(yōu)于RPS+COS,在1個程序上SCPS+COS要比RPS+COS稍差,這是因為該程序的執(zhí)行樹形態(tài)比較細長,采用2種策略組合最終所探索的路徑基本相同,而SCPS在狀態(tài)選擇時的開銷要比RPS稍大.平均而言,采用SCPS+COS策略組合所產(chǎn)生的路徑要比采用RPS+COS高出24.34%.

    Fig. 5 The improved rate of explored paths by SCPS+COS compared with RPS+COS.圖5 SCPS+COS相對RPS+COS探索路徑提高率

    同時,我們統(tǒng)計了探索路徑數(shù)量隨時間的變化情況(對每個被分析程序均以采用RPS+COS策略組合在30 min內(nèi)所覆蓋的路徑的總量為100%),圖6顯示了探索路徑數(shù)量相對均值隨時間變化情況.

    Fig. 6 The time-dependent change of the relative mean number of explored paths using different strategy combinations.圖6 不同策略組合探索的路徑數(shù)相對均值隨時間的變化

    可以看出在程序執(zhí)行初期,使用RPS+COS策略組合所探索的路徑數(shù)要比SCPS+COS策略多,這是因為剛開始時PC都比較簡單,求解開銷相差不大,且求解開銷和PC復雜度的歷史信息較少,求解開銷預測準確性不高.隨著PC復雜度增加及歷史信息積累,求解開銷分化越來越大,SCPS的優(yōu)勢逐漸體現(xiàn),能夠在相同時間內(nèi)探索更多路徑.因此,當執(zhí)行時間夠長時,和RPS+COS策略組合相比,SCPS+COS能夠探索更多路徑.

    3.3缺陷查找

    進一步,我們希望比較RPS+COS(簡稱R+C)和SCPS+COS(簡稱S+C)這2種搜索策略組合在缺陷查找方面的能力.我們使用程序變異工具Milu[14]對被分析的12個程序進行變異,變異后生成的程序叫變異體(mutant).

    我們使用Milu共產(chǎn)生了3 639個變異體,然后用KLEE來分析變異后的程序,希望能夠發(fā)現(xiàn)變異點.在實驗中我們使用KLEE對每個變異體進行2次符號執(zhí)行,分別使用上述2種策略組合,執(zhí)行時設(shè)置最大執(zhí)行時間為600 s、單次最大求解時間為30 s.表4給出了實驗結(jié)果.

    Table 4 The Experimental Results of Bug Finding in Mutants

    Notes: R+C is short of RPS+COS, and S+C is short of SCPS+COS.

    實驗共查找出361個缺陷,RPS+COS策略組合能找出其中的346個,SCPS+COS能找出其中的356個,2種策略組合都能查找出的缺陷有341個.對比這2種策略組合查找這341個相同bug的時間開銷發(fā)現(xiàn)SCPS+COS策略組合查找出其中的215個耗時更短,41個持平,只有81個耗時更長.平均而言,查找相同缺陷時,SCPS+COS策略組合要比RPS+COS減少44.43%,計算方法如式(5)所示,其中STR+C和STS+C是分別使用RPS+COS策略和SCPS+COS策略查找所有相同缺陷時的總時間開銷.

    davg=(STR+C-STS+C)STR+C×100.00%.

    (5)

    從上述實驗結(jié)果可以看出,對于實驗中變異后的程序,SCPS+COS策略組合在相同時間內(nèi)能夠找出更多的缺陷,并且找出相同缺陷需要的時間更短.

    3.4有效性

    實驗中我們從GSL中隨機選取了12個模塊作為被分析程序,具有一定的代表性.由于GSL本身很成熟,存在的缺陷較少,我們只在變異程序及而非實際程序中找到了更多缺陷.從實驗數(shù)據(jù)可以看出采用SCPS+COS策略組合時查找相同缺陷時間開銷的平均減少率(44.43%)要比其探索的路徑數(shù)量相對提高率(24.34%)高,主要原因如下:1)開銷的平均減小率統(tǒng)計的是查找341個相同bug的平均耗時減少水平,探索的路徑數(shù)量相對提高率在統(tǒng)計時因為不同程序的被探索路徑數(shù)量相差很大,為公平起見統(tǒng)計的是這12個程序的平均提高率,不是所有路徑總和的提高率(37.82%);2)SCPS策略優(yōu)先探索求解開銷較小的路徑,隨著后續(xù)簡單路徑越來越少,將不得不探索一些更為復雜的路徑,和RPS相比的優(yōu)勢也將減弱.

    4相關(guān)工作

    為緩解符號執(zhí)行的路徑爆炸問題,提高語句覆蓋率及缺陷查找能力,研究者們提出了很多搜索策略、查詢優(yōu)化方法及并行優(yōu)化技術(shù).

    在搜索策略方面,Cadar等人[15]開發(fā)的工具EXE中采用了一種最佳優(yōu)先搜索策略(best-first search),根據(jù)相應的目標采用啟發(fā)式搜索算法選擇所有候選執(zhí)行狀態(tài)中最符合該目標的一個執(zhí)行狀態(tài).Burnim等人[16]也使用啟發(fā)式信息引導動態(tài)符號執(zhí)行的搜索過程,他們構(gòu)建了一個被分析程序的加權(quán)控制流圖,通過比較控制流圖中各未覆蓋過的語句和當前位置的距離優(yōu)先探索最近的程序塊.為了查找特定的語句中是否存在缺陷,Ma等人[7]提出了面向程序中某個位置的符號執(zhí)行搜索策略,基于在過程間控制流圖上到目標語句的最短路徑進行探索.面向目標的符號執(zhí)行方法[7]在指定的搜索目標的引導下,交替使用后向和前向的搜索方式,能夠快速地查找出覆蓋目標程序點的路徑.相比而言,本文提出的搜索策略是從符號執(zhí)行中約束求解的角度來提高符號執(zhí)行的搜索能力,與上述一些策略是互補的關(guān)系,可以組合使用.

    在查詢優(yōu)化方面,KLEE實現(xiàn)了以下優(yōu)化方法[4]:通過重寫簡化表達式、進行獨立性檢查以消除無關(guān)約束以及通過反例緩存獲取求解結(jié)果,取得了不錯的效果.文獻[17]中提出了猜測符號執(zhí)行方法,將現(xiàn)代處理器流水結(jié)構(gòu)中的猜測思想引入到符號執(zhí)行中,僅當路徑上未判定分支語句個數(shù)達到一定數(shù)量或到達葉結(jié)點時才對路徑的可行性進行判斷,從而可以減少約束求解的次數(shù).文獻[18]中設(shè)計了一種能夠自動選擇時機和方式進行狀態(tài)合并的動態(tài)優(yōu)化方法,通過狀態(tài)合并減少了待遍歷的路徑數(shù).Visser等人[19]提出了Green框架,Green獨立于符號執(zhí)行工具,它能夠?qū)⒅暗那蠼饨Y(jié)果存儲在內(nèi)存數(shù)據(jù)庫中.這種存儲方式使得同一程序的不同分析過程、不同求解器調(diào)用以及不同程序的分析過程、不同機器之間能夠共享緩存信息.相比而言,本文的工作是通過約束求解的開銷來引導符號執(zhí)行的搜索過程,上述一些工作可能會與我們提的搜索策略有沖突,比如文獻[18]中的方法會增加路徑條件的復雜度.因此,我們的策略如何與已有查詢優(yōu)化方法相結(jié)合是下一步需要研究的內(nèi)容.

    并行優(yōu)化技術(shù)[20-22]是符號執(zhí)行技術(shù)研究的一個重要方向.并行優(yōu)化技術(shù)主要是采用不同的算法將程序的路徑空間進行劃分,同時使用不同的計算單元對劃分后的路徑空間不同部分進行探索;并行優(yōu)化技術(shù)還需要考慮不同計算單元之間的信息交互及負載均衡.目前,很多并行優(yōu)化算法在緩解符號執(zhí)行的路徑爆炸問題上取得了很好的效果.但是,理論上,并行優(yōu)化技術(shù)的最大收益與計算單元的數(shù)量呈線性關(guān)系,而路徑數(shù)卻與分支數(shù)呈指數(shù)關(guān)系,并行優(yōu)化技術(shù)并不能從根本上解決路徑爆炸問題.

    5總結(jié)

    提出并實現(xiàn)了一種基于求解開銷預測的符號執(zhí)行搜索策略.實驗表明,相比現(xiàn)有搜索策略,本文提出的策略可以在保證相當語句覆蓋率的前提下,探索更多的程序路徑(24.34%的提升);在缺陷查找方面,針對被分析程序的3 639個變異體進行分析,使用本文提出的策略多可多發(fā)現(xiàn)10個軟件缺陷,并且對于相同的程序缺陷,本文中策略發(fā)現(xiàn)這些缺陷需要的耗時平均減少了44.43%.后續(xù)研究將主要從3個方面開展:

    1) 改進求解開銷預測算法;

    2) 從基本路徑覆蓋率、平均代碼覆蓋率以及平均錯誤檢測率等方面上進一步比較SCPS+COS和其他搜索策略;

    3) 對更多實際程序進行分析,進一步比較SCPS+COS和其他搜索策略在缺陷查找方面的能力.

    參考文獻

    [1]Zhang Jian. Sharp static analysis of programs [J]. Chinese Journal of Computers, 2008, 31(9): 1549-1553 (in Chinese)(張健. 精確的程序靜態(tài)分析[J]. 計算機學報, 2008, 31(9): 1549-1553)

    [2]King J C. Symbolic execution and program testing [J]. Communications of the ACM, 1976, 19(7): 385-394

    [3]Cadar C, Godefroid P, Khurshid S, et al. Symbolic execution for software testing in practice: preliminary assessment [C]Proc of the 33rd Int Conf on Software Engineering. New York: ACM, 2011: 1066-1071

    [4]Cadar C, Dunbar D, Engler D R. KLEE: Unassisted and automatic generation of high-coverage tests for complex systems programs [C]Proc of the 8th USENIX Symp on Operating Systems Design and Implementation. Berkeley, CA: USENIX Association, 2008: 209-224

    [5]Jaffar J, Navas J A, Santosa A E. Unbounded symbolic execution for program verification [C]Proc of the 2nd Int Conf on Runtime verification. Berlin: Springer, 2012: 396-411

    [6]Bugrara S, Engler D R. Redundant state detection for dynamic symbolic execution [C]Proc of the 2013 USENIX Annual Technical Conf. Berkeley, CA: USENIX Association, 2013: 199-211

    [7]Ma K, Phang K, Foster J, et al. Directed symbolic execution [G]Static Analysis. Berlin: Springer, 2011: 95-111

    [8]Person S, Yang G, Rungta N, et al. Directed incremental symbolic execution [J]. ACM SIGPLAN Notices, 2011, 46(6): 504-515

    [9]Ganesh V, Dill D L. A decision procedure for bit-vectors and arrays [C]Proc of the 19th Int Conf on Computer aided verification. Berlin: Springer, 2007: 519-531

    [10]Free Software Foundation (FSF). GSL: GNU scientific library [EBOL]. [2014-07-31]. http:www.gnu.orgsgsl

    [11]Romano A. Practical floating-point tests with integer code [C]Proc of the 15th Int Conf on Verification, Model Checking, and Abstract Interpretation. Berlin: Springer, 2014: 337-356

    [12]Hauser J. Berkeley SoftFloat [EBOL]. [2014-07-31]. http:www.jhauser.usarithmeticSoftFloat.html

    [13]Li Y, Su Z, Wang L, et al. Steering symbolic execution to less traveled paths [J]. ACM SIGPLAN Notices, 2013, 48(10): 19-32

    [14]Jia Y, Harman M. MILU: A customizable, runtime-optimized higher order mutation testing tool for the full C language [C]Proc of the 3rd Testing: Academic and Industrial Conf—Practice and Research Techniques. Piscataway, NJ: IEEE, 2008: 94-98

    [15]Cadar C, Ganesh V, Pawlowski P M, et al. EXE: Automatically generating inputs of death [C]Proc of the 13th ACM Conf on Computer and Communications Security. New York: ACM, 2006: 332-335

    [16]Burnim J, Sen K. Heuristics for scalable dynamic test generation [C]Proc of the 23rd Int Conf on Automated Software Engineering. Los Alamitos, CA: IEEE Computer Society, 2008: 443-446

    [17]Zhang Y, Chen Z, Wang J. Speculative symbolic execution [C]Proc of the 23rd Int Symp on Software Reliability Engineering (ISSRE). Piscataway, NJ: IEEE, 2012: 101-110

    [18]Kuznetsov V, Kinder J, Bucur S, et al. Efficient state merging in symbolic execution [J]. ACM SIGPLAN Notices, 2012, 47(6): 193-204

    [19]Visser W, Geldenhuys J, Dwyer M B. Green: Reducing, reusing and recycling constraints in program analysis [C]Proc of the 20th ACM SIGSOFT Int Symp on the Foundations of Software Engineering. New York: ACM, 2012: 58-68

    [20]King A. Distributed parallel symbolic execution [D]. Manhattan, Kansas: Kansas State University, 2009

    [21]Ciortea L, Zamfir C, Bucur S, et al. Cloud9: A software testing service [J]. ACM SIGOPS Operating Systems Review, 2010, 43(4): 5-10

    [22]Staats M, Pǎsǎreanu C. Parallel symbolic execution for structural test generation [C]Proc of the 19th Int Symp on Software Testing and Analysis. New York: ACM, 2010: 183-194

    Liu Jingde, born in 1990. Master. Student member of China Computer Federation. His research interests include high confidence software and system, symbolic execution.

    Chen Zhenbang, born in 1981. PhD and assistant professor. His current research interests include program analysis and verification, component-oriented software engineering.

    Wang Ji, born in 1969. PhD. Professor and PhD supervisor. Senior member of China Computer Federation. His main research interests include high confidence software and system, software engineering and distributed computing.

    Solving Cost Prediction Based Search in Symbolic Execution

    Liu Jingde1,3, Chen Zhenbang1, and Wang Ji1,2

    1(CollegeofComputer,NationalUniversityofDefenseTechnology,Changsha410073)2(ScienceandTechnologyonParallelandDistributedProcessingLaboratory(CollegeofComputer,NationalUniversityofDefenseTechnology),Changsha410073)3(95835PLATroops,Bayingolin,Xinjiang841700)

    AbstractIn symbolic execution, constraint solving needs a large proportion of execution time. The solving time of a constraint differs a lot with respect to the complexity, which happens a lot when analyzing the programs with complex numerical calculations. Solving more constraints within a specified time contributes to covering more statements and exploring more paths. Considering this feature, we propose a solving cost prediction based search strategy for symbolic execution. Based on the experimental data of constraint solving, we conclude an empirical formula to evaluate the complexity of constraints, and predict the solving cost of a constraint combined with historical solving cost data. The formula is used in our strategy to explore the paths with a lower solving cost with a higher priority. We have implemented our strategy in KLEE, a state-of-art symbolic executor for C, and carried out the experiments on the randomly selected 12 modules in GNU Scientific Library (GSL). The experimental results indicate that: in a same period, compared with the existing strategy, our strategy can explore averagely 24.34% more paths, without sacrificing the statement coverage; and our strategy can find more bugs. In addition, the time of using our strategy for finding same bugs decreases 44.43% in average.

    Key wordssymbolic execution; constraint solving; weighted random search; bug finding; statement covering

    收稿日期:2014-12-08;修回日期:2015-03-26

    基金項目:國家“九七三”重點基礎(chǔ)研究計劃基金項目(2014CB340703);國家自然科學基金項目(61120106006,61472440,61272140)

    中圖法分類號TP311

    This work was supported by the National Basic Research Program of China (973 Program) (2014CB340703) and the National Natural Science Foundation of China (61120106006,61472440,61272140).

    欧美三级亚洲精品| 亚洲av成人精品一二三区| av在线老鸭窝| 最近的中文字幕免费完整| 日日爽夜夜爽网站| 99热国产这里只有精品6| 夜夜看夜夜爽夜夜摸| 欧美人与善性xxx| 99久久人妻综合| av天堂久久9| 欧美精品一区二区免费开放| 女性生殖器流出的白浆| 久久久久久久亚洲中文字幕| 曰老女人黄片| 亚洲情色 制服丝袜| 亚洲精品日韩av片在线观看| 色网站视频免费| 国产色爽女视频免费观看| 久久久久国产精品人妻一区二区| 黄色怎么调成土黄色| 亚州av有码| 亚洲激情五月婷婷啪啪| 大香蕉久久网| 久久久精品免费免费高清| 丝袜在线中文字幕| 高清欧美精品videossex| 国产亚洲最大av| 亚洲怡红院男人天堂| 久久免费观看电影| 人体艺术视频欧美日本| 国产在线男女| 日日啪夜夜爽| 新久久久久国产一级毛片| 精品亚洲乱码少妇综合久久| 婷婷色综合www| 免费观看性生交大片5| 亚洲国产欧美在线一区| 欧美日韩在线观看h| 大话2 男鬼变身卡| 欧美激情极品国产一区二区三区 | 人人妻人人看人人澡| 久久久久久久久久久丰满| 大香蕉97超碰在线| 久久人人爽av亚洲精品天堂| 丰满人妻一区二区三区视频av| 亚洲精品久久久久久婷婷小说| 女人久久www免费人成看片| tube8黄色片| 免费看日本二区| 久久99热6这里只有精品| av不卡在线播放| 黄色怎么调成土黄色| 中文字幕av电影在线播放| 各种免费的搞黄视频| 只有这里有精品99| 美女脱内裤让男人舔精品视频| 国产毛片在线视频| 精品一区二区三卡| 女的被弄到高潮叫床怎么办| 黄色视频在线播放观看不卡| av国产精品久久久久影院| 色哟哟·www| 精品久久久久久电影网| 美女大奶头黄色视频| 久久久精品免费免费高清| 亚洲精品日本国产第一区| 欧美日韩视频高清一区二区三区二| 亚洲自偷自拍三级| 草草在线视频免费看| 少妇人妻一区二区三区视频| 成年美女黄网站色视频大全免费 | 久久精品国产鲁丝片午夜精品| 久久精品久久久久久久性| 五月天丁香电影| 嫩草影院入口| 久久99热这里只频精品6学生| 国国产精品蜜臀av免费| 十分钟在线观看高清视频www | 日韩av免费高清视频| 亚洲欧美成人综合另类久久久| 亚洲精品亚洲一区二区| 肉色欧美久久久久久久蜜桃| 国产在线免费精品| 中国美白少妇内射xxxbb| 国产色婷婷99| 久久久a久久爽久久v久久| 亚洲av不卡在线观看| 亚洲精品第二区| 国产精品熟女久久久久浪| 精品卡一卡二卡四卡免费| 久久人人爽av亚洲精品天堂| 夫妻午夜视频| 一级毛片 在线播放| 少妇被粗大猛烈的视频| 国产极品天堂在线| 一本—道久久a久久精品蜜桃钙片| 亚洲av电影在线观看一区二区三区| 9色porny在线观看| 天堂8中文在线网| 18禁在线无遮挡免费观看视频| 国产在视频线精品| 婷婷色综合www| 亚洲欧美一区二区三区国产| 嘟嘟电影网在线观看| 午夜影院在线不卡| 久久精品国产亚洲av涩爱| 人妻夜夜爽99麻豆av| 又大又黄又爽视频免费| 一级毛片久久久久久久久女| 51国产日韩欧美| 国产高清三级在线| 成人免费观看视频高清| 精品国产露脸久久av麻豆| 中文字幕人妻丝袜制服| 自拍偷自拍亚洲精品老妇| 国产亚洲5aaaaa淫片| 爱豆传媒免费全集在线观看| 色视频在线一区二区三区| 91久久精品国产一区二区成人| 亚洲精品国产av成人精品| 2021少妇久久久久久久久久久| 国产精品一二三区在线看| 国产乱人偷精品视频| 丝袜喷水一区| 亚洲欧美成人精品一区二区| 免费av不卡在线播放| 高清午夜精品一区二区三区| 亚洲av日韩在线播放| 日本与韩国留学比较| av播播在线观看一区| 日韩伦理黄色片| 人人妻人人澡人人看| 国产精品秋霞免费鲁丝片| 少妇的逼好多水| 9色porny在线观看| 一二三四中文在线观看免费高清| 免费观看无遮挡的男女| 久久久久精品性色| 91精品国产国语对白视频| 国语对白做爰xxxⅹ性视频网站| 精品人妻熟女av久视频| 青春草国产在线视频| 如何舔出高潮| 亚洲av在线观看美女高潮| 久久狼人影院| 亚洲久久久国产精品| 亚洲av二区三区四区| 日本黄大片高清| 亚洲一区二区三区欧美精品| 亚洲精品日韩av片在线观看| 成人国产av品久久久| 日韩欧美 国产精品| 国产午夜精品久久久久久一区二区三区| 精品久久久久久久久亚洲| 亚洲精品自拍成人| 欧美bdsm另类| 亚洲av.av天堂| 久久ye,这里只有精品| 国精品久久久久久国模美| av不卡在线播放| 国产精品久久久久久久久免| 在线亚洲精品国产二区图片欧美 | 少妇 在线观看| 国产一级毛片在线| 乱人伦中国视频| 两个人免费观看高清视频 | 丰满乱子伦码专区| 国产av国产精品国产| 亚洲综合精品二区| 亚洲国产精品成人久久小说| 婷婷色av中文字幕| 午夜影院在线不卡| 久久亚洲国产成人精品v| 性高湖久久久久久久久免费观看| 亚洲欧美精品自产自拍| 中文欧美无线码| 2018国产大陆天天弄谢| 青青草视频在线视频观看| 好男人视频免费观看在线| 久久99热6这里只有精品| 新久久久久国产一级毛片| 精品视频人人做人人爽| 人妻制服诱惑在线中文字幕| 亚洲av欧美aⅴ国产| 又大又黄又爽视频免费| 国国产精品蜜臀av免费| 久久 成人 亚洲| 丰满少妇做爰视频| a级毛色黄片| 观看免费一级毛片| 久久亚洲国产成人精品v| 亚洲成色77777| 男人舔奶头视频| 十分钟在线观看高清视频www | 国内精品宾馆在线| 亚洲欧美日韩另类电影网站| 内地一区二区视频在线| 99热这里只有是精品50| 日日摸夜夜添夜夜添av毛片| av国产久精品久网站免费入址| 午夜91福利影院| 国产乱来视频区| 在线观看人妻少妇| 国产成人freesex在线| 交换朋友夫妻互换小说| 国产亚洲5aaaaa淫片| 日韩中文字幕视频在线看片| 综合色丁香网| 国产美女午夜福利| av线在线观看网站| 亚洲欧美成人精品一区二区| 黄色日韩在线| 国产永久视频网站| 国产免费福利视频在线观看| 久久热精品热| 国产精品国产三级专区第一集| 国产伦精品一区二区三区视频9| 日本猛色少妇xxxxx猛交久久| 在线观看免费高清a一片| 亚洲欧美中文字幕日韩二区| 免费在线观看成人毛片| 精品亚洲乱码少妇综合久久| 国产成人午夜福利电影在线观看| 亚洲中文av在线| 22中文网久久字幕| 桃花免费在线播放| 丰满迷人的少妇在线观看| 我要看黄色一级片免费的| 亚洲精品中文字幕在线视频 | 亚洲无线观看免费| 成人亚洲欧美一区二区av| 欧美精品一区二区大全| 26uuu在线亚洲综合色| 男女国产视频网站| 性色avwww在线观看| 狠狠精品人妻久久久久久综合| 成人午夜精彩视频在线观看| 国产免费一级a男人的天堂| av福利片在线| 97在线视频观看| 午夜91福利影院| 国产亚洲一区二区精品| 精品一区二区三卡| 五月开心婷婷网| 一区二区av电影网| 多毛熟女@视频| 亚洲婷婷狠狠爱综合网| 香蕉精品网在线| 久久这里有精品视频免费| 欧美区成人在线视频| 日本与韩国留学比较| 各种免费的搞黄视频| 国产成人免费无遮挡视频| 最近的中文字幕免费完整| 亚洲第一av免费看| 黄色日韩在线| 精品国产乱码久久久久久小说| 视频中文字幕在线观看| 国产 精品1| 久热这里只有精品99| 亚洲成人av在线免费| 成人黄色视频免费在线看| 精品久久国产蜜桃| 男人爽女人下面视频在线观看| 高清在线视频一区二区三区| 欧美日本中文国产一区发布| 肉色欧美久久久久久久蜜桃| 欧美精品一区二区免费开放| 黑人高潮一二区| 高清不卡的av网站| 国产中年淑女户外野战色| 欧美97在线视频| 黄色日韩在线| 免费高清在线观看视频在线观看| 色吧在线观看| 成人无遮挡网站| 亚洲成人一二三区av| 亚洲精品一二三| 亚洲一区二区三区欧美精品| 五月玫瑰六月丁香| 美女福利国产在线| 亚洲精品国产av蜜桃| 免费大片黄手机在线观看| 中文欧美无线码| 久久久久人妻精品一区果冻| av不卡在线播放| 99久久人妻综合| 性高湖久久久久久久久免费观看| 国产 一区精品| 亚洲欧洲精品一区二区精品久久久 | 免费高清在线观看视频在线观看| av一本久久久久| 99热6这里只有精品| 久久亚洲国产成人精品v| 亚洲精品亚洲一区二区| 午夜久久久在线观看| 简卡轻食公司| av在线app专区| 日本免费在线观看一区| 一边亲一边摸免费视频| 国语对白做爰xxxⅹ性视频网站| 涩涩av久久男人的天堂| 亚洲成色77777| 成人国产麻豆网| 高清不卡的av网站| 亚洲av在线观看美女高潮| 三级经典国产精品| 精品国产一区二区久久| 六月丁香七月| 青春草视频在线免费观看| 只有这里有精品99| 成人无遮挡网站| 涩涩av久久男人的天堂| 美女大奶头黄色视频| av国产精品久久久久影院| 老熟女久久久| 亚洲国产色片| 午夜免费观看性视频| 亚洲精品亚洲一区二区| 精品卡一卡二卡四卡免费| 国产伦精品一区二区三区四那| 69精品国产乱码久久久| 一本大道久久a久久精品| 蜜桃在线观看..| 少妇人妻 视频| 亚洲国产色片| 国产精品人妻久久久久久| 日本av免费视频播放| 啦啦啦视频在线资源免费观看| 免费黄频网站在线观看国产| 三级国产精品欧美在线观看| 久久影院123| 高清毛片免费看| 男女免费视频国产| 狂野欧美激情性xxxx在线观看| 晚上一个人看的免费电影| 黑人巨大精品欧美一区二区蜜桃 | 夜夜爽夜夜爽视频| 精品亚洲成a人片在线观看| 狠狠精品人妻久久久久久综合| 99热全是精品| 久久精品国产亚洲网站| 国产片特级美女逼逼视频| 女的被弄到高潮叫床怎么办| av天堂中文字幕网| 99热网站在线观看| av女优亚洲男人天堂| 99久久精品一区二区三区| 婷婷色麻豆天堂久久| 91久久精品国产一区二区三区| 国产69精品久久久久777片| 伊人久久精品亚洲午夜| 欧美日韩视频精品一区| 欧美日韩视频高清一区二区三区二| 啦啦啦啦在线视频资源| 国产探花极品一区二区| 亚洲欧洲国产日韩| 欧美 亚洲 国产 日韩一| 秋霞伦理黄片| 亚洲天堂av无毛| 日本猛色少妇xxxxx猛交久久| 日本黄色片子视频| 伊人久久精品亚洲午夜| 又大又黄又爽视频免费| 久久 成人 亚洲| 一个人免费看片子| 亚洲av欧美aⅴ国产| 五月玫瑰六月丁香| av女优亚洲男人天堂| 欧美高清成人免费视频www| 日本与韩国留学比较| 少妇猛男粗大的猛烈进出视频| videos熟女内射| 成人毛片60女人毛片免费| 人人澡人人妻人| 三上悠亚av全集在线观看 | 久久综合国产亚洲精品| 三上悠亚av全集在线观看 | 久久 成人 亚洲| 国产高清三级在线| 成人黄色视频免费在线看| 啦啦啦视频在线资源免费观看| 91成人精品电影| 人体艺术视频欧美日本| 美女国产视频在线观看| 卡戴珊不雅视频在线播放| 乱码一卡2卡4卡精品| 交换朋友夫妻互换小说| 校园人妻丝袜中文字幕| 中文在线观看免费www的网站| 伊人亚洲综合成人网| 国产高清有码在线观看视频| 蜜桃久久精品国产亚洲av| 肉色欧美久久久久久久蜜桃| 色哟哟·www| 女的被弄到高潮叫床怎么办| 欧美三级亚洲精品| 日韩av免费高清视频| 国产精品伦人一区二区| 成年美女黄网站色视频大全免费 | 国产精品人妻久久久影院| 久久人人爽人人片av| 在线精品无人区一区二区三| 99热网站在线观看| 国产精品熟女久久久久浪| 日韩一区二区视频免费看| av福利片在线| 日本欧美国产在线视频| 久久av网站| www.色视频.com| 欧美精品亚洲一区二区| 伊人久久精品亚洲午夜| 亚洲综合色惰| 老司机亚洲免费影院| 18+在线观看网站| 久久精品久久久久久噜噜老黄| 大香蕉97超碰在线| 午夜福利,免费看| 日韩不卡一区二区三区视频在线| 男人和女人高潮做爰伦理| 日韩在线高清观看一区二区三区| 精品国产乱码久久久久久小说| 亚洲国产色片| 内射极品少妇av片p| 国产一区二区在线观看av| 国产 精品1| 一个人看视频在线观看www免费| 精品久久久久久电影网| 国产中年淑女户外野战色| 国产精品.久久久| 久久久国产一区二区| 色视频www国产| 大陆偷拍与自拍| 亚洲精品国产色婷婷电影| 99热这里只有是精品在线观看| 内射极品少妇av片p| 国产精品国产三级国产av玫瑰| 日本黄色片子视频| 高清不卡的av网站| 婷婷色av中文字幕| 国产精品一区二区在线观看99| 中文精品一卡2卡3卡4更新| 韩国av在线不卡| 国产在线免费精品| 日韩中文字幕视频在线看片| 一级黄片播放器| 精品国产国语对白av| 99热这里只有是精品50| av播播在线观看一区| av不卡在线播放| 国产一区二区三区综合在线观看 | 国产欧美日韩一区二区三区在线 | 两个人的视频大全免费| 国精品久久久久久国模美| h视频一区二区三区| 日韩伦理黄色片| 国产片特级美女逼逼视频| 看十八女毛片水多多多| 亚洲欧洲精品一区二区精品久久久 | 啦啦啦啦在线视频资源| 你懂的网址亚洲精品在线观看| 综合色丁香网| 99久久精品一区二区三区| av免费在线看不卡| 国产一级毛片在线| 制服丝袜香蕉在线| 天堂8中文在线网| 精品一区二区三卡| 国产成人免费观看mmmm| 另类精品久久| 日本黄大片高清| 亚洲欧美日韩卡通动漫| 国产午夜精品一二区理论片| 亚洲欧美成人综合另类久久久| 一级黄片播放器| 在线天堂最新版资源| 青青草视频在线视频观看| 青春草视频在线免费观看| av福利片在线| 99热这里只有是精品在线观看| 国产免费福利视频在线观看| 国产精品久久久久久av不卡| 日日摸夜夜添夜夜添av毛片| 免费不卡的大黄色大毛片视频在线观看| 国产一区亚洲一区在线观看| 久久精品久久精品一区二区三区| 黄色欧美视频在线观看| 国产精品秋霞免费鲁丝片| 麻豆精品久久久久久蜜桃| 天天操日日干夜夜撸| 亚洲欧美清纯卡通| 成人亚洲精品一区在线观看| 国产综合精华液| h视频一区二区三区| 一级毛片 在线播放| 纯流量卡能插随身wifi吗| av在线观看视频网站免费| 狂野欧美白嫩少妇大欣赏| 肉色欧美久久久久久久蜜桃| 少妇猛男粗大的猛烈进出视频| 伊人久久精品亚洲午夜| 搡老乐熟女国产| 国产免费又黄又爽又色| 一级毛片 在线播放| 国产欧美日韩一区二区三区在线 | 国产高清不卡午夜福利| 国精品久久久久久国模美| 看免费成人av毛片| 成人影院久久| 97超碰精品成人国产| 亚洲自偷自拍三级| 欧美日韩亚洲高清精品| 22中文网久久字幕| 老司机亚洲免费影院| 亚洲av二区三区四区| 少妇裸体淫交视频免费看高清| 男女无遮挡免费网站观看| 最近最新中文字幕免费大全7| 欧美3d第一页| 男人舔奶头视频| 中文乱码字字幕精品一区二区三区| 久久久国产精品麻豆| 亚洲情色 制服丝袜| 精品久久久噜噜| 26uuu在线亚洲综合色| 国产一级毛片在线| 日日啪夜夜撸| 亚洲国产精品成人久久小说| 久久久久久久久久人人人人人人| 久久久久久久精品精品| 少妇被粗大的猛进出69影院 | 啦啦啦中文免费视频观看日本| 亚洲无线观看免费| 91久久精品国产一区二区三区| 青春草视频在线免费观看| 各种免费的搞黄视频| 国产在线一区二区三区精| 欧美bdsm另类| 国产一级毛片在线| 日本与韩国留学比较| 国产精品99久久99久久久不卡 | 99久久综合免费| 精品人妻熟女毛片av久久网站| 偷拍熟女少妇极品色| 亚洲精品一二三| 狂野欧美激情性xxxx在线观看| 青春草视频在线免费观看| 久久久久久久久大av| 久久久久久久久久久丰满| 日本wwww免费看| 国产爽快片一区二区三区| 精品久久久久久久久亚洲| 国产精品国产三级国产专区5o| 人妻夜夜爽99麻豆av| 99久国产av精品国产电影| 国产av精品麻豆| 精品国产国语对白av| 女性生殖器流出的白浆| 高清不卡的av网站| www.av在线官网国产| 中文字幕av电影在线播放| 黄色配什么色好看| 国产av国产精品国产| 免费看光身美女| 日韩成人av中文字幕在线观看| 人妻一区二区av| 一级毛片久久久久久久久女| 欧美老熟妇乱子伦牲交| 亚洲国产av新网站| 久久精品国产亚洲av天美| 观看av在线不卡| 如何舔出高潮| 日本午夜av视频| 如何舔出高潮| 国产欧美日韩综合在线一区二区 | 亚洲无线观看免费| 亚洲av电影在线观看一区二区三区| 蜜桃在线观看..| 国产综合精华液| 久久精品国产亚洲av涩爱| 精品少妇久久久久久888优播| 欧美人与善性xxx| 国精品久久久久久国模美| 五月开心婷婷网| 毛片一级片免费看久久久久| 亚洲中文av在线| 国模一区二区三区四区视频| 九九在线视频观看精品| 一区二区三区乱码不卡18| 日本-黄色视频高清免费观看| av女优亚洲男人天堂| 我的老师免费观看完整版| 欧美日韩av久久| 久久久午夜欧美精品| 99热6这里只有精品| 汤姆久久久久久久影院中文字幕| 51国产日韩欧美| 自拍偷自拍亚洲精品老妇| 特大巨黑吊av在线直播| 街头女战士在线观看网站| 国产精品久久久久久久久免| 日韩中字成人| av线在线观看网站| 亚洲av男天堂| av在线老鸭窝| 日韩av免费高清视频| 国产成人午夜福利电影在线观看| 一级二级三级毛片免费看| 一级毛片aaaaaa免费看小| 高清av免费在线| 人人妻人人看人人澡| 色视频在线一区二区三区| 亚洲中文av在线| 亚洲va在线va天堂va国产| 天堂中文最新版在线下载|