English

Comparing Rapid Type Analysis with Points-To Analysis in GraalVM Native Image

Programming Languages 2023-09-01 v1

Abstract

Whole-program analysis is an essential technique that enables advanced compiler optimizations. An important example of such a method is points-to analysis used by ahead-of-time (AOT) compilers to discover program elements (classes, methods, fields) used on at least one program path. GraalVM Native Image uses a points-to analysis to optimize Java applications, which is a time-consuming step of the build. We explore how much the analysis time can be improved by replacing the points-to analysis with a rapid type analysis (RTA), which computes reachable elements faster by allowing more imprecision. We propose several extensions of previous approaches to RTA: making it parallel, incremental, and supporting heap snapshotting. We present an extensive experimental evaluation of the effects of using RTA instead of points-to analysis, in which RTA allowed us to reduce the analysis time for Spring Petclinic, a popular demo application of the Spring framework, by 64% and the overall build time by 35% at the cost of increasing the image size due to the imprecision by 15%.

Keywords

Cite

@article{arxiv.2308.16566,
  title  = {Comparing Rapid Type Analysis with Points-To Analysis in GraalVM Native Image},
  author = {David Kozák and Vojin Jovanovic and Codruţ Stancu and Tomáš Vojnar and Christian Wimmer},
  journal= {arXiv preprint arXiv:2308.16566},
  year   = {2023}
}
R2 v1 2026-06-28T12:09:09.062Z