基于分段動態(tài)符號執(zhí)行的約束優(yōu)化研究
發(fā)布時間:2021-03-06 22:45
軟件質(zhì)量是保證軟件產(chǎn)品正常平穩(wěn)運行的關(guān)鍵,因為在軟件開發(fā)和軟件功能更新過程中不可避免會出現(xiàn)軟件缺陷,這些缺陷如果不及時發(fā)現(xiàn),軟件不能平穩(wěn)運行,甚至可能對其他相關(guān)軟件帶來更大危害。為了有效的發(fā)現(xiàn)軟件中的缺陷并對所在缺陷代碼進(jìn)行改進(jìn)必須進(jìn)行軟件測試。符號執(zhí)行作為一種程序分析技術(shù),使用不同的、可能的輸入來測試程序,系統(tǒng)地同時探索許多可能的執(zhí)行路徑,使得軟件可靠性應(yīng)用程序有重大實際突破。動態(tài)符號執(zhí)行通過自動輸入生成發(fā)現(xiàn)軟件中的缺陷——即自動化軟件測試。在此過程中,為保證程序可繼續(xù)執(zhí)行會將求解器無法求解的部分用具體值替換,導(dǎo)致部分路徑丟失,并且路徑爆炸問題依然嚴(yán)峻;在整個符號執(zhí)行中,求解器的求解時間占程序執(zhí)行的很大一部分,優(yōu)化約束集、減少求解器的負(fù)擔(dān)也是一個至關(guān)重要的問題。本文通過分段動態(tài)符號執(zhí)行優(yōu)化約束集的方法,緩解動態(tài)符號執(zhí)行中的路徑爆炸。提出一個CCSDSM優(yōu)化框架,利用圈復(fù)雜度度量軟件復(fù)雜性進(jìn)行分段處理,避免程序分支呈指數(shù)級增長后導(dǎo)致的路徑爆炸,并在分段處優(yōu)化約束集,減輕求解器的負(fù)擔(dān),延遲符號值被實際值替換,降低路徑的不完整性。本文用開源符號執(zhí)行工具KLEE對程序進(jìn)行分析。設(shè)計實驗來評估...
【文章來源】:哈爾濱師范大學(xué)黑龍江省
【文章頁數(shù)】:40 頁
【學(xué)位級別】:碩士
【部分圖文】:
符號執(zhí)行示例程序
執(zhí)行樹
第二章相關(guān)技術(shù)研究9可行路徑,產(chǎn)生誤報。2.1.2動態(tài)符號執(zhí)行動態(tài)符號執(zhí)行(Dynamicsymbolicexecution,DSE)是一種實際輸入與傳統(tǒng)符號執(zhí)行相結(jié)合的代碼檢測技術(shù),它通過自動生成的測試用例來檢測程序執(zhí)行中的可能路徑,并據(jù)此挖掘和檢測軟件漏洞或缺陷。動態(tài)符號執(zhí)行顯著特點是以實際數(shù)據(jù)為輸入來參與運行過程,并且通過約束求解器計算出多個測試用例,測試用例質(zhì)量越高,數(shù)量越多,則挖掘程序漏洞的概率越大。在被測程序上,符號執(zhí)行先用給定的或隨機(jī)的具體輸入執(zhí)行,并同時進(jìn)行符號執(zhí)行。通過插樁的方式收集程序執(zhí)行過程中路徑條件的符號表達(dá)式,對分支路徑條件進(jìn)行取反得到新的路徑條件,然后使用約束求解器求解所收集到的路徑條件,以生成新的測試用例用于輸入,從而探索與未被覆蓋的路徑。當(dāng)約束集超過求解器求解能力或者遇到外部調(diào)用的時候,用具體值替代使程序可繼續(xù)執(zhí)行。生成測試輸入對程序中路徑進(jìn)行探索。如圖2-3所示。圖2-3動態(tài)符號執(zhí)行流程圖Figure2-3Dynamicsymbolexecutionflowgraph為了更好的闡述動態(tài)符號執(zhí)行過程,以示例2-1的例子來說明。動態(tài)符號執(zhí)行會首先產(chǎn)生隨機(jī)輸入。假設(shè){a=5,b=8},具體值和符號值混合執(zhí)行。輸入實際值,
【參考文獻(xiàn)】:
期刊論文
[1]基于符號執(zhí)行與模糊測試的混合測試方法[J]. 謝肖飛,李曉紅,陳翔,孟國柱,劉楊. 軟件學(xué)報. 2019(10)
[2]程序分析研究進(jìn)展[J]. 張健,張超,玄躋峰,熊英飛,王千祥,梁彬,李煉,竇文生,陳振邦,陳立前,蔡彥. 軟件學(xué)報. 2019(01)
[3]程序理解:現(xiàn)狀與未來[J]. 金芝,劉芳,李戈. 軟件學(xué)報. 2019(01)
[4]基于變量符號關(guān)聯(lián)分析的程序狀態(tài)優(yōu)化方法[J]. 郭曦,王盼. 通信學(xué)報. 2018(06)
[5]一種基于程序功能標(biāo)簽切片的制導(dǎo)符號執(zhí)行分析方法[J]. 甘水滔,王林章,謝向輝,秦曉軍,周林,陳左寧. 軟件學(xué)報. 2019(11)
[6]一種符號執(zhí)行制導(dǎo)的循環(huán)內(nèi)界分析方法[J]. 趙祖威,馮世寧,湯恩義,陳鑫,李宣東,潘敏學(xué),趙晨. 電子學(xué)報. 2017(11)
[7]基于懶符號執(zhí)行的軟件脆弱性路徑求解算法[J]. 秦曉軍,周林,陳左寧,甘水滔. 計算機(jī)學(xué)報. 2015(11)
[8]基于k近鄰最弱前置條件的程序多路徑驗證方法[J]. 郭曦,王盼,王建勇,張煥國. 計算機(jī)學(xué)報. 2015(11)
碩士論文
[1]并行分段式符號執(zhí)行的研究與實現(xiàn)[D]. 王穎.電子科技大學(xué) 2018
[2]基于動態(tài)符號執(zhí)行的模糊測試方法研究[D]. 陳禹行.大連海事大學(xué) 2018
[3]分段式混合執(zhí)行測試方法的研究[D]. 劉春宏.華東師范大學(xué) 2014
本文編號:3067955
【文章來源】:哈爾濱師范大學(xué)黑龍江省
【文章頁數(shù)】:40 頁
【學(xué)位級別】:碩士
【部分圖文】:
符號執(zhí)行示例程序
執(zhí)行樹
第二章相關(guān)技術(shù)研究9可行路徑,產(chǎn)生誤報。2.1.2動態(tài)符號執(zhí)行動態(tài)符號執(zhí)行(Dynamicsymbolicexecution,DSE)是一種實際輸入與傳統(tǒng)符號執(zhí)行相結(jié)合的代碼檢測技術(shù),它通過自動生成的測試用例來檢測程序執(zhí)行中的可能路徑,并據(jù)此挖掘和檢測軟件漏洞或缺陷。動態(tài)符號執(zhí)行顯著特點是以實際數(shù)據(jù)為輸入來參與運行過程,并且通過約束求解器計算出多個測試用例,測試用例質(zhì)量越高,數(shù)量越多,則挖掘程序漏洞的概率越大。在被測程序上,符號執(zhí)行先用給定的或隨機(jī)的具體輸入執(zhí)行,并同時進(jìn)行符號執(zhí)行。通過插樁的方式收集程序執(zhí)行過程中路徑條件的符號表達(dá)式,對分支路徑條件進(jìn)行取反得到新的路徑條件,然后使用約束求解器求解所收集到的路徑條件,以生成新的測試用例用于輸入,從而探索與未被覆蓋的路徑。當(dāng)約束集超過求解器求解能力或者遇到外部調(diào)用的時候,用具體值替代使程序可繼續(xù)執(zhí)行。生成測試輸入對程序中路徑進(jìn)行探索。如圖2-3所示。圖2-3動態(tài)符號執(zhí)行流程圖Figure2-3Dynamicsymbolexecutionflowgraph為了更好的闡述動態(tài)符號執(zhí)行過程,以示例2-1的例子來說明。動態(tài)符號執(zhí)行會首先產(chǎn)生隨機(jī)輸入。假設(shè){a=5,b=8},具體值和符號值混合執(zhí)行。輸入實際值,
【參考文獻(xiàn)】:
期刊論文
[1]基于符號執(zhí)行與模糊測試的混合測試方法[J]. 謝肖飛,李曉紅,陳翔,孟國柱,劉楊. 軟件學(xué)報. 2019(10)
[2]程序分析研究進(jìn)展[J]. 張健,張超,玄躋峰,熊英飛,王千祥,梁彬,李煉,竇文生,陳振邦,陳立前,蔡彥. 軟件學(xué)報. 2019(01)
[3]程序理解:現(xiàn)狀與未來[J]. 金芝,劉芳,李戈. 軟件學(xué)報. 2019(01)
[4]基于變量符號關(guān)聯(lián)分析的程序狀態(tài)優(yōu)化方法[J]. 郭曦,王盼. 通信學(xué)報. 2018(06)
[5]一種基于程序功能標(biāo)簽切片的制導(dǎo)符號執(zhí)行分析方法[J]. 甘水滔,王林章,謝向輝,秦曉軍,周林,陳左寧. 軟件學(xué)報. 2019(11)
[6]一種符號執(zhí)行制導(dǎo)的循環(huán)內(nèi)界分析方法[J]. 趙祖威,馮世寧,湯恩義,陳鑫,李宣東,潘敏學(xué),趙晨. 電子學(xué)報. 2017(11)
[7]基于懶符號執(zhí)行的軟件脆弱性路徑求解算法[J]. 秦曉軍,周林,陳左寧,甘水滔. 計算機(jī)學(xué)報. 2015(11)
[8]基于k近鄰最弱前置條件的程序多路徑驗證方法[J]. 郭曦,王盼,王建勇,張煥國. 計算機(jī)學(xué)報. 2015(11)
碩士論文
[1]并行分段式符號執(zhí)行的研究與實現(xiàn)[D]. 王穎.電子科技大學(xué) 2018
[2]基于動態(tài)符號執(zhí)行的模糊測試方法研究[D]. 陳禹行.大連海事大學(xué) 2018
[3]分段式混合執(zhí)行測試方法的研究[D]. 劉春宏.華東師范大學(xué) 2014
本文編號:3067955
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3067955.html
最近更新
教材專著