Boosting Compiler Testing by Injecting Real-World Code
summary
Tool Creal injects real-world functions into Csmith-generated seeds, extracting 50,000 functions from 100+ popular GitHub projects, inferring input/output behaviors, synthesizing wrappers and dataflow links, and forcing semantics-preserving substitutions. Running Creal for nine months finds 132 bugs reported to GCC and LLVM (121 confirmed, 101 fixed), with >60% miscompilations and 53 crashes; it raises coverage (about +3.6% lines on GCC, ~40k extra lines on LLVM) and exposes long‑latent, high‑severity optimizer faults.
AI-written summary · about
chapters (10)
- 0:00Compiler testing challenges
- 2:51Rule-based generation limits
- 5:40Motivation for real-world code
- 7:04GitHub function database
- 8:30Online injection procedure
- 11:18Complex flows construction
- 11:39Seral tool evaluation
- 14:35Boosting code coverage
- 16:43Conclusion and future
- 17:04Q&A on purity and compilation
related talks
53mLocknote: How Badly Do We Want Correct Compilers?
01h 04mCompiler Bugs And Bug Compilers
15mInterleaving Large Language Models for Compiler Testing
14mUnveiling Compiler Faults via Attribute-Guided Compilation Space Exploration
53mFrom Within: Compiler Testing and Validation via Compilers
01h 16m“What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”
51mCompile-time tools supporting generic programming in C++
14mFinding Compiler Bugs through Cross-Language Code Generator and Differential Testing
