DiffStream: Differential Output Testing for Stream Processing Programs
Fri 20 Nov 2020 19:00 - 19:20 at SPLASH-I - F-1A Chair(s): Tongping Liu, Azalea Raad
High performance architectures for processing distributed data
streams, such as Flink, Spark Streaming, and Storm, are increasingly deployed in
emerging data-driven computing systems. Exploiting the parallelism
afforded by such platforms, while preserving the semantics of the
desired computation, is prone to errors, and motivates the development
of tools for specification, testing, and verification. We focus on the
problem of differential output testing for distributed stream processing
systems, that is, checking whether two implementations produce
equivalent output streams in response to a given input stream. The
notion of equivalence allows reordering of logically independent data
items, and the main technical contribution of the paper is an optimal
online algorithm for checking this equivalence. Our testing framework
is implemented as a library called DiffStream in Flink.
We present four case studies to illustrate how our framework can be
used to (1) correctly identify bugs in a set of benchmark MapReduce programs,
(2) facilitate the development of
difficult-to-parallelize high performance applications, and (3)
monitor an application for a long period of time with minimal performance overhead.
Fri 20 NovDisplayed time zone: Central Time (US & Canada) change
07:00 - 08:20 | F-1AOOPSLA at SPLASH-I +12h Chair(s): Diomidis Spinellis Athens University of Economics and Business, John Wickerson Imperial College London | ||
07:00 20mTalk | DiffStream: Differential Output Testing for Stream Processing Programs OOPSLA Konstantinos Kallas University of Pennsylvania, Filip Niksic Google, Caleb Stanford University of Pennsylvania, Rajeev Alur University of Pennsylvania Link to publication DOI Media Attached | ||
07:20 20mTalk | Pomsets with Preconditions: A Simple Model of Relaxed Memory OOPSLA Link to publication DOI Pre-print Media Attached | ||
07:40 20mTalk | StreamQL: A Query Language for Processing Streaming Time Series OOPSLA Link to publication DOI Media Attached | ||
08:00 20mTalk | Foundations of Empirical Memory Consistency Testing OOPSLA Jake Kirkham Princeton University, Tyler Sorensen University of California at Santa Cruz, Esin Tureci Princeton University, Margaret Martonosi Princeton University Link to publication DOI Media Attached |
19:00 - 20:20 | F-1AOOPSLA at SPLASH-I Chair(s): Tongping Liu University of Massachusetts at Amherst, Azalea Raad Imperial College London | ||
19:00 20mTalk | DiffStream: Differential Output Testing for Stream Processing Programs OOPSLA Konstantinos Kallas University of Pennsylvania, Filip Niksic Google, Caleb Stanford University of Pennsylvania, Rajeev Alur University of Pennsylvania Link to publication DOI Media Attached | ||
19:20 20mTalk | Pomsets with Preconditions: A Simple Model of Relaxed Memory OOPSLA Link to publication DOI Pre-print Media Attached | ||
19:40 20mTalk | StreamQL: A Query Language for Processing Streaming Time Series OOPSLA Link to publication DOI Media Attached | ||
20:00 20mTalk | Foundations of Empirical Memory Consistency Testing OOPSLA Jake Kirkham Princeton University, Tyler Sorensen University of California at Santa Cruz, Esin Tureci Princeton University, Margaret Martonosi Princeton University Link to publication DOI Media Attached |