Hunting CUDA Bugs at Scale with cuFuzz
Mohamed Tarek Ibn ziad, Christos Kozyrakis

TL;DR
cuFuzz is a novel CUDA fuzzing tool that effectively uncovers memory-safety and concurrency bugs in GPU programs by addressing key obstacles in GPU fuzz testing, significantly improving bug detection and coverage.
Contribution
This work introduces cuFuzz, the first practical CUDA-oriented fuzzer that overcomes kernel-level false positives, integrates device-side coverage feedback, and separates sanitization from coverage collection.
Findings
Uncovered 43 previously unknown bugs, including memory access violations and data races.
Achieved higher coverage and unique inputs compared to baseline fuzzers.
Demonstrated effectiveness on both open-source and commercial CUDA programs.
Abstract
GPUs play an increasingly important role in modern software. However, the heterogeneous host-device execution model and expanding software stacks make GPU programs prone to memory-safety and concurrency bugs that evade static analysis. While fuzz-testing, combined with dynamic error checking tools, offers a plausible solution, it remains underutilized for GPUs. In this work, we identify three main obstacles limiting prior GPU fuzzing efforts: (1) kernel-level fuzzing leading to false positives, (2) lack of device-side coverage-guided feedback, and (3) incompatibility between coverage and sanitization tools. We present cuFuzz, the first CUDA-oriented fuzzer that makes GPU fuzzing practical by addressing these obstacles. cuFuzz uses whole program fuzzing to avoid false positives from independently fuzzing device-side kernels. It leverages NVBit to instrument device-side instructions and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Radiation Effects in Electronics · Parallel Computing and Optimization Techniques
