36

Compiling by Proving: Language-Agnostic Automatic Optimization from Formal Semantics

Main:6 Pages
2 Figures
Bibliography:1 Pages
4 Tables
Appendix:1 Pages
Abstract

Verification proofs encode complete program behavior, yet we discard them after checking correctness. We present compiling by proving, a paradigm that transforms these proofs into optimized execution rules. By constructing All-Path Reachability Proofs through symbolic execution and compiling their graph structure, we consolidate many semantic rewrites into single rules while preserving correctness by construction. We implement this as a language-agnostic extension to the K framework. Evaluation demonstrates performance improvements across different compilation scopes: opcode-level optimizations show consistent speedups, while whole-program compilation achieves orders of magnitude greater performance gains.

View on arXiv
Comments on this paper