SPLASH 2026
Sun 4 - Fri 9 October 2026 Oakland, California, United States
co-located with SPLASH/ISSTA 2026

This program is tentative and subject to change.

Tue 6 Oct 2026 14:24 - 14:42 at East Hall 1 - Dynamic Language Compilers and VMs Chair(s): Jonathan Bell

Strings are the primary mechanism through which Java applications ingest external textual data, including data read from files, databases, network interfaces, and native libraries. In data-intensive applications, such data must either be materialized as heap-allocated java.lang.String objects, incurring allocation, copying, encoding, and garbage-collection costs, or accessed through low-level and unsafe foreign-memory mechanisms that require non-standard string APIs and explicit reasoning about memory management and object lifetimes. Neither option is well suited to high-volume ingestion workloads that require both efficiency and seamless integration with existing Java code. We present TwinString, an alternative representation of java.lang.String that decouples string semantics from the physical placement of its contents. A TwinString stores its data outside the regular Java heap while preserving the standard String type and behavior expected by Java programs and libraries. VM support controls this data and manages its lifetime with garbage collection, allowing foreign textual data to be exposed as ordinary strings without introducing additional custom string types. We implement TwinStrings in GraalVM Native Image and evaluate them across several workloads, including microbenchmarks, text-processing applications over real-world datasets, and data-heavy applications using JDBC and SQLite. The results show that TwinStrings significantly reduce allocation overhead while remaining compatible with the original String API, and reduce P99.9 tail latency by up to 42.2% in realistic library and JDBC workloads by alleviating heap allocation and garbage-collection pressure.

This program is tentative and subject to change.

Tue 6 Oct

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

13:30 - 15:00
Dynamic Language Compilers and VMsOOPSLA at East Hall 1
Chair(s): Jonathan Bell Northeastern University
13:30
18m
Talk
Understanding and Finding JIT Compiler Performance Bugs
OOPSLA
Zijian Yi University of Texas at Austin, Cheng Ding University of Texas at Austin, August Shi University of Texas at Austin, Milos Gligoric University of Texas at Austin
DOI
13:48
18m
Talk
IRIDIUM: A Framework for Statically Optimizing JavaScript Programs
OOPSLA
Meetesh Kalpesh Mehta IIT Bombay, Anirudh Garg IIT Bombay, Aneeket Yadav IIT Delhi, Manas Thakur IIT Bombay
DOI
14:06
18m
Talk
Pyriscope: Precise and Low-Overhead Python Control Flow Tracing via Sparse Hardware-Based Events
OOPSLA
Xinchen Yao Nanjing University, Wu Daiyou Nanjing University, Zhiqiang Zuo Nanjing University
DOI
14:24
18m
Talk
TwinString: Preserving String Semantics with Off-Heap Data on the JVM
OOPSLA
Júnior Löff USI Lugano, Daniele Bonetta VU Amsterdam, Walter Binder USI Lugano
DOI
14:42
18m
Talk
Experimental Evaluation Methodology for the Era of No Steady Performance
OOPSLA
Jaromír Antoch Charles University, Walter Binder USI Lugano, Lubomír Bulej Charles University, François Farquet Oracle Labs, Vojtech Horky Charles University, Aleksandar Prokopec Oracle Labs, Andrea Rosà USI Lugano, Petr Tuma Charles University
DOI
Hide past events