heechan.yang

[Automated Fuzz Driver Generation] CITRUS: Automated Unit Testing Tool for Real-world C++ Programs 본문

Software Testing

[Automated Fuzz Driver Generation] CITRUS: Automated Unit Testing Tool for Real-world C++ Programs

heechan.yang 2023. 10. 29. 23:15

Introduction

CITRUS: C++ unIt Testing for Reliable and Usable Software

CITRUS is an automated unit testing tool for C++ programs. This tool analyzes the target software, generates and mutates test cases (a.k.a test harness, drivers, method sequence) to explore diverse states of a program in the goal of increasing test coverage.

 

Existing Question

  • When a test case is generated, citrus only tests this test case with hard coded input values. When it results in no new coverage, it is simply thrown away. Isn't there a chance of new coverage when this test cases is tested with different input values? So why not use libfuzzer's fuzzed inputs in the first place?


References

[1] CITRUS: Automated Unit Testing Tool for Real-world C++ Programs