Detail publikace

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

KOZÁK David, STANCU Codrut, VOJNAR Tomáš a 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, s. 347-361. ISBN 979-8-4007-1275-3. Dostupné z: https://dl.acm.org/doi/10.1145/3696443.3708932
Název česky
SkipFlow: Zlepšení přesnosti analýzy bodů pomocí primitivních hodnot a predikátových hran
Typ
článek ve sborníku konference
Jazyk
angličtina
Autoři
Kozák David, Ing. (UITS FIT VUT)
Stancu Codrut (Oracle)
Vojnar Tomáš, prof. Ing., Ph.D. (UITS FIT VUT)
Wimmer Christian (Oracle)
URL
Klíčová slova

points-to analýza, statická analýza, analýza ukazatelů, překladač, optimalizace

Abstrakt

Typická points-to analýza, jako je Andersenova nebo Steensgaardova, může ztrácet na přesnosti, protože ignoruje strukturu větvení analyzovaného programu. Kromě toho se analýza points-to typicky zaměřuje pouze na objekty a nebere v úvahu instrukce manipulující s primitivními hodnotami. Tvrdíme, že takový přístup vede ke zbytečné ztrátě přesnosti, například když se z volání metod vracejí primitivní konstanty true a false. Navrhujeme novou rychlou points-to analýzu nazvanou SkipFlow, která interprocedurálně sleduje tok primitivních hodnot i objektů a explicitně zachycuje strukturu větvení kódu pomocí predikátových hran. Zároveň je však SkipFlow na rozdíl od tradiční analýzy citlivé na tok rychlý a lépe škálovatelný. SkipFlow aplikujeme na GraalVM Native Image, uzavřené řešení pro sestavování samostatných binárních souborů pro aplikace v jazyce Java. Implementaci vyhodnocujeme pomocí sady aplikací mikroslužeb i známých sad benchmarků. Ukazujeme, že SkipFlow snižuje velikost aplikace z hlediska dosažitelných metod v průměru o 9 %, aniž by se výrazně prodloužila doba analýzy.

Rok
2025
Strany
347-361
Sborník
Proceedings of the 23rd ACM/IEEE International Symposium on Code Generation and Optimization
Konference
International Symposium on Code Generation and Optimization -- CGO'25, Las Vegas, Nevada, US
ISBN
979-8-4007-1275-3
Vydavatel
Association for Computing Machinery
Místo
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"
}
Nahoru