Homomorphism Calculus for User-Defined Aggregations
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.
Authors
- Işıl Dillig (ORCID: https://orcid.org/0000-0001-8006-1230)
- Linus Zheng (ORCID: https://orcid.org/0009-0005-9832-4066)
- Ziteng Wang (ORCID: https://orcid.org/0009-0001-8487-8093)
- Dixin Tang (ORCID: https://orcid.org/0000-0002-3316-6651)
- Ruijie Fang (ORCID: https://orcid.org/0000-0001-5348-5468)
Institutions
- The University of Texas at Austin (US)
Publication Details
- Journal
- Proceedings of the ACM on Programming Languages
- Published
- 2025-10-09
- DOI
- https://doi.org/10.1145/3763072
- Primary Topic
- Data Management and Algorithms
- Type
- article
- Field-Weighted Citation Impact
- 0.00