Ask Me Anything with Alex Aiken
summary
Argues that program synthesis and superoptimization work in practice for small codelets — early Stoke enumerates all 3-line x86 programs and later moves to stochastic search replacing heuristics — but scaling to whole compilers fails without better specs and verification. Recommends decoupled search and verification or constrained searches to make verification tractable, prioritizing risky problems first, and using learned models to replace brittle heuristics while noting the hard correctness gap (97% ML accuracy is often unacceptable for compilers).
AI-written summary · about
chapters (18)
- 0:00Introduction
- 0:29Stochastic processes during program construction
- 1:34Stochastic verification
- 3:34Compiler automation
- 5:07Why ML
- 6:02Most proud of
- 7:23Secret sauce
- 10:36Picking research problems
- 13:28Multilanguage analysis
- 17:20Building compilers faster
- 18:58Managing risks
- 21:08Building a compiler from scratch
- 23:48Music or academia
- 24:59Deep learning in compilers
- 27:21Super optimization synthesis
- 30:42What to do when things arent going well
- 33:55How to go from simple intuition to a complete fledged project
- 36:41When to push further or give up
related talks
53mLocknote: How Badly Do We Want Correct Compilers?
01h 06mWhy are partial evaluation and supercompilation still not widely used in practic
23mFormally Verified Speculation and Deoptimization in a JIT Compiler
01h 05mMuch Still to Do in Compiler Verification (A Perspective from the CakeML Project)
37mA Tour of Program Optimization
31mLetting users do the undecidable: lessons from program synthesis
19mPanel: Compilation Frameworks
22mCounterexample-Guided Inference of Modular Specifications
