Targeted Testing of Compiler Optimizations via Grammar-Level Composition Styles
Zitong Zhou, Ben Limpanukorn, Hong Jin Kang, Jiyuan Wang, Yaoxuan Wu, Akos Kiss, Renata Hodovan, Miryung Kim

TL;DR
This paper introduces TargetFuzz, a grammar-based targeted fuzzing approach that effectively tests compiler optimizations by exploiting composition styles, improving coverage and triggering optimizations more frequently than traditional pipeline fuzzers.
Contribution
It presents a novel, grammar-based mutational fuzzing technique that automatically synthesizes composition styles to test compiler optimizations across different languages and frameworks.
Findings
TargetFuzz increases optimization coverage by up to 11%.
It triggers optimizations 2.6 to 2.8 times more often than baseline fuzzers.
TargetFuzz effectively tests all sampled LLVM optimizations, unlike pipeline fuzzers.
Abstract
Ensuring the correctness of compiler optimizations is critical, but existing fuzzers struggle to test optimizations effectively. First, most fuzzers use optimization pipelines (heuristics-based, fixed sequences of passes) as their harness. The phase-ordering problem can enable or preempt transformations, so pipelines inevitably miss optimization interactions; moreover, many optimizations are not scheduled, even at aggressive levels. Second, optimizations typically fire only when inputs satisfy specific structural relationships, which existing generators and mutations struggle to produce. We propose targeted fuzzing of individual optimizations to complement pipeline-based testing. Our key idea is to exploit composition styles - structural relations over program constructs (adjacency, nesting, repetition, ordering) - that optimizations look for. We build a general-purpose, grammar-based…
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 · Logic, programming, and type systems · Parallel Computing and Optimization Techniques
