Search papers, labs, and topics across Lattice.
This paper introduces DiscPBT, a property-based testing engine specifically designed for Apache Spark, which addresses the limitations of traditional fuzzing by focusing on semantic invariants rather than expected outputs. By implementing eight reusable meta-properties for testing data-intensive scalable computing (DISC) systems, DiscPBT enhances the testing process with effective workload generation and property instantiation. The evaluation shows that DiscPBT significantly outperforms CometFuzz, achieving 1.2脳 higher branch coverage and revealing critical semantic issues that traditional methods miss.
DiscPBT uncovers semantic drifts and corner-case pitfalls in data-intensive computing systems that traditional fuzzing fails to detect.
While fuzzing effectively catches crashes, its shallow oracles often miss semantic drifts and optimization-related errors in data-intensive scalable computing (DISC) frameworks. Property-based testing (PBT) addresses this limitation by checking general semantic invariants across diverse workloads and inputs, rather than relying on specific expected outputs. However, systematically operationalizing PBT for DISC systems remains difficult because it requires both reusable property definitions and effective instantiation into valid workloads and data. We present DiscPBT, a property-based testing engine for Apache Spark. DiscPBT introduces eight reusable meta-properties for DISC semantic testing, spanning equivalence rewriting, data decomposition, computation decomposition, and operator-local semantic relations. To operationalize these meta-properties, DiscPBT provides reusable generators for synthesizing valid workload skeletons and input data, together with an instantiation framework that realizes each meta-property in schema-compatible contexts through compatible operators, expressions, and UDFs. Our evaluation on PySpark shows that DiscPBT achieves 1.2$\times$ higher branch coverage and 1153$\times$ greater plan diversity than CometFuzz. Across 66 concrete properties, DiscPBT reveals cross-version semantic drift as well as subtle corner-case pitfalls involving NaN and empty inputs, that are not captured by crash-based fuzzing alone. These results demonstrate the value of systematic PBT for uncovering semantic issues in DISC frameworks.