Publication Details
Comparing Rapid Type Analysis with Points-To Analysis in GraalVM Native Image
Kozák David, Ing. (DITS FIT BUT)
Stancu Codrut (Oracle)
Vojnar Tomáš, prof. Ing., Ph.D. (DITS FIT BUT)
Wimmer Christian (Oracle)
compiler, ahead-of-time compilation, static analysis, optimization, Java, GraalVM
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%.
@INPROCEEDINGS{FITPUB13102, author = "Vojin Jovanovic and David Koz\'{a}k and Codrut Stancu and Tom\'{a}\v{s} Vojnar and Christian Wimmer", title = "Comparing Rapid Type Analysis with Points-To Analysis in GraalVM Native Image", pages = "129--142", booktitle = "Proceedings of the 20th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes", year = 2023, location = "New York, US", publisher = "Association for Computing Machinery", ISBN = "979-8-4007-0380-5", doi = "10.1145/3617651.3622980", language = "english", url = "https://www.fit.vut.cz/research/publication/13102" }