Nice to Meet You: Synthesizing Practical MLIR Abstract Transformers
Xuanyu Peng, Dominic Kennedy, Yuyou Fan, Ben Greenman, John Regehr, Loris D'Antoni

TL;DR
This paper introduces NiceToMeetYou, a synthesis framework that automatically generates sound and precise abstract transformers for compiler static analysis, improving upon existing LLVM transformers without requiring manual sketches.
Contribution
It presents a novel, fully automated synthesis technique for abstract transformers in MLIR, enhancing soundness and precision in compiler static analysis.
Findings
17% of synthesized transformers are more precise than LLVM's.
Transformers are verified via SMT lowering.
No sketches are required for synthesis.
Abstract
Static analyses play a fundamental role during compilation: they discover facts that are true in all executions of the code being compiled, and then these facts are used to justify optimizations and diagnostics. Each static analysis is based on a collection of abstract transformers that provide abstract semantics for the concrete instructions that make up a program. It can be challenging to implement abstract transformers that are sound, precise, and efficient, and in fact both LLVM and GCC have suffered from miscompilations caused by unsound abstract transformers. Moreover, even after more than 20 years of development, LLVM lacks abstract transformers for hundreds of instructions in its intermediate representation (IR). We developed NiceToMeetYou, a program synthesis framework for abstract transformers that are aimed at the kinds of non-relational integer abstract domains that are…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Parallel Computing and Optimization Techniques · Embedded Systems Design Techniques
