《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 设计应用 > 基于圈复杂度的阶段动态符号执行
基于圈复杂度的阶段动态符号执行
2020年信息技术与网络安全第4期
毕雪洁1,於家伟1,李世明1,2
(1.哈尔滨师范大学 计算机科学与信息工程学院,黑龙江 哈尔滨 150025; 2.上海市信息安全综合管理技术研究重点实验室,上海 200240)
摘要: 为了缓解动态符号执行不可避免的路径爆炸等问题,提出了基于圈复杂度的阶段动态符号执行CCSDSEM优化算法。该算法通过计算约束判定条件为真的数量来衡量代码的圈复杂度,然后依据圈复杂度的阈值进行分阶段动态符号执行,使动态符号执行梯度进行,缓解路径选择指数爆炸,合理缩放符号执行。最后在KLEE中实现CCSDSEM框架,并对测试程序做了检测。CCSDSEM将符号执行的运行时间显著缩短,提升了生成测试用例的数量。
中圖分類號:TP393.08
文獻(xiàn)標(biāo)識碼:A
DOI: 10.19358/j.issn.2096-5133.2020.04.005
引用格式:畢雪潔,於家偉,李世明.基于圈復(fù)雜度的階段動態(tài)符號執(zhí)行[J].信息技術(shù)與網(wǎng)絡(luò)安全,2020,39(4):24-29.
Stage dynamic symbol execution based on cyclomatic complexity
Bi Xuejie1,Yu Jiawei1,Li Shiming1,2
(1.College of Computer Science and Information Engineering,Harbin Normal University,Harbin 150025,China; 2.Shanghai Key Laboratory of Integrated Administration Technologies for Information Security,Shanghai 200240,China)
Abstract: In order to alleviate problems such as the path explosion of dynamic symbol execution contraction,this paper proposes an optimization algorithm for stage dynamic symbol execution based on cyclomatic complexity(CCSDSEM).The algorithm realizes the cyclomatic complexity of the code by calculating the constraints to determine the exact number,and then executes the dynamic symbol execution in stages according to the threshold of cycle complexity,makes the dynamic symbol execution gradient,replaces the path selection index explosion,and scales the symbol execution reasonably.The above optimization framework was implemented in KLEE,and the test program was tested.CCSDSEM significantly changes the runtime of symbolic execution,increasing the number of test cases generated.
Key words : cyclomatic complexity;concolic execution;scaling symbolic execution;software testing

0    引言

路徑爆炸問題降低了軟件測試的效率和質(zhì)量,也給軟件埋下隱患。如何緩解路徑爆炸問題成為軟件安全測試中的一個(gè)研究熱點(diǎn),符號執(zhí)行成為緩解該問題嚴(yán)重程度的重要技術(shù)之一。其主要算法思想為利用符號變量來取代測試過程的真實(shí)用例,從而在執(zhí)行過程中獲取對應(yīng)的執(zhí)行路徑,成為生成高覆蓋測試用例和在復(fù)雜軟件應(yīng)用程序中查找深度錯(cuò)誤的有效技術(shù)之一;因該技術(shù)能夠處理復(fù)雜結(jié)構(gòu)程序,開發(fā)人員也經(jīng)常用之于程序自動測試、程序缺陷檢測、測試用例生成等。



本文詳細(xì)內(nèi)容請下載:http://ihrv.cn/resource/share/2000003201





作者信息:

畢雪潔1,於家偉1,李世明1,2

(1.哈爾濱師范大學(xué) 計(jì)算機(jī)科學(xué)與信息工程學(xué)院,黑龍江 哈爾濱 150025;2.上海市信息安全綜合管理技術(shù)研究重點(diǎn)實(shí)驗(yàn)室,上海 200240)


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。

相關(guān)內(nèi)容