REVIEW 4 cited by
WhiteFox: White-Box Compiler Fuzzing Empowered by Large Language Models
Not yet reviewed by Pith; the record is open.
This paper has not been read by Pith yet. Machine review is queued; the pith claim, tier, and objections will appear here once it completes.
SPECIMEN: schema-true, not a live event
T0 review · schema-true
One-sentence machine reading of the paper's core claim.
pith:XXXXXXXX · record.json · timestamp
Signed reviews
read the original abstract
Compiler correctness is crucial, as miscompilation can falsify program behaviors, leading to serious consequences. Fuzzing has been studied to uncover compiler defects. However, compiler fuzzing remains challenging: Existing arts focus on black- and grey-box fuzzing, which generates tests without sufficient understanding of internal compiler behaviors. Meanwhile, traditional white-box techniques, like symbolic execution, are computationally inapplicable to the giant codebase of compilers. Recent advances demonstrate that Large Language Models (LLMs) excel in code generation/understanding tasks. Nonetheless, guiding LLMs with compiler source-code information remains a missing piece of research in compiler testing. To this end, we propose WhiteFox, the first white-box compiler fuzzer using LLMs with source-code information to test compiler optimization, with a spotlight on detecting deep logic bugs in the deep learning (DL) compilers. WhiteFox adopts a multi-agent framework: an LLM-based analysis agent examines the low-level optimization source code and produces requirements on the high-level test programs that can trigger the optimization; an LLM-based generation agent produces test programs based on the summarized requirements. Additionally, optimization-triggering tests are used as feedback to enhance the generation on the fly. Our evaluation on the three most popular DL compilers (i.e., PyTorch Inductor, TensorFlow-XLA, and TensorFlow Lite) shows WhiteFox can generate high-quality test programs to exercise deep optimizations, practicing up to 8X more than state-of-the-art fuzzers. WhiteFox has found 101 bugs for the DL compilers, with 92 confirmed as previously unknown and 70 fixed. WhiteFox has been acknowledged by the PyTorch team and is being incorporated into its development workflow. Beyond DL compilers, WhiteFox can also be adapted for compilers in different domains.
Forward citations
Cited by 4 Pith papers
-
Directed Greybox Fuzzing via Large Language Model
HGFuzzer uses an LLM to generate harnesses, reachable seeds, and custom mutators for directed greybox fuzzing, and reports triggering 17/20 known vulnerabilities plus finding 9 new ones with CVE IDs.
-
Large Language Models for Validating Network Protocol Parsers
PARVAL uses multiple LLM agents to extract format specifications from both RFC 5880 and the FRRouting BFD parser and flags 34 true inconsistencies, including seven unique bugs and two RFC documentation issues.
-
The Seeds of the FUTURE Sprout from History: Fuzzing for Unveiling Vulnerabilities in Prospective Deep-Learning Libraries
FUTURE fine-tunes CodeLlama to convert historical bug-triggering code from PyTorch and TensorFlow into seed programs for new DL libraries, finding 148 bugs across MLX, MindSpore, and OneFlow.
-
CKGFuzzer: LLM-Based Fuzz Driver Generation Enhanced By Code Knowledge Graph
CKGFuzzer uses a code knowledge graph to guide LLM agents in generating, repairing, and mutating fuzz drivers, reporting a pooled 8.73% relative coverage gain over PromptFuzz on eight libraries and 9 new bugs.
Discussion (0). Continue with ORCID to comment.