FuSeBMC v4: Smart Seed Generation for Hybrid Fuzzing

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

FuSeBMC is a test generator for finding security vulnerabilities in C programs. In Test-Comp 2021, we described a previous version that incrementally injected labels to guide Bounded Model Checking (BMC) and Evolutionary Fuzzing engines to produce test cases for code coverage and bug finding. This paper introduces an improved version of FuSeBMC that utilizes both engines to produce smart seeds. First, the engines run with a short time limit on a lightly instrumented version of the program to produce the seeds. The BMC engine is particularly useful in producing seeds that can pass through complex mathematical guards. Then, FuSeBMC runs its engines with extended time limits using the smart seeds created in the previous round. FuSeBMC manages this process in two main ways. Firstly, it uses shared memory to record the labels covered by each test case. Secondly, it evaluates test cases, and those of high impact are turned into seeds for subsequent test fuzzing. In this year’s competition, we participate in the Cover-Error, Cover-Branches, and Overall categories. The Test-Comp 2022 results show that we significantly increased our code coverage score from last year, outperforming all tools in all categories.
Original languageEnglish
Title of host publication25th International Conference on Fundamental Approaches to Software Engineering
Publication statusAccepted/In press - 25 Jan 2022

Fingerprint

Dive into the research topics of 'FuSeBMC v4: Smart Seed Generation for Hybrid Fuzzing'. Together they form a unique fingerprint.

Cite this