English

Homomorphism Calculus for User-Defined Aggregations

Programming Languages 2025-08-22 v1

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 \emph{efficient} UDAF execution, the function needs to satisfy a \emph{homomorphism property}, which ensures that partial results from independent computations can be merged correctly. Motivated by this problem, this paper introduces a novel \emph{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.

Keywords

Cite

@article{arxiv.2508.15109,
  title  = {Homomorphism Calculus for User-Defined Aggregations},
  author = {Ziteng Wang and Ruijie Fang and Linus Zheng and Dixin Tang and Isil Dillig},
  journal= {arXiv preprint arXiv:2508.15109},
  year   = {2025}
}
R2 v1 2026-07-01T04:59:12.932Z