Achilles' SPEar: Using Metamorphic Testing to Find Bugs in Stream Processing Engines

Stream Processing Engines (SPEs) are critical for real-time data processing, relying on aggressive optimizations to meet performance demands. Ensuring the reliability of such systems requires robust testing, yet testing remains costly and challenging due to the oracle problem. This paper investigates adapting query partitioning, a metamorphic testing technique, to the domain of SPEs. We present Achilles, an automated testing framework for SPEs. Achilles utilizes query partitioning to automatically generate, execute, and evaluate diverse test cases, reducing manual effort and targeting stream operators like filters and windowed aggregations. Our evaluation highlights Achilles' ability to detect unique bugs, including division-by-zero errors and predicate evaluation flaws. We further analyze framework parameters and demonstrate the effectiveness of predicate-based query partitioning, finding that increasing predicate depth boosts bug detection by 10%.

Publication Details

Journal
Gesellschaft für Informatik (GI)
Published
2025-01-01
DOI
https://doi.org/10.18420/btw2025-68
Primary Topic
Software Testing and Debugging Techniques
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Achilles' SPEar: Using Metamorphic Testing to Find Bugs in Stream Processing Engines

Gesellschaft für Informatik (GI)
Software Testing and Debugging Techniques
article

Achilles' SPEar: Using Metamorphic Testing to Find Bugs in Stream Processing Engines

article en

Abstract

Stream Processing Engines (SPEs) are critical for real-time data processing, relying on aggressive optimizations to meet performance demands. Ensuring the reliability of such systems requires robust testing, yet testing remains costly and challenging due to the oracle problem. This paper investigates adapting query partitioning, a metamorphic testing technique, to the domain of SPEs. We present Achilles, an automated testing framework for SPEs. Achilles utilizes query partitioning to automatically generate, execute, and evaluate diverse test cases, reducing manual effort and targeting stream operators like filters and windowed aggregations. Our evaluation highlights Achilles' ability to detect unique bugs, including division-by-zero errors and predicate evaluation flaws. We further analyze framework parameters and demonstrate the effectiveness of predicate-based query partitioning, finding that increasing predicate depth boosts bug detection by 10%.

Gesellschaft für Informatik (GI)
Openalex Percentile: Top 58%
Software Testing and Debugging Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.