We sometimes think of the number of passes in a compiler as a measure of the compiler’s complexity. But what if we could make compiler development more approachable by fully embracing the idea that a compiler should be structured as a large number of small passes, each performing a single specific task?
Editor: Michael Hicks
- Sound Analysis: Can We Tell the Truth About Programs?
- “Program Verification”: Has it lost its punch?
- Scaling the Field: Collaboration is of the Essence
- A Checklist Manifesto for Empirical Evaluation: A Preemptive Strike Against a Replication Crisis in Computer Science
- From Programs to Deep Models – Part 1
abstract interpretation AI safety algorithm announcement architecture Artifact evaluation awards carbon footprint carbon offset climate change code completion compilers concurrency conferences dynamic analysis formal verification gradual typing hardware industrial adoption language design machine learning Measurements Methodology nanopass neural networks news open access optimization program analysis programming program proof program synthesis proof engineering publication process quantum computing research productivity scientific journals security service soundness static analysis systems testing theorem proving type systems