Scaling Type-Based Points-to Analysis with Saturation

dc.contributor.authorWimmer, Christiancs
dc.contributor.authorStancu, Condrutcs
dc.contributor.authorKozák, Davidcs
dc.contributor.authorWuerthinger, Thomascs
dc.coverage.issuePLDIcs
dc.coverage.volume8cs
dc.date.issued2024-04-24cs
dc.description.abstractDesigning a whole-program static analysis requires trade-offs between precision and scalability. While a context-insensitive points-to analysis is often considered a good compromise, it still has non-linear complexity that leads to scalability problems when analyzing large applications. On the other hand, rapid type analysis scales well but lacks precision. We use saturation in a context-insensitive type-based points-to analysis to make it as scalable as a rapid type analysis, while preserving most of the precision of the points-to analysis. With saturation, the points-to analysis only propagates small points-to sets for variables. If a variable can have more values than a certain threshold, the variable and all its usages are considered saturated and no longer analyzed.<br><br>Our implementation in the points-to analysis of GraalVM Native Image, a closed-world approach to build standalone binaries for Java applications, shows that saturation allows GraalVM Native Image to analyze large Java applications with hundreds of thousands of methods in less than two minutes.en
dc.description.abstractDesigning a whole-program static analysis requires trade-offs between precision and scalability. While a context-insensitive points-to analysis is often considered a good compromise, it still has non-linear complexity that leads to scalability problems when analyzing large applications. On the other hand, rapid type analysis scales well but lacks precision. We use saturation in a context-insensitive type-based points-to analysis to make it as scalable as a rapid type analysis, while preserving most of the precision of the points-to analysis. With saturation, the points-to analysis only propagates small points-to sets for variables. If a variable can have more values than a certain threshold, the variable and all its usages are considered saturated and no longer analyzed.<br><br>Our implementation in the points-to analysis of GraalVM Native Image, a closed-world approach to build standalone binaries for Java applications, shows that saturation allows GraalVM Native Image to analyze large Java applications with hundreds of thousands of methods in less than two minutes.en
dc.formattextcs
dc.format.extent990-1013cs
dc.format.mimetypeapplication/pdfcs
dc.identifier.citationProceedings of the ACM on Programming Languages-PACMPL. 2024, vol. 8, issue PLDI, p. 990-1013.en
dc.identifier.doi10.1145/3656417cs
dc.identifier.issn2475-1421cs
dc.identifier.orcid0000-0002-8846-922Xcs
dc.identifier.other189291cs
dc.identifier.scopus58629134000cs
dc.identifier.urihttp://hdl.handle.net/11012/252836
dc.language.isoencs
dc.publisherACMcs
dc.relation.ispartofProceedings of the ACM on Programming Languages-PACMPLcs
dc.relation.urihttps://dl.acm.org/doi/pdf/10.1145/3656417cs
dc.rightsCreative Commons Attribution 4.0 Internationalcs
dc.rights.accessopenAccesscs
dc.rights.sherpahttp://www.sherpa.ac.uk/romeo/issn/2475-1421/cs
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/cs
dc.subjectpoints-to analysisen
dc.subjectstatic analysisen
dc.subjectpointer analysisen
dc.subjectJavaen
dc.subjectGraalVMen
dc.subjectpoints-to analysis
dc.subjectstatic analysis
dc.subjectpointer analysis
dc.subjectJava
dc.subjectGraalVM
dc.titleScaling Type-Based Points-to Analysis with Saturationen
dc.title.alternativeScaling Type-Based Points-to Analysis with Saturationen
dc.type.driverarticleen
dc.type.statusPeer-revieweden
dc.type.versionpublishedVersionen
eprints.grantNumberinfo:eu-repo/grantAgreement/GA0/GA/GA23-06506Scs
sync.item.dbidVAV-189291en
sync.item.dbtypeVAVen
sync.item.insts2025.10.14 14:13:18en
sync.item.modts2025.10.14 10:44:35en
thesis.grantorVysoké učení technické v Brně. Fakulta informačních technologií. Ústav inteligentních systémůcs

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
3656417.pdf
Size:
400 KB
Format:
Adobe Portable Document Format
Description:
file 3656417.pdf