Detail publikace

Scaling Type-Based Points-to Analysis with Saturation

KOZÁK David, STANCU Codrut, WIMMER Christian a WÜRTHINGER Thomas. Scaling Type-Based Points-to Analysis with Saturation. In: Proceedings of the ACM on Programming Languages. New York, 2024, s. 990-1013.
Název česky
Škálování points-to analýzy založené na typech s využitím saturace
Typ
článek ve sborníku konference
Jazyk
angličtina
Autoři
Kozák David, Ing. (UITS FIT VUT)
Stancu Codrut (Oracle)
Wimmer Christian (Oracle)
Würthinger Thomas (Oracle)
Klíčová slova

points-to analýza, statická analýza, ukazatelová analýza, Java, GraalVM

Abstrakt

Návrh celoprogramové statické analýzy vyžaduje kompromis mezi přesností a škálovatelností. Kontextově necitlivá points-to analýza je sice často považována za dobrý kompromis, ale stále se vyznačuje nelineární složitostí, která při analýze velkých aplikací vede k problémům se škálovatelností. Na druhé straně rychlá typová analýza se dobře škáluje, ale chybí jí přesnost. V kontextově necitlivé analýze používáme saturaci, aby byla stejně škálovatelná jako rychlá analýza typu a zároveň si zachovala většinu přesnosti points-to analýzy. Se saturací propaguje points-to analýza pro proměnné pouze malé množiny. Pokud může mít proměnná více hodnot, než je určitá prahová hodnota, je proměnná a všechna její použití považována za saturovanou a dále se neanalyzuje.

Naše implementace v analýze points-to v GraalVM Native Image, což je uzavřený přístup k sestavování samostatných binárních souborů pro aplikace Java, ukazuje, že saturace umožňuje GraalVM Native Image analyzovat velké aplikace se stovkami tisíc metod za méně než dvě minuty.

Rok
2024
Strany
990-1013
Sborník
Proceedings of the ACM on Programming Languages
Konference
ACM SIGPLAN Conference on Programming Language Design and Implementation -- PLDI'24, Copenhagen, DK
Místo
New York, US
DOI
EID Scopus
BibTeX
@INPROCEEDINGS{FITPUB13203,
   author = "David Koz\'{a}k and Codrut Stancu and Christian Wimmer and Thomas W{\"{u}}rthinger",
   title = "Scaling Type-Based Points-to Analysis with Saturation",
   pages = "990--1013",
   booktitle = "Proceedings of the ACM on Programming Languages",
   year = 2024,
   location = "New York, US",
   doi = "10.1145/3656417",
   language = "english",
   url = "https://www.fit.vut.cz/research/publication/13203"
}
Nahoru