GraalVM Native Image: Large-scale static analysis for Java

GraalVM Native Image: Large-scale static analysis for Java

Christian Wimmer

19 October 2021

GraalVM Native Image combines static analysis, heap snapshotting, and ahead-of-time compilation to produce a highly optimized standalone executable for a Java application. In this talk, we first introduce the overall architecture of GraalVM Native Image: instead of “just” compiling Java bytecode ahead of time, it also initializes part of the application at build time. This reduces the startup time and memory footprint of the application at run time. In the second part of the talk, we dive into details of the points-to analysis. We show which of our original research ideas worked or did not work when analyzing large production applications; and we show the benefits of tightly integrating the static analysis with the ahead-of-time compiler.


Venue : Keynote at VMIL workshop of SPLASH conference

File Name : 2021-10-19 VMIL Native Image.pdf