freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

程序動(dòng)態(tài)切片技術(shù)研究畢業(yè)設(shè)計(jì)(編輯修改稿)

2025-07-24 21:05 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 rrayListTreeParent parents = new ArrayListTreeParent()。private Object data。private ArrayListTreeChild children = new ArrayListTreeChild()。private ArrayListString typeList = new ArrayListString()。parents 、children、typeList 三個(gè)ArrayList分別定義了依賴(lài)圖一個(gè)節(jié)點(diǎn)的父級(jí)節(jié)點(diǎn)、子級(jí)節(jié)點(diǎn)、以級(jí)子級(jí)節(jié)點(diǎn)所對(duì)應(yīng)的類(lèi)型。父節(jié)點(diǎn)子節(jié)點(diǎn)子節(jié)點(diǎn)依賴(lài)屬性………..………..依賴(lài)屬性依賴(lài)屬性子節(jié)點(diǎn)程序運(yùn)行節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)表示如下圖: 程序運(yùn)行節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu),每個(gè)運(yùn)行節(jié)點(diǎn)都包含N個(gè)子節(jié)點(diǎn),其中每個(gè)依賴(lài)子節(jié)點(diǎn)都有其子節(jié)點(diǎn)依賴(lài)屬性其中對(duì)每個(gè)子節(jié)點(diǎn)的依賴(lài)類(lèi)型都做了標(biāo)注,節(jié)點(diǎn)的依賴(lài)類(lèi)型對(duì)應(yīng)該子節(jié)點(diǎn)順序。這樣就可以把整個(gè)依賴(lài)圖表示為一個(gè)ArrayList結(jié)構(gòu),其中每個(gè)節(jié)點(diǎn)都為一個(gè)ArrayList,節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)為多個(gè)子結(jié)點(diǎn)和節(jié)點(diǎn)控制類(lèi)型組成。 源程序節(jié)點(diǎn)1源程序節(jié)點(diǎn)n源程序節(jié)點(diǎn)2節(jié)點(diǎn)1節(jié)點(diǎn)2節(jié)點(diǎn)n節(jié)點(diǎn)1節(jié)點(diǎn)n節(jié)點(diǎn)n子節(jié)點(diǎn)1子節(jié)點(diǎn)n子節(jié)點(diǎn)n子節(jié)點(diǎn)n子節(jié)點(diǎn)屬性1子節(jié)點(diǎn)屬性n子節(jié)點(diǎn)屬性n子節(jié)點(diǎn)屬性n…………… 程序依賴(lài)圖的數(shù)據(jù)結(jié)構(gòu) ,其中每個(gè)依賴(lài)圖內(nèi)都包含N個(gè)源程序節(jié)點(diǎn),每個(gè)源程序節(jié)點(diǎn)下面又包含N(n=0)個(gè)依賴(lài)子節(jié)點(diǎn),其中每個(gè)依賴(lài)子節(jié)點(diǎn)都有其子節(jié)點(diǎn)屬性。第五部分:程序可達(dá)語(yǔ)句集:由第四部分的DDNC和以及公式accessible()=accessible()+NNDC()+CNDC()可以得到程序的可達(dá)語(yǔ)句集。可達(dá)語(yǔ)句集數(shù)據(jù)結(jié)構(gòu)如下圖:可達(dá)語(yǔ)句1DNCnode元數(shù)據(jù)1nodeindexdDNCnodelistnodestepcDNCnodelistnodeindexnodeindexnodeindexnodestepnodestepnodestepdDNCnodelistdDNCnodelistdDNCnodelistcDNCnodelistcDNCnodelistcDNCnodelistDNCnode元數(shù)據(jù)nDNCnode元數(shù)據(jù)n+1DNCnode元數(shù)據(jù)2可達(dá)語(yǔ)句n…...…...…...…...…... 數(shù)據(jù)結(jié)構(gòu)圖利用已知的可達(dá)語(yǔ)句求解公式,第一步先設(shè)計(jì)類(lèi)AccessibleTable,用于得到可達(dá)語(yǔ)句數(shù)據(jù)集,由于可達(dá)語(yǔ)句數(shù)據(jù)集元數(shù)據(jù)的具有特殊性,如帶順序,和執(zhí)行歷史相關(guān)等等,所以為可達(dá)語(yǔ)句數(shù)據(jù)集設(shè)計(jì)一個(gè)元數(shù)據(jù)類(lèi)DNCnode,這個(gè)元數(shù)據(jù)類(lèi)中應(yīng)該包括源程序以及執(zhí)行歷史順序等,每個(gè)可達(dá)語(yǔ)句集內(nèi)都包含N個(gè)可達(dá)語(yǔ)句節(jié)點(diǎn),每個(gè)源程序節(jié)點(diǎn)下面又包含N(n=0)個(gè)DNCnode子節(jié)點(diǎn)數(shù)據(jù)類(lèi)型,其中每個(gè)DNCnode子節(jié)點(diǎn)數(shù)據(jù)類(lèi)型都有其子節(jié)點(diǎn)屬性。即:nodeindex nodestep dDNCnodelist cDNCnodelist。進(jìn)而建立getAccessibleTable 這個(gè)方法是用來(lái)得可達(dá)語(yǔ)句,getAccessibleTable是這個(gè)類(lèi)的主方法。以下為部分代碼片斷:for (IndexTreeNode cDNCChild : cDNCList) { //求出每個(gè)控制依賴(lài)節(jié)點(diǎn)的可達(dá)語(yǔ)句for (Object accessibleBefore : (() 1)) { ((IndexTreeNode) accessibleBefore)。 } } ArrayListIndexTreeNode dDNCList = ()。 for (IndexTreeNode dDNCChild : dDNCList) { for (Object accessibleBefore : (() 1)) { ((IndexTreeNode) accessibleBefore)。 } } //自身的TreeChild Tree tree = new Tree()。 IndexTreeNode indexNode = new IndexTreeNode()。 (())。 (().get(()[() 1][0] 1))。 (indexNode)。第六部分:程序的切片集:由第五部分的程序可達(dá)語(yǔ)句集和公式:Dslice(,v)=accessible(DDNC())可以得到程序的切片集合。在前面的模塊中已經(jīng)求出了相應(yīng)的可達(dá)語(yǔ)句表,根據(jù)求取切片的公式進(jìn)而求出程序切片。而ShowTest 是整個(gè)系統(tǒng)的入口,也是由這里得到具體的程序切片。這個(gè)類(lèi)中只有一個(gè)主方法,用來(lái)調(diào)用程序,得到切片。 第三節(jié) 實(shí)例分析因?yàn)樵谒惴ǖ闹饕δ苁窃诖_定的源程序的的基礎(chǔ)上,給定一個(gè)輸入即某條語(yǔ)句的動(dòng)態(tài)切片準(zhǔn)則(,v,)以及源程序的程序依賴(lài)圖,求出數(shù)據(jù)依賴(lài)節(jié)點(diǎn)集、控制依賴(lài)節(jié)點(diǎn)集,進(jìn)而求出可到達(dá)語(yǔ)句最后輸出的變量v的動(dòng)態(tài)切片Dslice(,v)。而不去考慮如何去具體求出源程序的程序依賴(lài)圖。所以,本文將選取一個(gè)具有代表性的程序,進(jìn)行具體分析,進(jìn)而通過(guò)動(dòng)態(tài)切片系統(tǒng)求出切片。源程序如下: elseS6: x=18 endifS7: i=i+1endS8: write(x)S1: read(n)S2: i=1S3: while(i=n) do beginS4: if(i mod 2 = 0)thenS5: x=17 源程序輸入n=2;切片標(biāo)準(zhǔn):(,v=x,n=2);程序依賴(lài)圖:S1: read(n)S2: i=1S3: while(i=n) doS4: if(i mod 2 = 0) S5: x=17 S6: x=18 S7: i=i+1S8: write(x)控制依賴(lài)邊:數(shù)據(jù)依賴(lài)邊: 程序依賴(lài)圖輸入n=2,程序的執(zhí)行歷史為。由源程序、程序依賴(lài)圖和執(zhí)行歷史可得:數(shù)據(jù)依賴(lài)節(jié)點(diǎn)集(DDNC)控制依賴(lài)節(jié)點(diǎn)集(CDNC)如下: 數(shù)據(jù)依賴(lài)/控制依賴(lài)節(jié)點(diǎn)集節(jié)點(diǎn)()DDNC()CDNC()、然后由上表和公式accessible()=accessible()+NNDC()+CNDC()可得每個(gè)節(jié)點(diǎn)的可達(dá)語(yǔ)句如下: 可達(dá)語(yǔ)句集初始化可達(dá)語(yǔ)句accessible()11accessible()22accessible()31,2,3accessible()41,2,3,4accessible()61,2,3,4,6accessible()71,2,3,7accessible()31,2,3,7accessible()41,2,3,4,7accessible()51,2,3,4,5,7accessible()71,2,3,4,7accessible()31,2,3,4,7accessible()81,2,3,4,5,7,8由于本程序帶有循環(huán)結(jié)構(gòu),所以選擇程序第一次執(zhí)行還沒(méi)有出現(xiàn)循環(huán)前的節(jié)點(diǎn)作為新的切片標(biāo)準(zhǔn)(,v,),此時(shí),n=1,2,3,4,6,7,8,3。這時(shí)節(jié)點(diǎn)的切片Dslice(,v)=accessible(DDNC()),根據(jù)語(yǔ)句可達(dá)表,可知accessible(DDNC())=accessible()=2。(1) 若accessible()=accessible(),則就將,合并。由此可得,沒(méi)有可以合并的節(jié)點(diǎn)。(2) 如果s的直接前驅(qū)節(jié)點(diǎn)的可到達(dá)語(yǔ)句與s的可到達(dá)語(yǔ)句相等,就把s和s的前驅(qū)節(jié)點(diǎn)合并,即合并s和其前驅(qū)節(jié)點(diǎn)的可到達(dá)語(yǔ)句。 、可合并 、可合并。 各個(gè)節(jié)點(diǎn)程序切片節(jié)點(diǎn)Dslice()初始化1,21,2,1,2,3,4,5,7由此可得到切片標(biāo)準(zhǔn)為為(,v=x,n=2)時(shí)的切片為1,2,3,4,5,7即:S1: read(n)S2: i=1S3: while(i=n) do beginS4: if(i mod 2 = 0)thenS5: x=17 endifS7: i=i+1 End 最終生成的切片第五章 系統(tǒng)的實(shí)現(xiàn)環(huán)境和運(yùn)行結(jié)果的分析 第一節(jié) 開(kāi)發(fā)與運(yùn)行環(huán)境 , RAM的PC上完成;軟件環(huán)境是Windows xp,使用JDK 、MySQL 、JAVA語(yǔ)言在MyEclipse 。JDK、MySQL、MyEclipse的安裝文件分別可以從其官方網(wǎng)站、采用默認(rèn)安裝方式。完成安裝后,需要對(duì)環(huán)境進(jìn)行配置。JDK的配置步驟如下:(1)我的電腦屬性高級(jí)環(huán)境變量;(2)新建 JAVA_HOME,設(shè)置為C:\Program Files\Java\(JDK的安裝路徑);(3)新建PATH,設(shè)置為C:\Program Files\Java\\bin;(4)新建 CLASSPATH,設(shè)置為C:\Program Files\Java\\lib。本系統(tǒng)的測(cè)試與開(kāi)發(fā)在同一臺(tái)PC、同一軟件環(huán)境下完成。因JAVA具有可移植的特點(diǎn),最終本系統(tǒng)也可以成功運(yùn)行于裝有JAVA運(yùn)行環(huán)境的PC上。第二節(jié) 系統(tǒng)輸出程序在調(diào)試成功之后第四章引用的程序?qū)嵗龑?duì)程序進(jìn)行了測(cè)試,在輸入確定的切片準(zhǔn)則的情況下對(duì)源程序進(jìn)行動(dòng)態(tài)切片。首先對(duì)程序進(jìn)行數(shù)據(jù)依賴(lài)和控制依賴(lài)分析,根據(jù)算法求出其程序依賴(lài)圖,進(jìn)而得到各個(gè)節(jié)點(diǎn)的數(shù)據(jù)依賴(lài)節(jié)點(diǎn)集合控制依賴(lài)節(jié)點(diǎn)集: 數(shù)據(jù)依賴(lài)節(jié)點(diǎn)集合控制依賴(lài)節(jié)點(diǎn)集進(jìn)入系統(tǒng)的下一個(gè)功能模塊,根據(jù)求出的數(shù)據(jù)依賴(lài)節(jié)點(diǎn)集合控制依賴(lài)節(jié)點(diǎn)集計(jì)算得出各個(gè)節(jié)點(diǎn)的可達(dá)語(yǔ)句集: 可達(dá)語(yǔ)句集最后根據(jù)可達(dá)語(yǔ)句集得到各個(gè)節(jié)點(diǎn)的切片: 程序切片輸出結(jié)果第六章 結(jié)束語(yǔ)第一節(jié) 本文的主要工作軟件測(cè)試對(duì)于軟件尤其是大型軟件的開(kāi)發(fā)至關(guān)重要,高質(zhì)量的軟件花費(fèi)的測(cè)試代價(jià)是相當(dāng)大的,尤其在測(cè)試用例的編寫(xiě)上花費(fèi)了大量的精力,而且常常生成的測(cè)試用例覆蓋率不高,對(duì)一些判斷較多的邏輯程序生成測(cè)試用例更是困難,如何在有效地時(shí)間提高測(cè)試用例生成的效率變得更加的重要。本文主要完成的工作有以下二點(diǎn):,通過(guò)程序?qū)嶋H的執(zhí)行路徑上的控制依賴(lài)和數(shù)據(jù)依賴(lài)節(jié)點(diǎn)以及可到達(dá)語(yǔ)句,從而計(jì)算出滿(mǎn)足給定的切片準(zhǔn)則的程序切片。第二節(jié) 展望由于技術(shù)上和時(shí)間等問(wèn)題,開(kāi)發(fā)出的工具仍然存在一定的問(wèn)題和不足,比如,系統(tǒng)的總體設(shè)計(jì)還不夠完善,只能對(duì)特定的源程序進(jìn)行分析,不能對(duì)其他程序進(jìn)行分析;實(shí)現(xiàn)的切片系統(tǒng)只能對(duì)源程序進(jìn)行粗粒度的切片,不能切割出更為精細(xì)的切片??傮w來(lái)說(shuō),該工具距離實(shí)用性還有一定的差距,因此進(jìn)一步的研究將主要放在以下幾個(gè)方面:,提高工具的效率。例如對(duì)可以導(dǎo)入不同的源程序進(jìn)行分析,甚至可以標(biāo)出源程序中的錯(cuò)誤。另外增加一些相關(guān)功能,例如對(duì)測(cè)試用例生成后生成相應(yīng)的報(bào)告,.并可以用文件形式導(dǎo)出。2. 對(duì)于多個(gè)文件的程序調(diào)用問(wèn)題進(jìn)行研究,這樣工具的應(yīng)用范圍將會(huì)顯著地?cái)U(kuò)大。 致謝時(shí)間匆匆流逝,本科的學(xué)習(xí)生活馬上就要結(jié)束了,在這四年中,我不僅掌握了一些專(zhuān)業(yè)知識(shí),而且更多的學(xué)習(xí)到了很多為人處事的道理。這一段難忘的經(jīng)歷將會(huì)給我未來(lái)的工作和生活帶來(lái)更加積極的影響,在這里我衷心的向所有支持和關(guān)心我的老師同學(xué)表示最誠(chéng)摯的謝意。首先我要感謝我的畢設(shè)指導(dǎo)老師鄒陽(yáng),從我選題到畢設(shè)論文的完成,鄒老師在百忙之中隨時(shí)與我溝通,悉心的指導(dǎo)我,他為人謙和,治學(xué)嚴(yán)謹(jǐn)?shù)膽B(tài)度對(duì)我影響很大,我覺(jué)得自己以前已經(jīng)適應(yīng)了填鴨式的教育,從來(lái)都是等著別人來(lái)告訴自己該怎么做,而鄒陽(yáng)老師給我最大的幫助是讓我學(xué)會(huì)了獨(dú)立的思考,獨(dú)立去解決問(wèn)題。另外,我要感謝我周?chē)耐瑢W(xué)和朋友,在我畢業(yè)設(shè)計(jì)期間,他們都一直耐心的幫助我,尤其是在和他們平時(shí)的討論和學(xué)習(xí)中,讓我對(duì)很多問(wèn)題有了更清晰的認(rèn)識(shí)。最后,感謝我的父母,你們的支持和鼓勵(lì)才使我勇敢的一直走到現(xiàn)在。參考文獻(xiàn)[1]Mark Weiser. Program slicing. Proceedings of 5th International Conference on Software Engineering, pp. 439449, San Diego,CA, Mar. 1981.[2]Glenford ,Corey Sandler,Tom Badgett,Todd Art ofSoftware Testing(2nd Edition)[M].2004.[3]Clarke system to generate test data and symbolieally exeeute Transaetions on Software Engineering [J]. September 1976。 21522
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1