基于符号执行与模糊测试的混合测试方法

Xiao Fei Xie, Xiao Hong Li, Xiang Chen, Guo Zhu Meng, Yang Liu

研究成果: Contribution to journalArticle査読

3 被引用数 (Scopus)

抄録

Software testing is a common way to guarantee software quality. How to achieve high coverage is a very important and challenging goal in testing. Fuzz testing and symbolic execution, as two mainstream testing techniques, have been widely studied and applied to academia and industry, both technologies have certain advantages and limitations. Fuzz testing can execute and cover deeper branches by randomly mutating test cases and dynamically executing programs. However, it is difficult to generate test cases that can cover complex conditional branches by random mutation. Symbolic execution can cover complex conditional branches with SMT solvers, but it is difficult to cover deeper branches due to state explosion during symbolic execution. Current works have shown that hybrid testing involving fuzzing and symbolic execution can archive better performance than fuzzing or symbolic execution. By analyzing the advantages and disadvantages in fuzzing and symbolic execution, this study proposes a branch coverage-based hybrid testing approach that combines the two methods with each other to achieve better test cases with high branch coverage. Specifically, fuzz testing (e.g., AFL) quickly generates a large number of test cases that can cover deeper branches, and symbolic execution (e.g., KLEE) performs a search based on the coverage of fuzz testing, and generating test cases for uncovered branches. To evaluate the effectiveness of Afleer, the study selects the standard benchmark LAVA-M and one real project oSIP as the evaluation object, and uses bug detection and coverage as the evaluation measures. The experimental results show that: 1) For bug discovery, Afleer found 755 bugs while AFL only found 1; 2) For coverage, Afleer achieved some improvement on benchmarks and real project. In the project oSIP, Afleer increases the branch coverage by 2.4 times and the path coverage by 6.1 times. In addition, Afleer found a new bug in oSIP.

寄稿の翻訳タイトルHybrid Testing Based on Symbolic Execution and Fuzzing
本文言語中国語 (繁体字)
ページ(範囲)3071-3089
ページ数19
ジャーナルRuan Jian Xue Bao/Journal of Software
30
10
DOI
出版ステータス出版済み - 10 1 2019
外部発表はい

All Science Journal Classification (ASJC) codes

  • ソフトウェア

フィンガープリント

「基于符号执行与模糊测试的混合测试方法」の研究トピックを掘り下げます。これらがまとまってユニークなフィンガープリントを構成します。

引用スタイル