paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Optimism in Equality Saturation

Equality Saturation 中的乐观性
PLDI 10(PLDI)2026匹配度 3/10 · 论文属于程序分析与抽象解释方向,研究等价饱和中的乐观抽象解释,但与用户核心关注的 PL→AI(ML/Agentic 程序静态分析)、AI→PL(LLM/Agent 改进静态分析)以及浮点/贝叶斯程序分析均无直接关联。仅在广义静态分析与形式化方法上有一定背景相关性,因此匹配度较低。引用 0 inbox
Russel Arbore, Alvin Cheung, Max Willsey
crossref: 2026-09-10

AI 速览

一句话:提出可在等价饱和过程中进行乐观抽象解释的统一算法,避免不健全性并提升SSA程序分析精度。

等价饱和是一种基于非破坏性重写和e-class分析的优化技术,但现有e-class分析过于悲观,分析SSA等循环程序时通常不精确。作者发现,直接采用乐观e-class分析会因e-graph表示程序的微妙之处而导致不健全。为此,论文提出一种抽象解释算法来规避该问题,并可在等价饱和过程中乐观地分析e-graph,从而将乐观分析与非破坏性重写统一在一个算法中。作者为SSA程序实现了原型抽象解释器与等价饱和工具。实验表明,该工具在示例程序上比纯抽象解释和悲观e-class分析更精确,同时性能与现有抽象解释及e-class分析技术相当。

问题
现有e-class分析是悲观的,在分析SSA等循环程序时往往不精确;而简单乐观化又会因e-graph的程序表示方式导致不健全。
方法
提出一种避免不健全性的抽象解释算法,使其能在等价饱和期间乐观分析e-graph,并将乐观分析与非破坏性重写统一起来。
评估
实现面向SSA程序的原型抽象解释器与等价饱和工具,在示例程序上与纯抽象解释和悲观e-class分析比较精度,并评估性能。
原文摘要(Abstract)

Equality saturation is a program optimization technique based on non-destructive rewriting and a form of abstract interpretation called e-class analysis. Existing e-class analyses are pessimistic and therefore typically imprecise when analyzing cyclic programs, such as those in SSA form. We show that a straightforward optimistic variant of e-class analysis can result in unsoundness, due to a subtlety in how e-graphs represent programs. We propose an abstract interpretation algorithm that circumvents this issue and can optimistically analyze e-graphs during equality saturation. This results in a unified algorithm for optimistic analysis and non-destructive rewriting. We implement a prototype abstract interpreter and equality saturation tool for SSA programs. Our tool exhibits precision improvements over pure abstract interpretation (without rewriting) and pessimistic e-class analysis on example programs. Additionally, its performance is comparable to existing abstract interpretation and e-class analysis techniques.

链接与引用

DOI 原文 · arXiv · PDF(开放获取) · DBLP

BibTeX
@article{ArboreCW26,
  title = {Optimism in Equality Saturation},
  author = {Russel Arbore and Alvin Cheung and Max Willsey},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {10},
  number = {PLDI},
  year = {2026},
  doi = {10.1145/3808302}
}