程序測(cè)試輸入的自動(dòng)生成技術(shù)框架及其優(yōu)化實(shí)現(xiàn)
【學(xué)位單位】:南京大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位年份】:2019
【中圖分類】:TP311.53
【部分圖文】:
?第一章緒論??要不充分條件。為了方便闡述其中原理,我們還是先看一個(gè)如圖1-2所示的代??碼案例。??1?void?func(char*?s)?{??2?int?cnt?=?0;??3?for?(int?i?=?0;?i?<?100;?i++)?{??4?if?(s[i]?==?'x')?{??5?cnt++;??6?}??7?}??8?assert(cnt?。?25);??9?if?(cnt?==75)?{??i〇?bug?();??11?}??12?}???圖1-2:闡述語句全覆蓋以及路徑全覆蓋的程序示例。??與圖1-1中的代碼案例一樣,在當(dāng)前這個(gè)例子中,函數(shù)/?nc的輸入是一個(gè)??長(zhǎng)度為100的字符串,大小為100個(gè)字節(jié)。在這其中:???如果我們想要觸發(fā)位于第8行的程序中斷,需要滿足:在作為輸入的100??個(gè)字節(jié)當(dāng)中,有且正好只有25個(gè)單字符’x’。此處,我們將這樣一個(gè)測(cè)試??輸入約束記為??魯如果我們想要觸發(fā)位于第10行的錯(cuò)誤函數(shù),需要滿足:在作為輸入的100??個(gè)字節(jié)當(dāng)中,有且正好只有75個(gè)單字符’X’。此處,我們將這樣一個(gè)測(cè)試??輸入約束記為辦。??這里可以發(fā)現(xiàn):(:洲辦是相互矛盾的。??現(xiàn)在我們己經(jīng)知道全覆蓋從強(qiáng)到弱可以分為:“路徑全覆蓋(Full?Path??Coverage)?”、“分支全覆蓋(Full?Branch?Edge?Coverage)?”、“語句全覆蓋??(Full?Statement?Coverage)?”。在圖1-2所示的代碼案例中,我們可以發(fā)現(xiàn):??參當(dāng)我們達(dá)成語句全覆蓋的時(shí)候
Point)?”的兩次執(zhí)行,針對(duì)所有后續(xù)將會(huì)被讀取的變量,如果這些變量當(dāng)前取??值己經(jīng)相同,那么兩者后續(xù)路徑必然相同,后續(xù)符號(hào)分析純屬冗余,可以進(jìn)行??剪枝(狀態(tài)剪枝原理如圖3-1所示)。除了?RWset之外,在GUIDESE中,用??戶向被測(cè)程序中插入特殊注釋,而GUIDESE則據(jù)此遵循用戶意志,有目標(biāo)的??進(jìn)行狀態(tài)合并、路徑剪枝。MULTISE通過利用狀態(tài)合并,引導(dǎo)探索方向前往目??標(biāo)執(zhí)行路徑。??不管如何,狀態(tài)合并的核心思想是:針對(duì)抵達(dá)同一程序執(zhí)行點(diǎn)的兩次執(zhí)??行,如果兩者變量狀態(tài)高度相似,那么兩者可以進(jìn)行合并(如果被判定為等??價(jià)),從而剔除冗余、指導(dǎo)搜索(狀態(tài)合并原理如圖3-2所示)。??
'''???參。??圖3-1:在搜索空間中,狀態(tài)剪枝原理示意。??圖中所有節(jié)點(diǎn)代表測(cè)試輸入,在這其中,黑色節(jié)點(diǎn)代表的是目標(biāo)測(cè)試輸入,帶義號(hào)的節(jié)點(diǎn)??代表的是那些冗余或者尤價(jià)值的測(cè)試輸入。狀態(tài)剪枝通過提前剔除這些冗余或者無價(jià)值的??測(cè)試輸入,從而提高鄰居選擇策略效果。??最后,讓我們先回到動(dòng)態(tài)符號(hào)執(zhí)行所面臨的挑戰(zhàn)。我們現(xiàn)在己經(jīng)知道,由??于路徑約束內(nèi)部存在依賴關(guān)系,后綴約束總是在控制流程上依賴前綴約束。隨??意取反某個(gè)分支約束,極有可能導(dǎo)致被取反分支約束同前綴約束之間產(chǎn)生矛??盾。最終導(dǎo)致,很多時(shí)候,我們很難沿著當(dāng)前執(zhí)行路徑,通過直接取反目標(biāo)分??支約束,進(jìn)入目標(biāo)分支。另外一邊,由于計(jì)算資源有限,但是現(xiàn)實(shí)程序中的執(zhí)??行路徑總量幾乎無限
【相似文獻(xiàn)】
相關(guān)期刊論文 前10條
1 山磊;;程序測(cè)試的心理研究[J];甘肅科技縱橫;2006年06期
2 李淑寧;數(shù)據(jù)流分析在程序測(cè)試中的應(yīng)用[J];小型微型計(jì)算機(jī)系統(tǒng);1988年04期
3 黃琳;;符號(hào)蹤跡測(cè)試工具——STTT[J];計(jì)算機(jī)研究與發(fā)展;1989年03期
4 李友仁;劉少英;;COBOL程序測(cè)試環(huán)境CPTS-1的設(shè)計(jì)與實(shí)現(xiàn)[J];西安交通大學(xué)學(xué)報(bào);1989年01期
5 劉劍;;重視程序測(cè)試 提高軟件質(zhì)量[J];金融電子化;1999年03期
6 陳鋼;王能斌;;程序測(cè)試與一個(gè)程序測(cè)試工具[J];南京工學(xué)院學(xué)報(bào);1983年02期
7 劉遠(yuǎn)信;程序測(cè)試[J];南昌大學(xué)學(xué)報(bào)(理科版);1996年04期
8 趙千川;王達(dá);薛文軒;;PLC程序測(cè)試與驗(yàn)證的研究進(jìn)展[J];清華大學(xué)學(xué)報(bào)(自然科學(xué)版);2011年11期
9 黃采倫;RS-485 通訊接口及程序測(cè)試方法[J];電子儀器儀表用戶;1998年02期
10 郭聲;淺談AXE—10的程序測(cè)試系統(tǒng)[J];江蘇通信技術(shù);1994年01期
相關(guān)碩士學(xué)位論文 前10條
1 曹陽;程序測(cè)試輸入的自動(dòng)生成技術(shù)框架及其優(yōu)化實(shí)現(xiàn)[D];南京大學(xué);2019年
2 王雅楠;基于微信的智慧校園應(yīng)用[D];西安電子科技大學(xué);2018年
3 胡琰琳;程序正義中的“聲音”[D];浙江工商大學(xué);2018年
4 徐文飛;選礦過程自動(dòng)化邏輯控制程序測(cè)試平臺(tái)的設(shè)計(jì)與開發(fā)[D];東北大學(xué);2015年
5 張超群;選礦過程電氣設(shè)備邏輯控制程序測(cè)試平臺(tái)的設(shè)計(jì)與開發(fā)[D];東北大學(xué);2014年
6 楊曉光;泵和閥門類設(shè)備邏輯控制程序測(cè)試平臺(tái)的研發(fā)[D];東北大學(xué);2011年
7 王文軍;Java ME程序測(cè)試平臺(tái)的若干關(guān)鍵技術(shù)研究[D];大連海事大學(xué);2008年
8 李杜;字符識(shí)別技術(shù)研究及其在機(jī)器視覺測(cè)控中的應(yīng)用[D];江南大學(xué);2011年
9 張新杰;程序切片技術(shù)研究及切片方案設(shè)計(jì)[D];電子科技大學(xué);2017年
10 王大偉;回歸測(cè)試中基于需求優(yōu)先級(jí)的用例選擇算法研究[D];浙江工業(yè)大學(xué);2012年
本文編號(hào):2882479
本文鏈接:http://sikaile.net/kejilunwen/sousuoyinqinglunwen/2882479.html