Two Approaches to Fast Bytecode Frontend for Static Analysis
summary
A new Java bytecode frontend implemented in Tai-e translates stack bytecode into SSA-capable 3-address IR using pattern-aware 3-address code translation to handle simple versus back-edge patterns and a pruning-based type inference that avoids redundant constraint work. Evaluation on diverse Java apps shows the frontend is on average 14.2×, 14.5×, and 75.2× faster than Soot, WALA, and SootUp respectively, processes more bytecode reliably, and ships reproducible artifacts.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 1:25Need for new bytecode frontend
- 2:31Three-address code challenges
- 4:42Pattern-aware translation
- 6:50Type inference in untyped bytecode
- 9:37Optimizing type inference
- 10:43Performance evaluation
- 11:25Tire framework reliability
- 12:06Q&A
related talks
35mJava Source to Byte Code Transformation - The Hidden Story!
42mAn Opinionated Overview on Static Analysis for Java
39mBytecode Pattern Matching
41mUsing Byte Code Analysis to Modernize Your Java EE Applications
36mThe art of static code analysis
53mWell there's your problem! Your engine's missing! A look under Java's hood
01h 09mFrom Bytecode to Native Code in HotSpot JVM
45mMaking Java more dynamic
