Testing Stream Programs from Pre/Post-models

Stream processing is a programming paradigm that is growing in popularity due to the presence of an increasing number of academic and commercial platforms. However, there exist few tools and methodologies to properly test a program that manipulates streams; in particular, model-based testing techniques need to be adapted to the particularities of stream processing. The paper suggests that pre/post models on stream programs be specified in the form of runtime monitors, themselves implemented as stream programs. It also describes how test inputs satisfying a given precondition can be generated automatically, through a mechanism that inverts the operation of a stream processing pipeline. A proof-of-concept library implements these concepts for the specific case of the BeepBeep event stream processing library, and is evaluated experimentally. The approach can successfully find satisfying input cases for pre-conditions involving non-trivial constructs such as sliding windows, aggregations and filtering.

Authors

Institutions

Publication Details

Journal
SN Computer Science
Published
2025-04-05
DOI
https://doi.org/10.1007/s42979-025-03824-6
Primary Topic
Formal Methods in Verification
Type
article
Field-Weighted Citation Impact
0.00

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Testing Stream Programs from Pre/Post-models

Sylvain Hallé
SN Computer Science
Formal Methods in Verification
article

Testing Stream Programs from Pre/Post-models

Sylvain Hallé
article en

Abstract

Stream processing is a programming paradigm that is growing in popularity due to the presence of an increasing number of academic and commercial platforms. However, there exist few tools and methodologies to properly test a program that manipulates streams; in particular, model-based testing techniques need to be adapted to the particularities of stream processing. The paper suggests that pre/post models on stream programs be specified in the form of runtime monitors, themselves implemented as stream programs. It also describes how test inputs satisfying a given precondition can be generated automatically, through a mechanism that inverts the operation of a stream processing pipeline. A proof-of-concept library implements these concepts for the specific case of the BeepBeep event stream processing library, and is evaluated experimentally. The approach can successfully find satisfying input cases for pre-conditions involving non-trivial constructs such as sliding windows, aggregations and filtering.

SN Computer ScienceVol. 6(4)
Université du Québec à Chicoutimi (CA)
Canada Excellence Research Chairs, Government of Canada
Openalex Percentile: Top 92%
Formal Methods in Verification
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.