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

    一種新的過程間靜態(tài)切片快速算法

    2015-09-03 01:52:44蘇小紅龔丹丹王甜甜馬培軍
    關(guān)鍵詞:函數(shù)調(diào)用語句切片

    蘇小紅,龔丹丹,王甜甜,馬培軍

    (哈爾濱工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,150001哈爾濱)

    程序切片技術(shù)是一種重要的程序分析和理解技術(shù),廣泛應(yīng)用于程序調(diào)試、測(cè)試及軟件維護(hù)中[1-2].其原理和方法最早出現(xiàn)在文獻(xiàn)[3]中,文獻(xiàn)[3]根據(jù)數(shù)據(jù)流方程的迭代解對(duì)程序切片進(jìn)行了定義,并提出了基于控制流圖(control flow graph,CFG)的計(jì)算過程內(nèi)程序切片的算法,但此方法所消耗的時(shí)間和空間均比較多,計(jì)算所得的程序切片準(zhǔn)確性也不是很好.文獻(xiàn)[4]引入了基于程序依賴圖(program dependence graph,PDG)的圖形可達(dá)性算法,用于計(jì)算過程內(nèi)切片,但此算法只能計(jì)算一個(gè)過程內(nèi)的切片問題,含有多個(gè)過程的程序切片計(jì)算問題并未得到解決.文獻(xiàn)[5]通過把PDG擴(kuò)展為系統(tǒng)依賴圖(system dependence graph,SDG),以計(jì)算過程間切片,根據(jù)系統(tǒng)依賴圖,將函數(shù)間的切片問題轉(zhuǎn)化為圖的可達(dá)性問題[6],從而解決了包含多個(gè)過程程序的切片計(jì)算問題.

    目前,計(jì)算程序靜態(tài)切片主要使用的方法是基于依賴圖的遍歷算法[7].系統(tǒng)依賴圖能夠充分表示程序的數(shù)據(jù)依賴、控制依賴信息以及函數(shù)調(diào)用信息,但是SDG數(shù)據(jù)流分析的復(fù)雜度較高,而且生成系統(tǒng)依賴圖的過程中,需要計(jì)算與切片無關(guān)的數(shù)據(jù)依賴,這些不必要的計(jì)算造成了時(shí)間和空間資源的浪費(fèi),并嚴(yán)重影響了切片計(jì)算的效率.類似地,傳統(tǒng)的動(dòng)態(tài)切片算法使用動(dòng)態(tài)依賴圖,復(fù)雜性也很高,針對(duì)該方法,文獻(xiàn)[8]提出利用D/U表達(dá)式計(jì)算動(dòng)態(tài)切片的方法,不需要使用動(dòng)態(tài)依賴圖,可以同時(shí)計(jì)算程序的控制依賴和數(shù)據(jù)依賴,空間開銷較小.但傳統(tǒng)的利用D/U表達(dá)式計(jì)算動(dòng)態(tài)切片的方法,只考慮了直接控制依賴關(guān)系沒有考慮多層嵌套的情況,而且由于未考慮函數(shù)調(diào)用的情況,只能用于過程內(nèi)動(dòng)態(tài)切片的計(jì)算中.

    本文提出的基于idUCf五元結(jié)構(gòu)的過程間切片算法,既保留了程序的數(shù)據(jù)依賴、控制依賴以及函數(shù)調(diào)用信息,又充分考慮了多層嵌套情況,而且不需要使用SDG,無需計(jì)算與切片無關(guān)的數(shù)據(jù)依賴、控制依賴以及不相關(guān)函數(shù)調(diào)用信息.

    1 idUCf五元結(jié)構(gòu)及相關(guān)定義

    本文在分析靜態(tài)切片與切片準(zhǔn)則的基礎(chǔ)上,給出了復(fù)合語句控制結(jié)構(gòu)信息表以及idUCf五元結(jié)構(gòu)的定義,作為本文切片算法的研究基礎(chǔ).

    定義1(靜態(tài)切片[9]) 一個(gè)程序P的靜態(tài)切片是由P中的一些語句集合,它包含了所有可能影響興趣變量的語句,考慮了程序中所有可能的執(zhí)行路徑.根據(jù)切片方向的不同,可分為前向切片和后向切片.前向切片是指所有受興趣點(diǎn)變量的值影響的語句的集合;后向切片是指程序中所有能夠影響興趣點(diǎn)變量的值的語句的集合.本文所描述的是后向切片.

    定義2(靜態(tài)切片準(zhǔn)則[10]) 靜態(tài)切片準(zhǔn)則是一個(gè)二元組C=(n,V),其中:V為程序P中變量集合的一個(gè)子集;n為程序P中的某個(gè)興趣點(diǎn)(對(duì)應(yīng)于P中的一條語句).

    定義3(復(fù)合語句控制結(jié)構(gòu)信息表(CNT))復(fù)合語句控制結(jié)構(gòu)信息表是記錄程序P中的所有復(fù)合語句(選擇、循環(huán))的開始、結(jié)束位置等關(guān)鍵信息的集合,它能夠精簡(jiǎn)的記錄程序的所有控制依賴關(guān)系,以下簡(jiǎn)稱 CNT(compound node table).其結(jié)構(gòu)定義如圖1所示.

    圖1中,key為詞法分析時(shí)所對(duì)應(yīng)的TOKEN,name為該TOKEN對(duì)應(yīng)的源程序中的單詞.在本文所使用的編譯器中,經(jīng)詞法分析后將for語句對(duì)應(yīng)的TOKEN記為“CN-FOR”,則key的值為“CNFOR”,name記錄了源程序中的單詞,則name的值為“for”.對(duì)于多分支的選擇結(jié)構(gòu),不僅應(yīng)該記錄選擇結(jié)構(gòu)的結(jié)束位置(endID)和結(jié)束行(endline),還應(yīng)該記錄各個(gè)分支內(nèi)部的結(jié)束位置(ifendID)和結(jié)束行(ifendline),以便進(jìn)行精確的路徑分析.例如圖2,多分支選擇結(jié)構(gòu)if(第13行),其內(nèi)部分支結(jié)束位置ifendline=16,總分支結(jié)束位置endline=20;對(duì)于33行的else分支,其內(nèi)部分支結(jié)束位置即為總分支的結(jié)束位置,即endline=ifendline=20.循環(huán)結(jié)構(gòu)無需考慮多分支情況,因此for的endline與ifendline的值相同.詞法分析過程中記錄了每個(gè)TOKEN的具體位置,由于圖2為實(shí)例代碼片段,所包含的信息不完整,因此很難表示復(fù)合語句開始TOKEN位置、結(jié)束TOKEN位置以及內(nèi)部結(jié)束TOKEN位置.因此,并未記錄圖2中的beginID、endID以及ifendID,在圖中用“—”表示.

    圖1 復(fù)合語句控制結(jié)構(gòu)信息表結(jié)構(gòu)

    圖2 復(fù)合語句控制結(jié)構(gòu)信息表實(shí)例

    定義4(idUCf五元結(jié)構(gòu))idUCf五元結(jié)構(gòu)<i,d,U,C,f>是表示程序中變量定義、使用、控制依賴關(guān)系、函數(shù)調(diào)用關(guān)系的表達(dá)式,其中:i為語句的行號(hào),d為語句i定義的變量;U為語句i使用變量的集合,C為語句i復(fù)合關(guān)系集合,存儲(chǔ)該語句所在的復(fù)合語句所對(duì)應(yīng)的CNT的id號(hào),f為語句i調(diào)用函數(shù)信息.這樣的表達(dá)式稱為idUCf五元結(jié)構(gòu).本文主要討論賦值語句結(jié)點(diǎn)(AssignNode)與函數(shù)調(diào)用結(jié)點(diǎn)(FunctionNode)的idUCf五元結(jié)構(gòu),圖3中列出了圖2(D:aa.c)中第15行AssignNode和第19行FunctionNode的idUCf五元結(jié)構(gòu),其中?表示空集.

    圖3 idUCf五元結(jié)構(gòu)實(shí)例

    2 idUCf五元結(jié)構(gòu)的靜態(tài)切片模型

    本文建立了idUCf五元結(jié)構(gòu)的過程間靜態(tài)切片模型(如圖4所示),主要包括以下3個(gè)步驟:

    1)通過詞法分析生成 TOKEN序列,在TOKEN序列基礎(chǔ)上進(jìn)行代碼標(biāo)準(zhǔn)化[11],最終生成標(biāo)準(zhǔn)化TOKEN序列.

    2)在標(biāo)準(zhǔn)化TOKEN序列基礎(chǔ)上,分別生成函數(shù)列表、復(fù)合語句控制結(jié)構(gòu)信息表 CNT和idUCF五元結(jié)構(gòu).

    3)應(yīng)用基于idUCf五元結(jié)構(gòu)的過程間靜態(tài)切片算法,得到過程間靜態(tài)切片.

    圖4 程序切片算法模型

    3 切片算法

    過程間靜態(tài)切片,以切片準(zhǔn)則C=(n,V),根據(jù)程序的idUCf五元結(jié)構(gòu)<i,d,U,C,f>,從源程序P中抽取結(jié)點(diǎn)n前,影響或間接影響變量v(v∈V)的所有語句和函數(shù).賦值語句以及函數(shù)調(diào)用語句直接影響變量的取值,本文將程序語句的操作分為賦值操作與函數(shù)調(diào)用操作,分別對(duì)應(yīng)idUCf五元結(jié)構(gòu)中的 AssignNode與 FunctionNode.當(dāng)計(jì)算任意變量v的后向切片時(shí),應(yīng)逆序查找idUCf五元結(jié)構(gòu),直到找到AssignNode或FunctionNode,使其滿足v=AssignNode或FunctionNode的定義變量d.因此,計(jì)算變量v的后向切片轉(zhuǎn)化為計(jì)算相對(duì)應(yīng)的賦值語句切片AssignSlice(d)或函數(shù)調(diào)用語句切片 FunctionSlice(d),其中d為AssignNode或FunctionNode的定義變量為

    式中“‖”表示“或者”.

    1)當(dāng)d為AssignNode的定義變量時(shí),切片中應(yīng)加入該賦值語句,并檢查其復(fù)合關(guān)系集合<C>及使用變量集合 <U>,首先,依次計(jì)算復(fù)合關(guān)系子切片(ControlSlice(c)),以保證多層嵌套程序的完整性.當(dāng)使用變量集合 <U>不為?時(shí),代表定義的變量d無法直接獲得初始值,需要通過其使用的變量進(jìn)行計(jì)算.應(yīng)依次遞歸計(jì)算其使用變量的子切片slice(u)(u∈U).賦值語句結(jié)點(diǎn)切片AssignSlice(d)可確定為

    式中“+”為所求切片的和.例如式中計(jì)算節(jié)點(diǎn)AssignSlice(d)由3部分的和組成,分別為該賦值節(jié)點(diǎn)AssignNode(d),使用變量的子切片Slice(u)(u∈U)以及復(fù)合關(guān)系子切片(ControlSlice(c)).

    當(dāng)使用變量集合 <U>為?時(shí),代表定義變量被賦予常數(shù),即找到了變量的初始值,此時(shí),上式可變?yōu)?/p>

    當(dāng)計(jì)算復(fù)合關(guān)系子切片ControlSlice(c)時(shí),根據(jù)idUCf五元結(jié)構(gòu)中的c(c∈C;c為該復(fù)合語句所對(duì)應(yīng)的CNT的id號(hào))查找CNT,找到所對(duì)應(yīng)的復(fù)合語句的具體信息.

    ①如果該復(fù)合語句為選擇結(jié)構(gòu),則依次計(jì)算該選擇結(jié)構(gòu)的判斷變量j的后向切片,以計(jì)算判斷變量的初始值,即

    ②如果該復(fù)合語句為選擇結(jié)構(gòu),為了計(jì)算判斷變量以及循環(huán)累加變量的初始值,首先應(yīng)依次計(jì)算判斷變量j和累加變量a的后向切片Slice(j)和Slice(a),為了保證靜態(tài)切片的完整性,還應(yīng)考慮j和a的值在循環(huán)體內(nèi)是否改變,基于上述觀點(diǎn),在循環(huán)體內(nèi)(beginline-endline),順序查找idUCf五元結(jié)構(gòu),當(dāng)j或a與 AssignNode或FunctionNode的定義變量d相同時(shí),說明在循環(huán)體內(nèi),j或a發(fā)生了改變,則應(yīng)計(jì)算AssignNode或FunctionNode的定義變量d的后向切片.則有

    2)當(dāng)d為FunctionNode的定義變量時(shí),說明此語句調(diào)用了函數(shù),且d被賦予所調(diào)用函數(shù)的return返回值.切片中不僅應(yīng)加入該賦值語句、復(fù)合關(guān)系子切片(ControlSlice),而且要在其調(diào)用函數(shù)中求得返回值切片(Slice(r)),即

    式中:r為所調(diào)用函數(shù)的return返回值;m為被調(diào)函數(shù)的形參個(gè)數(shù).在計(jì)算Slice(r)的過程中,還應(yīng)記錄每個(gè)形參的使用標(biāo)志para-flag.如果調(diào)用函數(shù)的第i個(gè)形參(para-i)為欲求Slice(r)的切片變量,并且AssignNode(para-i)的使用變量始終不為?,則para-flag-i的值為1,否則為0.當(dāng)para-flag-i的值為1時(shí),說明被調(diào)函數(shù)中使用了主調(diào)函數(shù)的形參值,因此,應(yīng)計(jì)算形參(para-i)所對(duì)應(yīng)的實(shí)參切片Slice(argue-i).

    當(dāng)所求切片變量d∈FunctionNode的使用集<U>,說明d為調(diào)用函數(shù)的參數(shù)之一.

    ①當(dāng)調(diào)用參數(shù)傳遞類型為傳值調(diào)用時(shí),被調(diào)函數(shù)中對(duì)形參的改變不影響實(shí)參的值,所以無需計(jì)算實(shí)參(para)所對(duì)應(yīng)的形參切片Slice(argue),則有

    ②當(dāng)所求切片變量d∈FunctionNode的使用集<U>,并且調(diào)用參數(shù)傳遞類型為傳地址調(diào)用時(shí),對(duì)形參的改變實(shí)際上是對(duì)實(shí)參的改變,因此,不僅要在調(diào)用函數(shù)中求得d所對(duì)應(yīng)的形參切片Slice(para-d),同時(shí)還應(yīng)記錄形參的使用標(biāo)志para-flag,當(dāng)?shù)趇個(gè)形參的使用標(biāo)志para-flag-i的取值為1時(shí),說明被調(diào)函數(shù)的切片計(jì)算中需要使用第i個(gè)形參所對(duì)應(yīng)的主調(diào)函數(shù)實(shí)參的取值,因此,應(yīng)計(jì)算第i個(gè)實(shí)參的切片Slice(argue-i).

    本文在定義了上述公式的基礎(chǔ)上,給出了基于idUCf五元結(jié)構(gòu)的過程間靜態(tài)切片算法,構(gòu)造標(biāo)準(zhǔn)C=(n,V)的程序切片Slice(V)算法如圖5所示.主算法Slice(V),根據(jù)切片準(zhǔn)則C=(n,V),對(duì)第n行的每個(gè)變量d(d∈V),首先根據(jù)復(fù)合語句控制信息,判斷其是否處于復(fù)合語句結(jié)構(gòu)中,并調(diào)用ControlSlice(c)算法依次處理復(fù)合語句結(jié)構(gòu)(解決了多層嵌套結(jié)構(gòu));然后,調(diào)用Slicing(d)算法,后向查找變量d的靜態(tài)切片.

    圖5 程序切片主算法Slice(V)

    復(fù)合關(guān)系子切片ControlSlice(c)算法如圖6所示.算法ControlSlice(c)的功能是計(jì)算復(fù)合語句結(jié)構(gòu)(選擇、循環(huán)結(jié)構(gòu))的程序切片,同時(shí)保持復(fù)合語句結(jié)構(gòu)切片的完整性.對(duì)于復(fù)合語句結(jié)構(gòu)中的變量x,首先調(diào)用Slicing(x)算法查找變量x的切片,目的是為了找到x的初始值.然后在beginline-endline中查找idUCf的五元結(jié)構(gòu),如果x為第k個(gè)idUCf的定義變量,說明x在此復(fù)合結(jié)構(gòu)中被重新賦值,則應(yīng)依次處理第k個(gè)idUCf的使用變量集合U.

    后向查找切片變量Slicing(d)算法如圖7所示.算法Slicing(d)的功能是根據(jù)idUCf五元結(jié)構(gòu)計(jì)算變量d的后向靜態(tài)切片.對(duì)于結(jié)點(diǎn)d,后向查找idUCf五元結(jié)構(gòu).

    ①如果d與第i個(gè)idUCf的定義變量相等,且idUCf類型為 AssignNode,則首先調(diào)用ControlSlice(c)函數(shù),依次處理復(fù)合語句結(jié)構(gòu)的程序切片,然后依次遞歸調(diào)用Slicing(d)函數(shù)處理變量使用集U,直到U為?.

    ②如果d與第i個(gè)idUCf的定義變量相等,且idUCf類型為FunctionNode,則調(diào)用Slicing(r),在其調(diào)用函數(shù)中求得返回值切片并返回各形參標(biāo)志para_flag,根據(jù)para_flag的取值判斷是否計(jì)算形參切片.

    圖6 復(fù)合關(guān)系子切片ControlSlice(c)算法

    ③如果d與第i個(gè)idUCf的使用變量集合中元素相等,且idUCf類型為FunctionNode,根據(jù)實(shí)參-形參對(duì)應(yīng)關(guān)系,調(diào)用Slicing(para_d)函數(shù),在調(diào)用函數(shù)中求得形參切片并返回各形參標(biāo)志,根據(jù)para_flag的取值判斷是否計(jì)算形參切片.

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

    根據(jù)本文算法,以切片準(zhǔn)則(24,aboveAver),計(jì)算程序圖8中的實(shí)例程序的靜態(tài)切片.本文切片算法只計(jì)算切片點(diǎn)所在函數(shù)以及與切片點(diǎn)計(jì)算相關(guān)的調(diào)用函數(shù)時(shí)才計(jì)算idUCf五元結(jié)構(gòu)和CNT,切片計(jì)算結(jié)果為:切片 slice(24,aboveAver)={24,4,20,40,48,45,43,42,41,19,2,10,9,8},切片集合中元素的順序?yàn)槠浔患尤氲捻樞?為此,本文使用行號(hào)來代表程序切片語句.因?yàn)樾刑?hào)與語句具有一一對(duì)應(yīng)關(guān)系.圖8中的陰影部分為本切片算法所分析的語句,由此可以看出,本文算法只對(duì)main函數(shù)以及GetAboveAver函數(shù)進(jìn)行分析,只計(jì)算main函數(shù)以及GetAboveAver函數(shù)的idUCf五元結(jié)構(gòu)和CNT,無需計(jì)算與切片計(jì)算無關(guān)的GetDetail函數(shù).

    圖7 后向查找切片變量Slicing(d)

    表1~4列出了main函數(shù)和GetAboveAver函數(shù)的CNT以及idUCf五元結(jié)構(gòu).

    表1 main函數(shù)的idUCf五元結(jié)構(gòu)表

    表2 main函數(shù)的CNT

    圖8 實(shí)例程序

    表3 GetAboveAver函數(shù)的idUCf五元結(jié)構(gòu)

    表4 GetAboveAver函數(shù)的CNT

    圖9為本文算法所得到的靜態(tài)切片程序,本文算法充分考慮了程序的控制依賴、數(shù)據(jù)依賴以及函數(shù)調(diào)用信息.文獻(xiàn)[8]只考慮了直接控制依賴關(guān)系,而本文將直接控制依賴關(guān)系擴(kuò)展為復(fù)合關(guān)系集合 <C>,充分考慮了多層嵌套情況,所得切片精度更高;而且,文獻(xiàn)[8]中只計(jì)算了過程內(nèi)動(dòng)態(tài)切片,而本文算法可以計(jì)算過程間靜態(tài)切片.

    圖9 program1的切片程序

    傳統(tǒng)的基于PDG、SDG的靜態(tài)程序切片算法復(fù)雜度很高[12-13].例如對(duì)于程序 program1(見圖9),傳統(tǒng)方法生成的 SDG共有66個(gè)結(jié)點(diǎn)(本程序?yàn)?7行:除去“{”和“}”),66條控制依賴邊,79條數(shù)據(jù)依賴邊,2條函數(shù)調(diào)用邊.采用本文方法建立的idUCF五元結(jié)構(gòu)的元素總個(gè)數(shù)為10個(gè),CNT中的元素總個(gè)數(shù)僅為4個(gè),大大低于SDG中的節(jié)點(diǎn)個(gè)數(shù).在計(jì)算程序切片過程中,傳統(tǒng)的基于SDG的方法需要根據(jù)控制依賴邊和數(shù)據(jù)依賴邊遍歷所有節(jié)點(diǎn),而本文算法只需計(jì)算與切片點(diǎn)相關(guān)的控制依賴、數(shù)據(jù)依賴以及相關(guān)的函數(shù).在main函數(shù)中,控制依賴信息只分析了與切片點(diǎn)相關(guān)的第10行的for循環(huán),無需分析第13行的if語句.數(shù)據(jù)依賴信息只分析了與aboveAver相關(guān)的 aver、score、sum的數(shù)據(jù)依賴,不需對(duì)failnum的數(shù)據(jù)依賴進(jìn)行分析.函數(shù)調(diào)用方面,函數(shù)GetDetail與切片點(diǎn)無關(guān),也不用分析.另外,只計(jì)算與切片點(diǎn)相關(guān)函數(shù)的 idUCf五元結(jié)構(gòu)和CNT,在本實(shí)例中,只計(jì)算了 main函數(shù)和GetAboveAver的 idUCf和 CNT,而 GetDetail未計(jì)算.綜上所述,本文算法在保證多層嵌套結(jié)構(gòu)程序的靜態(tài)切片完整性的前提下,充分考慮了函數(shù)調(diào)用信息,有效節(jié)省了時(shí)間與空間.

    1)傳統(tǒng)方法分析的對(duì)象是PDG或SDG.建立PDG和SDG時(shí)需要計(jì)算程序的控制流和數(shù)據(jù)流,復(fù)雜度主要集中在數(shù)據(jù)流分析中.假設(shè)程序中包含n個(gè)節(jié)點(diǎn),利用迭代算法生成每個(gè)節(jié)點(diǎn)的定值/引用到達(dá)信息,數(shù)據(jù)流分析的時(shí)間復(fù)雜度為O(n2).

    本文方法分析的對(duì)象是函數(shù)的CNT和idUCF五元結(jié)構(gòu).建立CNT和idUCF五元結(jié)構(gòu)只需分析標(biāo)準(zhǔn)化TOKEN序列一次即可,因此時(shí)間復(fù)雜度為O(n).

    2)傳統(tǒng)方法計(jì)算切片時(shí)的時(shí)間復(fù)雜度普遍為O(n4).對(duì)于本文方法,考慮最壞情況,假設(shè)idUCF五元結(jié)構(gòu)中元素個(gè)數(shù)為n(實(shí)際上idUCF中的元素個(gè)數(shù)遠(yuǎn)小于n),切片準(zhǔn)則中包含了程序中的所有變量,本文方法計(jì)算切片的時(shí)間復(fù)雜度為O(n2).

    對(duì)于空間復(fù)雜度,傳統(tǒng)方法通常使用矩陣來存儲(chǔ)PDG、SDG的數(shù)據(jù)依賴關(guān)系和控制依賴關(guān)系,矩陣大小為n×n,則空間復(fù)雜度為O(n2).本文方法只需要存儲(chǔ)CNT和idUCF五元結(jié)構(gòu).考慮最壞情況,假設(shè)idUCF五元結(jié)構(gòu)和CNT中元素個(gè)數(shù)之和為n(實(shí)際上應(yīng)遠(yuǎn)小于n),本文方法需要存儲(chǔ)空間為5×n,則空間復(fù)雜度為O(n).

    5 結(jié)語

    針對(duì)傳統(tǒng)的基于PDG、SDG的程序切片算法需要計(jì)算無關(guān)數(shù)據(jù)依賴,計(jì)算復(fù)雜度較高的問題,本文提出基于idUCf五元結(jié)構(gòu)的過程間切片算法,對(duì)于多層嵌套結(jié)構(gòu)程序在保證其靜態(tài)切片完整性的前提下,只計(jì)算與切片相關(guān)的依賴信息,提高了程序切片的計(jì)算效率.

    [1]WARD M,ZEDAN H.Combining dynamic and static slicing foranalysing assembler[J]. Science of Computer Programming,2010,75(3):134-175.

    [2]HALDER R,CORTESI A.Abstract program slicing on dependence condition graphs[J].Science of Computer Programming,2013,78(9):1240-1263.

    [3]WEISER M D.Rrogram slices formal,psychological and practical investigations of an automatic program abstraction method[D].Michigan:University of Michigan,1979.

    [4] OTTENSTAN K J,OTTENSTAN L M.The program dependence graph in a software development environment[J].ACM SIGPLAN Notices,1984,19(5):177-184.

    [5] HORWITZ S,REPS T,BNKLEY D.Interprocedural slicing using dependence graths[J].ACM Trans on Programming Language and System,1990,2(1):26-60.

    [6]姜淑娟,徐寶文,史亮.一種基于異常傳播分析的數(shù)據(jù)流分析方法[J].軟件學(xué)報(bào),2007,18(4):832-841.

    [7]張龍杰,謝曉方,袁勝智.一種改進(jìn)的靜態(tài)程序切片算法[J].計(jì)算機(jī)應(yīng)用,2009,29(3):705-711.

    [8] BESZEDES A,GERGELY T,SZABO Z M,et al.Dynamic slicing method for maintenance of large C programs[C]//Proceedings of the Fifth European Conference on Software Maintenance and Reengineering. Washington, DC:IEEE Computer Society,2001:105-113.

    [9]SIKKA P,KAUR K.Program slicing techniques and their need in aspectoriented programming [J].International Journal of Computer Applications,2013,70(3):11-14.

    [10]DANICIC S,HARMAN M,HOWROYD J,et al.A non-standard semantics for program slicing and dependence analysis[J].The Journal of Logic and Algebraic Programming,2007,(72):191-206.

    [11]龔丹丹,王甜甜,蘇小紅,等.冗余代碼缺陷檢測(cè)方法[J].哈爾濱工業(yè)大學(xué)學(xué)報(bào),2012,44(7):58-63.

    [12]BINKLEY D,GOLD N,HARMAN H.An empirical study ofstatic program slice size [J]. ACM Transactions on Software Engineering and Methodology,2007,16(2):1-32.

    [13]KRINKE J.Effects of context on program slicing[J].Journal of Systems and Software,2006,79(9):1249-1260.

    猜你喜歡
    函數(shù)調(diào)用語句切片
    基于C語言的數(shù)學(xué)菜單的設(shè)計(jì)與實(shí)現(xiàn)
    重點(diǎn):語句銜接
    基于函數(shù)調(diào)用序列模式和函數(shù)調(diào)用圖的程序缺陷檢測(cè)方法*
    探討C++編程中避免代碼冗余的技巧
    精彩語句
    Unity3D項(xiàng)目腳本優(yōu)化分析與研究
    基于SDN與NFV的網(wǎng)絡(luò)切片架構(gòu)
    腎穿刺組織冷凍切片技術(shù)的改進(jìn)方法
    冰凍切片、快速石蠟切片在中樞神經(jīng)系統(tǒng)腫瘤診斷中的應(yīng)用價(jià)值比較
    如何搞定語句銜接題
    亚洲成人免费电影在线观看| 亚洲中文字幕日韩| 国产精品久久久久久亚洲av鲁大| 欧美乱码精品一区二区三区| 91久久精品电影网| 欧美三级亚洲精品| 国产乱人视频| 精品一区二区三区人妻视频| 国产精品美女特级片免费视频播放器| 国产黄色小视频在线观看| 欧美性猛交╳xxx乱大交人| 69人妻影院| 最近最新中文字幕大全免费视频| 国产精品爽爽va在线观看网站| 国产精品影院久久| 国产乱人伦免费视频| 欧美日本视频| 亚洲在线自拍视频| 欧美3d第一页| 老司机午夜十八禁免费视频| 真人一进一出gif抽搐免费| 欧美zozozo另类| 国产精品女同一区二区软件 | 亚洲av成人av| 欧美bdsm另类| 国产蜜桃级精品一区二区三区| 一a级毛片在线观看| 男人舔女人下体高潮全视频| 九九久久精品国产亚洲av麻豆| 精品国产三级普通话版| 国产精品香港三级国产av潘金莲| 伊人久久精品亚洲午夜| 欧美3d第一页| 嫩草影院精品99| 成人永久免费在线观看视频| 中文字幕熟女人妻在线| 欧美乱码精品一区二区三区| 精品久久久久久久毛片微露脸| 中出人妻视频一区二区| av天堂中文字幕网| 国产精品一区二区三区四区免费观看 | 尤物成人国产欧美一区二区三区| 亚洲成av人片免费观看| 亚洲精品久久国产高清桃花| 搡老妇女老女人老熟妇| 日本精品一区二区三区蜜桃| 亚洲片人在线观看| 亚洲专区中文字幕在线| 国产黄片美女视频| 99热精品在线国产| 欧美最黄视频在线播放免费| 日韩欧美精品免费久久 | 国产中年淑女户外野战色| 十八禁网站免费在线| 久久久久久大精品| www.999成人在线观看| 超碰av人人做人人爽久久 | 精品久久久久久成人av| 午夜视频国产福利| 国产精品一区二区三区四区免费观看 | 国产日本99.免费观看| 亚洲av日韩精品久久久久久密| 亚洲国产高清在线一区二区三| 老司机午夜福利在线观看视频| 欧美性猛交黑人性爽| 久久精品人妻少妇| 日韩欧美 国产精品| 又粗又爽又猛毛片免费看| 亚洲专区国产一区二区| 久久精品人妻少妇| 12—13女人毛片做爰片一| 一进一出好大好爽视频| 国产精品免费一区二区三区在线| 国产精品精品国产色婷婷| 一个人免费在线观看电影| 一二三四社区在线视频社区8| 一二三四社区在线视频社区8| 男女床上黄色一级片免费看| 日本与韩国留学比较| 3wmmmm亚洲av在线观看| 波多野结衣高清作品| 变态另类丝袜制服| 日韩欧美免费精品| 欧美xxxx黑人xx丫x性爽| 久久久国产成人免费| 免费看日本二区| 淫妇啪啪啪对白视频| 欧美日本视频| 熟女电影av网| 亚洲国产精品sss在线观看| 国产精品,欧美在线| 国产精品精品国产色婷婷| 午夜福利在线观看吧| 非洲黑人性xxxx精品又粗又长| 亚洲avbb在线观看| 18+在线观看网站| 熟女电影av网| 日本 av在线| 一个人免费在线观看电影| 国内精品久久久久久久电影| 国产成人av激情在线播放| 国产精品98久久久久久宅男小说| 人妻夜夜爽99麻豆av| 日本 av在线| 久久香蕉国产精品| 色播亚洲综合网| 最近在线观看免费完整版| www国产在线视频色| 99热这里只有是精品50| 亚洲一区二区三区不卡视频| 精品国产亚洲在线| 国产野战对白在线观看| 色吧在线观看| 欧美成人性av电影在线观看| 午夜福利视频1000在线观看| 日本撒尿小便嘘嘘汇集6| 男女那种视频在线观看| 色哟哟哟哟哟哟| 亚洲无线在线观看| 中出人妻视频一区二区| 国产午夜福利久久久久久| 国产精品日韩av在线免费观看| 欧美日韩一级在线毛片| 久久久久国产精品人妻aⅴ院| 久久精品国产自在天天线| 欧美xxxx黑人xx丫x性爽| 天堂网av新在线| 日本免费一区二区三区高清不卡| 国产精品自产拍在线观看55亚洲| 国产精品亚洲av一区麻豆| 少妇高潮的动态图| 国产成人福利小说| 婷婷丁香在线五月| 色哟哟哟哟哟哟| 午夜福利免费观看在线| 色尼玛亚洲综合影院| 身体一侧抽搐| 51午夜福利影视在线观看| 国产成人啪精品午夜网站| 亚洲精品在线美女| 欧美一区二区亚洲| 蜜桃久久精品国产亚洲av| 精品国产超薄肉色丝袜足j| 成年女人永久免费观看视频| 国产单亲对白刺激| 国产一区二区三区视频了| 久久久久久久午夜电影| 亚洲av电影不卡..在线观看| 成人特级黄色片久久久久久久| 美女高潮喷水抽搐中文字幕| 51国产日韩欧美| 国产免费男女视频| 国产精品久久久久久精品电影| 免费搜索国产男女视频| 国产在线精品亚洲第一网站| 精品人妻偷拍中文字幕| 成人午夜高清在线视频| 成人一区二区视频在线观看| 午夜福利18| 欧美成人一区二区免费高清观看| 怎么达到女性高潮| 一a级毛片在线观看| 欧美成狂野欧美在线观看| 18+在线观看网站| 国产不卡一卡二| 国产亚洲av嫩草精品影院| 人人妻人人看人人澡| 欧美在线黄色| 欧美日韩福利视频一区二区| 亚洲,欧美精品.| 少妇人妻精品综合一区二区 | 国产精品野战在线观看| 一a级毛片在线观看| 久久性视频一级片| 国产午夜精品论理片| 精品国产美女av久久久久小说| 日本一二三区视频观看| 欧美日韩国产亚洲二区| 97超视频在线观看视频| 久久久久性生活片| 熟女电影av网| 精品免费久久久久久久清纯| 制服人妻中文乱码| 无遮挡黄片免费观看| 最近最新免费中文字幕在线| 成人欧美大片| 黄色女人牲交| 国产97色在线日韩免费| 亚洲中文字幕日韩| 国内毛片毛片毛片毛片毛片| xxx96com| 色噜噜av男人的天堂激情| 一本一本综合久久| 少妇高潮的动态图| 精品久久久久久久毛片微露脸| 婷婷丁香在线五月| 三级国产精品欧美在线观看| 超碰av人人做人人爽久久 | 免费观看精品视频网站| 日韩亚洲欧美综合| 午夜福利在线观看吧| 久9热在线精品视频| 国内久久婷婷六月综合欲色啪| 高清在线国产一区| 内射极品少妇av片p| 国产野战对白在线观看| 亚洲av日韩精品久久久久久密| 18美女黄网站色大片免费观看| av片东京热男人的天堂| 免费人成在线观看视频色| 国产一级毛片七仙女欲春2| 久久精品国产清高在天天线| 国产精品久久视频播放| 亚洲国产中文字幕在线视频| 又黄又爽又免费观看的视频| 色噜噜av男人的天堂激情| 亚洲黑人精品在线| 成人18禁在线播放| 久久国产精品影院| 久久久久久久久久黄片| 免费看日本二区| av在线蜜桃| 免费观看人在逋| 亚洲av电影不卡..在线观看| 国产精品乱码一区二三区的特点| 身体一侧抽搐| 免费av毛片视频| 久久天躁狠狠躁夜夜2o2o| 欧美另类亚洲清纯唯美| 国产精品乱码一区二三区的特点| 日韩精品青青久久久久久| 久久精品国产清高在天天线| 久久久久久久午夜电影| 少妇人妻精品综合一区二区 | 美女高潮喷水抽搐中文字幕| 亚洲成av人片免费观看| 免费在线观看日本一区| 91字幕亚洲| 舔av片在线| www国产在线视频色| 激情在线观看视频在线高清| 国产精品爽爽va在线观看网站| 内地一区二区视频在线| 免费看a级黄色片| 成年人黄色毛片网站| 免费看光身美女| 亚洲精品粉嫩美女一区| 精品一区二区三区av网在线观看| 少妇丰满av| 麻豆国产av国片精品| 免费av观看视频| 久久精品91蜜桃| 国产亚洲精品综合一区在线观看| 三级男女做爰猛烈吃奶摸视频| 亚洲精品亚洲一区二区| 在线免费观看的www视频| 夜夜爽天天搞| 日本在线视频免费播放| 手机成人av网站| 亚洲欧美日韩无卡精品| 成人午夜高清在线视频| 无人区码免费观看不卡| 麻豆国产97在线/欧美| 欧美激情在线99| 在线免费观看不下载黄p国产 | 黄片小视频在线播放| 亚洲国产精品成人综合色| 人妻久久中文字幕网| 网址你懂的国产日韩在线| www.999成人在线观看| 一进一出抽搐动态| 无限看片的www在线观看| 亚洲成人精品中文字幕电影| 国产高清有码在线观看视频| 在线播放国产精品三级| 亚洲 欧美 日韩 在线 免费| 长腿黑丝高跟| 少妇人妻精品综合一区二区 | 18禁裸乳无遮挡免费网站照片| 国内久久婷婷六月综合欲色啪| 99视频精品全部免费 在线| 97超视频在线观看视频| 女警被强在线播放| 国产亚洲精品综合一区在线观看| 91久久精品电影网| 亚洲精品粉嫩美女一区| 在线免费观看不下载黄p国产 | 久久精品91无色码中文字幕| 高潮久久久久久久久久久不卡| 小说图片视频综合网站| 每晚都被弄得嗷嗷叫到高潮| 美女免费视频网站| 国产精品久久视频播放| 久久久久久久亚洲中文字幕 | 国产亚洲精品综合一区在线观看| 九九在线视频观看精品| 色噜噜av男人的天堂激情| 国产亚洲av嫩草精品影院| 亚洲国产欧美网| 91av网一区二区| 午夜精品在线福利| 999久久久精品免费观看国产| 噜噜噜噜噜久久久久久91| 黄片大片在线免费观看| 观看美女的网站| 蜜桃亚洲精品一区二区三区| 欧美精品啪啪一区二区三区| 无遮挡黄片免费观看| www.www免费av| 国产激情欧美一区二区| 日韩中文字幕欧美一区二区| 亚洲av免费在线观看| 一级作爱视频免费观看| 欧美高清成人免费视频www| 日本五十路高清| 在线观看美女被高潮喷水网站 | 亚洲一区二区三区色噜噜| 女生性感内裤真人,穿戴方法视频| 久久久久九九精品影院| 99热这里只有是精品50| 一进一出抽搐gif免费好疼| 欧美一区二区国产精品久久精品| 狂野欧美白嫩少妇大欣赏| 91九色精品人成在线观看| 日韩 欧美 亚洲 中文字幕| www.www免费av| 日韩欧美在线乱码| 国产精品香港三级国产av潘金莲| 久久久久九九精品影院| 午夜视频国产福利| 国产不卡一卡二| 99在线视频只有这里精品首页| 看片在线看免费视频| 国产不卡一卡二| 麻豆成人午夜福利视频| 日本熟妇午夜| 亚洲熟妇中文字幕五十中出| 夜夜夜夜夜久久久久| 亚洲中文字幕日韩| 免费看美女性在线毛片视频| 最新美女视频免费是黄的| 午夜福利在线在线| 成人性生交大片免费视频hd| 999久久久精品免费观看国产| 啪啪无遮挡十八禁网站| h日本视频在线播放| 丝袜美腿在线中文| 国产精品1区2区在线观看.| 日韩av在线大香蕉| av天堂中文字幕网| 男插女下体视频免费在线播放| 手机成人av网站| av视频在线观看入口| 国产精品乱码一区二三区的特点| 偷拍熟女少妇极品色| 午夜日韩欧美国产| 偷拍熟女少妇极品色| 搡老熟女国产l中国老女人| 国产一区二区三区在线臀色熟女| 国产探花在线观看一区二区| 变态另类丝袜制服| 亚洲中文日韩欧美视频| 国产一区二区三区在线臀色熟女| 丁香六月欧美| 久久久国产精品麻豆| 成人精品一区二区免费| 国产精品精品国产色婷婷| 亚洲国产日韩欧美精品在线观看 | 国产午夜精品论理片| 乱人视频在线观看| 欧美绝顶高潮抽搐喷水| 免费人成视频x8x8入口观看| 成年版毛片免费区| a在线观看视频网站| 在线a可以看的网站| 免费看十八禁软件| 国产极品精品免费视频能看的| 日本 欧美在线| 天天一区二区日本电影三级| 亚洲七黄色美女视频| 亚洲欧美日韩东京热| 国产高清有码在线观看视频| 老熟妇乱子伦视频在线观看| 亚洲黑人精品在线| 久久香蕉精品热| 国产精华一区二区三区| 三级国产精品欧美在线观看| 最近在线观看免费完整版| 每晚都被弄得嗷嗷叫到高潮| 日韩有码中文字幕| 国产野战对白在线观看| 欧美极品一区二区三区四区| 午夜福利欧美成人| 国产高清videossex| 色综合亚洲欧美另类图片| av黄色大香蕉| 欧美黑人欧美精品刺激| 国产激情欧美一区二区| 国产精品爽爽va在线观看网站| a级一级毛片免费在线观看| a级毛片a级免费在线| 91在线观看av| 最近最新中文字幕大全免费视频| 国产免费男女视频| 国产精品 国内视频| 变态另类成人亚洲欧美熟女| 午夜福利在线观看吧| 欧美最新免费一区二区三区 | av女优亚洲男人天堂| 日韩免费av在线播放| x7x7x7水蜜桃| 国产一区在线观看成人免费| 日韩欧美在线二视频| 高清日韩中文字幕在线| 国产激情欧美一区二区| 欧美一区二区亚洲| 国产乱人伦免费视频| 免费看十八禁软件| 精品一区二区三区人妻视频| 热99re8久久精品国产| 国产野战对白在线观看| 校园春色视频在线观看| 宅男免费午夜| 国产欧美日韩精品一区二区| 琪琪午夜伦伦电影理论片6080| 丁香六月欧美| 免费观看人在逋| 国产精品一区二区三区四区免费观看 | 国产久久久一区二区三区| 欧美午夜高清在线| 久久久久精品国产欧美久久久| 国内精品美女久久久久久| 亚洲无线在线观看| 欧美成人免费av一区二区三区| 波野结衣二区三区在线 | 91久久精品国产一区二区成人 | 网址你懂的国产日韩在线| 国产成人福利小说| 男女那种视频在线观看| 精品国产三级普通话版| 首页视频小说图片口味搜索| 精品人妻偷拍中文字幕| 久久九九热精品免费| 熟女电影av网| 久久精品91无色码中文字幕| 一本综合久久免费| 久久精品影院6| 中文在线观看免费www的网站| 国产真实伦视频高清在线观看 | 亚洲成人中文字幕在线播放| 热99re8久久精品国产| 国产av在哪里看| 禁无遮挡网站| 亚洲成人免费电影在线观看| 亚洲黑人精品在线| 男女做爰动态图高潮gif福利片| 亚洲成a人片在线一区二区| 日韩 欧美 亚洲 中文字幕| 尤物成人国产欧美一区二区三区| 男女床上黄色一级片免费看| 亚洲午夜理论影院| 天天躁日日操中文字幕| 全区人妻精品视频| 亚洲人成伊人成综合网2020| 亚洲片人在线观看| 精品国内亚洲2022精品成人| 一个人免费在线观看电影| 变态另类成人亚洲欧美熟女| 别揉我奶头~嗯~啊~动态视频| 久久精品人妻少妇| 熟女少妇亚洲综合色aaa.| 美女黄网站色视频| netflix在线观看网站| 欧美在线一区亚洲| 欧美三级亚洲精品| 国产视频内射| www.色视频.com| 国产欧美日韩精品一区二区| 91在线精品国自产拍蜜月 | 日韩亚洲欧美综合| 亚洲自拍偷在线| 尤物成人国产欧美一区二区三区| 长腿黑丝高跟| 伊人久久精品亚洲午夜| 国产亚洲av嫩草精品影院| 亚洲av成人不卡在线观看播放网| www国产在线视频色| 91麻豆精品激情在线观看国产| 欧美一级a爱片免费观看看| 噜噜噜噜噜久久久久久91| 国产精品一区二区三区四区免费观看 | 99久久99久久久精品蜜桃| 久久6这里有精品| 全区人妻精品视频| 国产视频内射| 高清日韩中文字幕在线| 9191精品国产免费久久| 一个人观看的视频www高清免费观看| 亚洲成人免费电影在线观看| 国内精品久久久久久久电影| 黄色女人牲交| 人人妻人人看人人澡| 免费人成视频x8x8入口观看| 久久久久久人人人人人| 亚洲av不卡在线观看| 国产精品一及| 免费av观看视频| 亚洲精华国产精华精| 精品人妻偷拍中文字幕| 蜜桃久久精品国产亚洲av| 床上黄色一级片| 亚洲国产精品合色在线| 久9热在线精品视频| 国产成人系列免费观看| 亚洲在线观看片| 制服丝袜大香蕉在线| 成人特级黄色片久久久久久久| 国产美女午夜福利| 国产主播在线观看一区二区| 免费一级毛片在线播放高清视频| 亚洲七黄色美女视频| 国产99白浆流出| 性欧美人与动物交配| 国产私拍福利视频在线观看| 亚洲无线观看免费| 久久久久九九精品影院| 亚洲乱码一区二区免费版| 一本精品99久久精品77| 国产一区二区三区在线臀色熟女| 亚洲色图av天堂| 久久久国产成人免费| 精华霜和精华液先用哪个| 日本一本二区三区精品| 精品免费久久久久久久清纯| 身体一侧抽搐| 午夜福利成人在线免费观看| 久久香蕉国产精品| 黄色日韩在线| 日本撒尿小便嘘嘘汇集6| 91麻豆精品激情在线观看国产| 亚洲av中文字字幕乱码综合| 精品久久久久久久末码| av天堂在线播放| 中文字幕人妻熟人妻熟丝袜美 | 欧美不卡视频在线免费观看| 国产美女午夜福利| 国产免费av片在线观看野外av| 脱女人内裤的视频| 欧美在线一区亚洲| 欧美+亚洲+日韩+国产| 国内久久婷婷六月综合欲色啪| 麻豆国产97在线/欧美| 亚洲色图av天堂| 在线免费观看不下载黄p国产 | 男女午夜视频在线观看| svipshipincom国产片| 国产亚洲欧美在线一区二区| 亚洲专区国产一区二区| av片东京热男人的天堂| 日本精品一区二区三区蜜桃| 岛国在线观看网站| 久99久视频精品免费| 九九久久精品国产亚洲av麻豆| 国产激情偷乱视频一区二区| 嫩草影院入口| 亚洲av成人不卡在线观看播放网| 内地一区二区视频在线| 亚洲狠狠婷婷综合久久图片| 亚洲 欧美 日韩 在线 免费| 婷婷丁香在线五月| 国产亚洲欧美在线一区二区| 欧美日韩综合久久久久久 | 18禁在线播放成人免费| 亚洲中文字幕一区二区三区有码在线看| av片东京热男人的天堂| 国产精品一区二区三区四区久久| 日日摸夜夜添夜夜添小说| 九九热线精品视视频播放| 日本撒尿小便嘘嘘汇集6| 一本综合久久免费| 观看美女的网站| 婷婷亚洲欧美| 中国美女看黄片| 国产精品98久久久久久宅男小说| 午夜福利免费观看在线| netflix在线观看网站| 一个人免费在线观看电影| 欧美日韩精品网址| 午夜精品在线福利| 午夜福利在线在线| 校园春色视频在线观看| 久久久久久久久久黄片| 午夜视频国产福利| 亚洲av第一区精品v没综合| 欧美日韩综合久久久久久 | 91在线观看av| 一个人免费在线观看电影| 女警被强在线播放| 免费av观看视频| 男女视频在线观看网站免费| 精品国产亚洲在线| 无人区码免费观看不卡| 97人妻精品一区二区三区麻豆| 精品午夜福利视频在线观看一区| 亚洲美女视频黄频| 美女被艹到高潮喷水动态| 日日干狠狠操夜夜爽| 国内精品美女久久久久久| 又爽又黄无遮挡网站| 国产91精品成人一区二区三区| 亚洲人成网站高清观看| 国产国拍精品亚洲av在线观看 | 老熟妇乱子伦视频在线观看| 久久6这里有精品| 欧美日韩瑟瑟在线播放|