Testing Computation Pushdown in Distributed Database Systems
Open Access
- 1 October 2026
- journal article
- Published by Association for Computing Machinery (ACM) in Proceedings of the ACM on Software Engineering
- Vol. 3 (ISSTA) , 7-29
Abstract
Computation pushdown is a critical technique in distributed database management systems (DBMSs), enabling certain operations to be executed closer to the data to reduce network overhead and improve performance. However, its behavior depends on multiple factors beyond the input query itself, such as data distribution and resource utilization. This makes it difficult to validate correctness using only input queries in a black-box manner. Existing testing methods that rely solely on query manipulation cannot effectively control or predict pushdown behavior, and are therefore insufficient. In this paper, we introduce Controlled Pushdown Execution (CPE), a white-box method that enables systematic validation of computation pushdown. CPE modifies the source code of DBMSs to forbid a specific pushdown operator and compares the results. Any discrepancy reveals a bug. Our study shows that CPE can control all supported operators across different systems. We applied CPE to three production-grade distributed DBMSs: CockroachDB, TiDB, and YugabyteDB. CPE found 25 previously unknown and unique bugs, 14 of which are logic bugs---incorrect results. CPE finds 3x more bugs than historical bugs and can reproduce all historical bugs. Beyond computation pushdown, the core insight of controllable execution can generalize to other contexts (e.g., transaction schedule), providing a systematic way to uncover subtle logic bugs.Keywords
This publication has 26 references indexed in Scilit:
- Testing Database Systems via Differential Query Execution2023
- Testing Database Engines via Query Plan Guidance2023
- PushdownDB: Accelerating a DBMS Using S3 Computation2020
- IEEE Standard for Floating-Point Arithmetic2019
- Metamorphic TestingACM Computing Surveys, 2018
- Why is random testing effective for partition tolerance bugs?Proceedings of the ACM on Programming Languages, 2017
- Intel "big data" science and technology center vision and execution planACM SIGMOD Record, 2013
- TPC Benchmark Roadmap 2012Lecture Notes in Computer Science, 2013
- Test-case reduction for C compiler bugs2012
- An Analysis and Survey of the Development of Mutation TestingIEEE Transactions on Software Engineering, 2010