Publication Details

SkipFlow: Improving the Precision of Points-to Analysis using Primitive Values and Predicate Edges

KOZÁK David, STANCU Codrut, VOJNAR Tomáš and WIMMER Christian. SkipFlow: Improving the Precision of Points-to Analysis using Primitive Values and Predicate Edges. In: Proceedings of the 23rd ACM/IEEE International Symposium on Code Generation and Optimization. New York: Association for Computing Machinery, 2025, pp. 347-361. ISBN 979-8-4007-1275-3. Available from: https://dl.acm.org/doi/10.1145/3696443.3708932
Czech title
SkipFlow: Zlepšení přesnosti analýzy bodů pomocí primitivních hodnot a predikátových hran
Type
conference paper
Language
english
Authors
Kozák David, Ing. (DITS FIT BUT)
Stancu Codrut (Oracle)
Vojnar Tomáš, prof. Ing., Ph.D. (DITS FIT BUT)
Wimmer Christian (Oracle)
URL
Keywords

points-to analysis, static analysis, pointer analysis, compiler, optimization

Abstract

A typical points-to analysis such as Andersen's or Steensgaard's may lose precision because it ignores the branching structure of the analyzed program. Moreover, points-to analysis typically focuses on objects only, not considering instructions manipulating primitive values. We argue that such an approach leads to an unnecessary precision loss, for example, when primitive constants true and false flow out of method calls. We propose a novel lightweight points-to analysis called SkipFlow that interprocedurally tracks the flow of both primitives and objects, and explicitly captures the branching structure of the code using predicate edges. At the same time, however, SkipFlow is as lightweight and scalable as possible, unlike a traditional flow-sensitive analysis. We apply SkipFlow to GraalVM Native Image, a closed-world solution to building standalone binaries for Java applications. We evaluate the implementation using a set of microservice applications as well as well-known benchmark suites. We show that SkipFlow reduces the size of the application in terms of reachable methods by 9% on average without significantly increasing the analysis time.

Published
2025
Pages
347-361
Proceedings
Proceedings of the 23rd ACM/IEEE International Symposium on Code Generation and Optimization
Conference
International Symposium on Code Generation and Optimization -- CGO'25, Las Vegas, Nevada, US
ISBN
979-8-4007-1275-3
Publisher
Association for Computing Machinery
Place
New York, US
DOI
EID Scopus
BibTeX
@INPROCEEDINGS{FITPUB13202,
   author = "David Koz\'{a}k and Codrut Stancu and Tom\'{a}\v{s} Vojnar and Christian Wimmer",
   title = "SkipFlow: Improving the Precision of Points-to Analysis using Primitive Values and Predicate Edges",
   pages = "347--361",
   booktitle = "Proceedings of the 23rd ACM/IEEE International Symposium on Code Generation and Optimization",
   year = 2025,
   location = "New York, US",
   publisher = "Association for Computing Machinery",
   ISBN = "979-8-4007-1275-3",
   doi = "10.1145/3696443.3708932",
   language = "english",
   url = "https://www.fit.vut.cz/research/publication/13202"
}
Back to top