Tue 16 Jun 2026 11:20 - 11:40 at Flatirons 4 - SOAP 1 Chair(s): Jie Zhou

The Java Stream API, introduced in Java 8, makes data processing more expressive and concise compared to imperative loops. However, this abstraction can come with significant performance overhead, often due to the creation of multiple intermediate objects during pipeline execution. In functional languages such as Haskell, this problem is addressed through stream fusion, a compile-time optimization that eliminates unnecessary intermediate structures. Inspired by this idea, Streamliner was the first tool to perform ahead-of-time, bytecode-to-bytecode stream optimization for Java by unrolling stream pipelines into imperative loops. In this paper, we introduce an open-source optimizer that takes a different approach. Instead of unrolling streams into loops, it merges consecutive map() and filter() operations into a single mapMulti() call, available since Java 16. Our method avoids several limitations of Streamliner, including its sensitivity to escaping objects in lambda expressions and its restrictions on assigning or passing streams as variables. We evaluated our optimizer on nine benchmarks and observed superior performance in two cases and comparable results in most others. We also applied it to the bytecode of Apache Kafka, successfully executing all 31,799 unit tests without failures.

Tue 16 Jun

Displayed time zone: Mountain Time (US & Canada) change

10:40 - 12:00
SOAP 1SOAP at Flatirons 4
Chair(s): Jie Zhou The George Washington University
10:40
20m
Talk
Exploring Locally Bounded Translation Validation
SOAP
Alborz Jelvani Rutgers University, Richard P. Martin Rutgers University, Santosh Nagarakatte Rutgers University
11:00
20m
Talk
Ravencheck: Effectively-Propositional Reasoning for Rust
SOAP
Kunha Kim University of Colorado Boulder, Nicholas V. Lewchenko University of Colorado Boulder, Bor-Yuh Evan Chang University of Colorado Boulder & Amazon, Gowtham Kaki University of Colorado at Boulder
11:20
20m
Talk
Compile-Time Java Stream Fusion via mapMultiRECORDED
SOAP
11:40
20m
Talk
Conditional Execution of Transpiler Passes Based on Per-Script Feature Detection
SOAP