计算机工程
計算機工程
계산궤공정
COMPUTER ENGINEERING
2015年
2期
63-69,80
,共8页
刘春宏%徐立华%颜婷%杨宗源
劉春宏%徐立華%顏婷%楊宗源
류춘굉%서립화%안정%양종원
软件测试%混合测试%分段式符号分析%动态分析%测试数据生成%分支覆盖
軟件測試%混閤測試%分段式符號分析%動態分析%測試數據生成%分支覆蓋
연건측시%혼합측시%분단식부호분석%동태분석%측시수거생성%분지복개
software testing%concolic testing%segmented symbolic analysis%dynamic analysis%test data generation%branch coverage
传统混合执行测试方法无法对源代码不可见函数进行符号执行。针对该问题,将符号执行、分段式符号执行以及具体执行按需结合,提出一种分段式混合执行测试方法,将源代码不可见函数以分段式分析法截取为单独代码片段,结合动态执行和回归分析方法推导其相应的程序语义。为验证该方法的有效性,实现sCREST原型系统,并对5个应用广泛的开源系统进行测试。实验结果表明,该方法能够产生比传统方法覆盖更多分支数的测试数据。
傳統混閤執行測試方法無法對源代碼不可見函數進行符號執行。針對該問題,將符號執行、分段式符號執行以及具體執行按需結閤,提齣一種分段式混閤執行測試方法,將源代碼不可見函數以分段式分析法截取為單獨代碼片段,結閤動態執行和迴歸分析方法推導其相應的程序語義。為驗證該方法的有效性,實現sCREST原型繫統,併對5箇應用廣汎的開源繫統進行測試。實驗結果錶明,該方法能夠產生比傳統方法覆蓋更多分支數的測試數據。
전통혼합집행측시방법무법대원대마불가견함수진행부호집행。침대해문제,장부호집행、분단식부호집행이급구체집행안수결합,제출일충분단식혼합집행측시방법,장원대마불가견함수이분단식분석법절취위단독대마편단,결합동태집행화회귀분석방법추도기상응적정서어의。위험증해방법적유효성,실현sCREST원형계통,병대5개응용엄범적개원계통진행측시。실험결과표명,해방법능구산생비전통방법복개경다분지수적측시수거。
Function calls with unavailable source codes can not be appropriately handled by symbolic execution in traditional concolic testing. To solve this problem, this paper proposes a segmented concolic testing method, which weaves,by demand, symbolic execution, segmented symbolic execution and concrete execution throughout the testing process. These function calls are treated as separate code segments, dynamically executed and analyzed to derive their corresponding program semantics. To demonstrate the effectiveness of the proposed method, this paper implements sCREST,a segmented concolic testing system based on CREST, and experiments with five open source systems. Experimental results show that segmente concolic testing is able to generate test data that covers more branches than that of the traditional approaches.