Scaling Type-Based Points-to Analysis with Saturation
| dc.contributor.author | Wimmer, Christian | cs |
| dc.contributor.author | Stancu, Condrut | cs |
| dc.contributor.author | Kozák, David | cs |
| dc.contributor.author | Wuerthinger, Thomas | cs |
| dc.coverage.issue | PLDI | cs |
| dc.coverage.volume | 8 | cs |
| dc.date.issued | 2024-04-24 | cs |
| dc.description.abstract | Designing 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.abstract | Designing 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.format | text | cs |
| dc.format.extent | 990-1013 | cs |
| dc.format.mimetype | application/pdf | cs |
| dc.identifier.citation | Proceedings of the ACM on Programming Languages-PACMPL. 2024, vol. 8, issue PLDI, p. 990-1013. | en |
| dc.identifier.doi | 10.1145/3656417 | cs |
| dc.identifier.issn | 2475-1421 | cs |
| dc.identifier.orcid | 0000-0002-8846-922X | cs |
| dc.identifier.other | 189291 | cs |
| dc.identifier.scopus | 58629134000 | cs |
| dc.identifier.uri | http://hdl.handle.net/11012/252836 | |
| dc.language.iso | en | cs |
| dc.publisher | ACM | cs |
| dc.relation.ispartof | Proceedings of the ACM on Programming Languages-PACMPL | cs |
| dc.relation.uri | https://dl.acm.org/doi/pdf/10.1145/3656417 | cs |
| dc.rights | Creative Commons Attribution 4.0 International | cs |
| dc.rights.access | openAccess | cs |
| dc.rights.sherpa | http://www.sherpa.ac.uk/romeo/issn/2475-1421/ | cs |
| dc.rights.uri | http://creativecommons.org/licenses/by/4.0/ | cs |
| dc.subject | points-to analysis | en |
| dc.subject | static analysis | en |
| dc.subject | pointer analysis | en |
| dc.subject | Java | en |
| dc.subject | GraalVM | en |
| dc.subject | points-to analysis | |
| dc.subject | static analysis | |
| dc.subject | pointer analysis | |
| dc.subject | Java | |
| dc.subject | GraalVM | |
| dc.title | Scaling Type-Based Points-to Analysis with Saturation | en |
| dc.title.alternative | Scaling Type-Based Points-to Analysis with Saturation | en |
| dc.type.driver | article | en |
| dc.type.status | Peer-reviewed | en |
| dc.type.version | publishedVersion | en |
| eprints.grantNumber | info:eu-repo/grantAgreement/GA0/GA/GA23-06506S | cs |
| sync.item.dbid | VAV-189291 | en |
| sync.item.dbtype | VAV | en |
| sync.item.insts | 2025.10.14 14:13:18 | en |
| sync.item.modts | 2025.10.14 10:44:35 | en |
| thesis.grantor | Vysoké učení technické v Brně. Fakulta informačních technologií. Ústav inteligentních systémů | cs |
Files
Original bundle
1 - 1 of 1
Loading...
- Name:
- 3656417.pdf
- Size:
- 400 KB
- Format:
- Adobe Portable Document Format
- Description:
- file 3656417.pdf
