Detail publikace

Scaling Type-Based Points-to Analysis with Saturation

KOZÁK, D.; STANCU, C.; WIMMER, C.; WÜRTHINGER, T. Scaling Type-Based Points-to Analysis with Saturation. In Proceedings of the ACM on Programming Languages. Proceedings of the ACM on Programming Languages. New York: 2024. p. 990-1013. ISSN: 2475-1421.
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
anglicky
Autoři
Kozák David, Ing. (UITS)
STANCU, C.
WIMMER, C.
WÜRTHINGER, T.
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
Časopis
Proceedings of the ACM on Programming Languages, roč. 8, ISSN 2475-1421
Sborník
Proceedings of the ACM on Programming Languages
Místo
New York
DOI
EID Scopus
BibTeX
@inproceedings{BUT189291,
  author="KOZÁK, D. and STANCU, C. and WIMMER, C. and WÜRTHINGER, T.",
  title="Scaling Type-Based Points-to Analysis with Saturation",
  booktitle="Proceedings of the ACM on Programming Languages",
  year="2024",
  journal="Proceedings of the ACM on Programming Languages",
  volume="8",
  pages="990--1013",
  address="New York",
  doi="10.1145/3656417",
  issn="2475-1421"
}
Nahoru