paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Homomorphism Calculus for User-Defined Aggregations

用户自定义聚合的同态演算
OOPSLA 9(OOPSLA2)2025匹配度 3/10 · 该论文属于程序验证与合成领域,讨论用户自定义聚合函数的同态性验证与合并算子构造,但其应用场景是数据处理框架的增量/并行计算优化,与用户核心关注的 LLM/Agent 与静态分析/形式化验证交叉、浮点程序分析或贝叶斯程序分析无直接关联。引用 0 inbox
Ziteng Wang, Ruijie Fang, Linus Zheng, Dixin Tang, Işıl Dillig
crossref: 2026-09-10

AI 速览

一句话:提出同态演算,可验证或反驳 UDAF 是否为 dataframe 同态,并构造合并算子以支持增量与并行计算。

Apache Spark、Flink 等数据处理框架支持用户自定义聚合函数(UDAF),但高效执行要求函数满足同态性质,使独立计算的部分结果可正确合并。本文提出一种新的同态演算,用于验证或反驳 UDAF 是否为 dataframe 同态;当判定为同态时,还能构造对应的 merge 算子,以服务增量计算和并行执行。作者基于该演算实现算法,并在真实世界的 UDAF 上评估,结果表明其性能显著优于两个领先的合成器。

问题
数据处理框架需要 UDAF 满足同态性质才能安全合并部分结果,但该性质难以自动判定。
方法
提出同态演算,可验证或反驳 UDAF 的 dataframe 同态性,并在成立时构造对应 merge 算子;实现相应算法。
评估
在真实世界 UDAF 上评估,并与两个领先合成器比较,性能显著更优。
原文摘要(Abstract)

Data processing frameworks like Apache Spark and Flink provide built-in support for user-defined aggregation functions (UDAFs), enabling the integration of domain-specific logic. However, for these frameworks to support efficient UDAF execution, the function needs to satisfy a homomorphism property, which ensures that partial results from independent computations can be merged correctly Motivated by this problem, this paper introduces a novel homomorphism calculus that can both verify and refute whether a UDAF is a dataframe homomorphism. If so, our calculus also enables the construction of a corresponding merge operator which can be used for incremental computation and parallel execution. We have implemented an algorithm based on our proposed calculus and evaluate it on real-world UDAFs, demonstrating that our approach significantly outperforms two leading synthesizers.

链接与引用

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

BibTeX
@article{paperbot2935,
  title = {Homomorphism Calculus for User-Defined Aggregations},
  author = {Ziteng Wang and Ruijie Fang and Linus Zheng and Dixin Tang and Işıl Dillig},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {OOPSLA2},
  year = {2025},
  doi = {10.1145/3763072}
}