Coverage-guided tensor compiler fuzzing with joint IR-pass mutation
summary
Tzer mutates TVM’s low-level IR and the sequence of optimization passes together, using coverage feedback to prefer IR edits but switch to pass edits after a Max interleaving threshold. Mutators operate on IR ASTs with insertion/deletion/replacement plus tensor-specific patterns (loop hierarchy, buffer accesses, threading/schedules). Oracles are compiler crashes and output inconsistencies; evaluation finds 49 new TVM bugs (37 confirmed, 25 fixed), 75% higher coverage and 50% more valuable tests versus the next baseline, and 1.75× coverage speedup.
AI-written summary · about
chapters (8)
- 0:00Coverage-guided fuzzing intro
- 2:09Coverage-guided pipeline recap
- 3:36Mutation-based test generation
- 6:08General and tensor IR mutations
- 7:56Joint IR-pass strategy
- 9:23Teaser bug detection
- 10:50Coverage evaluation
- 11:34Q&A
related talks
18mOptimization-Directed Compiler Fuzzing for Continuous Translation Validation
19mPolyJuice: Detecting Mis-Compilation Bugs in Tensor Compilers with Equality Saturation(…)
14mFuzzing C++ Compilers via Type-Driven Mutation
44mCan I stop testing now? (...)
33mTeIL: a type-safe imperative Tensor Intermediate Language
20mVectorizing Sparse Coiteration for Two-finger Loop Structure (Extended Abstract)
14mUnveiling Compiler Faults via Attribute-Guided Compilation Space Exploration
18mFirst-Class Verification Dialects for MLIR
