Publication detail

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

KOZÁK, D. JOVANOVIC, V. STANCU, C. VOJNAR, T. WIMMER, C.

Original Title

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

Type

conference paper

Language

English

Original 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

compiler, ahead-of-time compilation, static analysis, optimization, Java, GraalVM

Authors

KOZÁK, D.; JOVANOVIC, V.; STANCU, C.; VOJNAR, T.; WIMMER, C.

Released

19. 10. 2023

Publisher

Association for Computing Machinery

Location

New York

ISBN

979-8-4007-0380-5

Book

Proceedings of the 20th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes

Pages from

129

Pages to

142

Pages count

14

BibTex

@inproceedings{BUT187601,
  author="KOZÁK, D. and JOVANOVIC, V. and STANCU, C. and VOJNAR, T. and WIMMER, C.",
  title="Comparing Rapid Type Analysis with Points-To Analysis in GraalVM Native Image",
  booktitle="Proceedings of the 20th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes",
  year="2023",
  pages="129--142",
  publisher="Association for Computing Machinery",
  address="New York",
  doi="10.1145/3617651.3622980",
  isbn="979-8-4007-0380-5"
}