利用Bonsai Fuzzing构建测试语料库
Growing a Test Corpus with Bonsai Fuzzing
摘要:
本文提出了一种覆盖率引导的基于语法的模糊技术自动生成一个语料库的简洁的测试输入的程序,如编译器。我们走过一个案例研究的编译器设计的教育和相应的问题,产生有意义的测试用例提供给学生。现有技术的解决方案是模糊和测试用例简化技术(诸如增量调试的变体)的组合。我们的关键见解是,而不是试图最大限度地减少复杂的模糊生成的测试输入,我们可以通过使用迭代深化的形式来构建简洁的测试输入。我们称这种方法为Bonsai Fuzzing。实验结果表明,Bonsai Fuzzing可以生成的测试语料库的输入是16- 45%,平均较小的大小相比,模糊然后减少的方法,而实现大致相同的代码覆盖率和故障检测能力。
英文摘要:
This paper presents a coverage-guided grammar-based fuzzing technique for automatically generating a corpus of concise test inputs for programs such as compilers. We walk-through a case study of a compiler designed for education and the corresponding problem of generating meaningful test cases to provide to students. The prior state-of-the-art solution is a combination of fuzzing and test-case reduction techniques such as variants of delta-debugging. Our key insight is that instead of attempting to minimize convoluted fuzzer-generated test inputs, we can instead grow concise test inputs by construction using a form of iterative deepening. We call this approach Bonsai Fuzzing. Experimental results show that Bonsai Fuzzing can generate test corpora having inputs that are 16--45% smaller in size on average as compared to a fuzz-then-reduce approach, while achieving approximately the same code coverage and fault-detection capability.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。