Skip to main navigation Skip to search Skip to main content

KRAKEN: Program-Adaptive Parallel Fuzzing

  • ANSHUNKANG ZHOU
  • , HEQING HUANG*
  • , CHARLES ZHANG
  • *Corresponding author for this work

Research output: Chapters, Conference Papers, Creative and Literary Works › RGC 32 - Refereed conference paper (with host publication) › peer-review

192 Downloads (CityUHK Scholars)

Abstract

Parallel fuzzing, which utilizes multicore computers to accelerate the fuzzing process, has been widely used in industrial-scale software defect detection. However, specifying efficient parallel fuzzing strategies for programs with different characteristics is challenging due to the difficulty of reasoning about fuzzing runtime statically. Existing efforts still use pre-defined tactics for various programs, resulting in suboptimal performance.

In this paper, we propose Kraken, a new program-adaptive parallel fuzzer that improves fuzzing efficiency through dynamic strategy optimization. The key insight is that the inefficiency in parallel fuzzing can be observed during runtime through various feedbacks, such as code coverage changes, which allows us to adjust the adopted strategy to avoid inefficient path searching, thus gradually approximating the optimal policy. Based on the above insight, our key idea is to view the task of finding the optimal strategy as an optimization problem and gradually approach the best program-specific strategy on the fly by maximizing certain objective functions. We have implemented Kraken in C/C++ and evaluated it on 19 real-world programs against 8 state-of-the-art parallel fuzzers. Experimental results show that Kraken can achieve 54.7% more code coverage and find 70.2% more bugs in the given time. Moreover, Kraken has found 192 bugs in 37 popular open-source projects, and 119 of them are assigned with CVE IDs.

©2025 Copyright held by the owner/author(s).
Original languageEnglish
Title of host publicationProceedings of the ACM on Software Engineering
EditorsLuciano Baresi
PublisherAssociation for Computing Machinery
Pages274-296
DOIs
Publication statusPublished - Jul 2025
Event34the ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2025 - Trondheim, Norway
Duration: 25 Jun 2025 → 28 Jun 2025
https://conf.researchr.org/home/issta-2025

Publication series

NameProceedings of the ACM on Software Engineering
NumberISSTA
Volume2
ISSN (Electronic)2994-970X

Conference

Conference34the ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2025
Abbreviated titleISSTA 2025
PlaceNorway
CityTrondheim
Period25/06/25 → 28/06/25
Internet address

Bibliographical note

Research Unit(s) information for this publication is provided by the author(s) concerned.

Funding

This work is funded by research donations from Huawei, TCL, and Tencent

Research Keywords

  • Greybox Fuzzing
  • Parallel Fuzzing

Publisher's Copyright Statement

  • This full text is made available under CC-BY 4.0. https://creativecommons.org/licenses/by/4.0/

Fingerprint

Dive into the research topics of 'KRAKEN: Program-Adaptive Parallel Fuzzing'. Together they form a unique fingerprint.

Cite this