SPLASH 2026
Sun 4 - Fri 9 October 2026 Oakland, California, United States
co-located with SPLASH/ISSTA 2026
Tue 6 Oct 2026 13:30 - 13:48 at East Hall 1 - Dynamic Language Compilers and VMs Chair(s): Jonathan Bell

Just-in-time (JIT) compilers are key components for many popular
programming languages with managed runtimes (e.g., Java and
JavaScript). JIT compilers perform optimizations and generate native
code at runtime based on dynamic profiling data, to improve the
execution performance of the running application. Like other software
systems, JIT compilers might have software bugs, and prior work has
developed a number of automated techniques for detecting functional
bugs (i.e., generated native code does not semantically match that of
the original code). However, no prior work has targeted JIT compiler
performance bugs, which can cause significant performance degradation
while an application is running. These performance bugs are
challenging to detect due to the complexity and dynamic nature of JIT
compilers. In this paper, we present the first work on demystifying
JIT performance bugs. First, we perform an empirical study across four
popular JIT compilers for Java and JavaScript. Our manual analysis of
191 bug reports uncovers common triggers of performance bugs, patterns
in which these bugs manifest, and their root causes. Second, informed
by these insights, we propose layered differential performance
testing, a lightweight technique to automatically detect JIT compiler
performance bugs, and implement it in a tool called Jittery. We
incorporate practical optimizations into Jittery such as test
prioritization, which reduces testing time by 92.40% without
compromising bug-detection capability, and automatic filtering of
false-positives and duplicates, which substantially reduces manual
inspection effort. Using Jittery, we discovered 12 previously unknown
performance bugs in the Oracle HotSpot and Graal JIT compilers, with
11 confirmed and 6 fixed by developers.

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