Abstract
Context-sensitivity is the primary approach for adding more precision to a points-to analysis, while hopefully also maintaining scalability. An oft-reported problem with context-sensitive analyses, however, is that they are bi-modal: either the analysis is precise enough that it manipulates only manageable sets of data, and thus scales impressively well, or the analysis gets quickly derailed at the first sign of imprecision and becomes orders-of-magnitude more expensive than would be expected given the program's size. There is currently no approach that makes precise context-sensitive analyses (of any flavor: call-site-, object-, or type-sensitive) scale across the board at a level comparable to that of a context-insensitive analysis. To address this issue, we propose introspective analysis: a technique for uniformly scaling context-sensitive analysis by eliminating its performance-detrimental behavior, at a small precision expense. Introspective analysis consists of a common adaptivity pattern: first perform a context-insensitive analysis, then use the results to selectively refine (i.e., analyze context-sensitively) program elements that will not cause explosion in the running time or space. The technical challenge is to appropriately identify such program elements. We show that a simple but principled approach can be remarkably effective, achieving scalability (often with dramatic speedup) for benchmarks previously completely out-of-reach for deep context-sensitive analyses.
Funder
General Secretariat for Research and Technology
Seventh Framework Programme
European Research Council
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference29 articles.
1. Strictly declarative specification of sophisticated points-to analyses
2. Defining and continuous checking of structural program dependencies
3. S. J. Fink. T. J. Watson libraries for analysis (WALA). http://wala.sourceforge.net. S. J. Fink. T. J. Watson libraries for analysis (WALA). http://wala.sourceforge.net.
Cited by
19 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Selecting Context-Sensitivity Modularly for Accelerating Object-Sensitive Pointer Analysis;IEEE Transactions on Software Engineering;2023-02-01
2. A Framework for Memory Efficient Context-Sensitive Program Analysis;Theory of Computing Systems;2022-07-18
3. BinPointer: towards precise, sound, and scalable binary-level pointer analysis;Proceedings of the 31st ACM SIGPLAN International Conference on Compiler Construction;2022-03-18
4. Eagle;ACM Transactions on Software Engineering and Methodology;2021-10-31
5. A Unified Model for Context-Sensitive Program Analyses:;ACM Computing Surveys;2021-07