Affiliation:
1. University of California at Berkeley, Berkeley, CA, USA
2. Intel Labs Berkeley, Berkeley, CA, USA
Abstract
Many static analyses do not scale as they are made more precise. For example, increasing the amount of context sensitivity in a
k
-limited pointer analysis causes the number of contexts to grow exponentially with
k
. Iterative refinement techniques can mitigate this growth by starting with a coarse abstraction and only refining parts of the abstraction that are deemed relevant with respect to a given client.
In this paper, we introduce a new technique called
pruning
that uses client feedback in a different way. The basic idea is to use coarse abstractions to prune away parts of the program analysis deemed irrelevant for proving a client query, and then using finer abstractions on the sliced program analysis. For a
k
-limited pointer analysis, this approach amounts to adaptively refining and pruning a set of prefix patterns representing the contexts relevant for the client. By pruning, we are able to scale up to much more expensive abstractions than before. We also prove that the pruned analysis is both sound and complete, that is, it yields the same results as an analysis that uses a more expensive abstraction directly without pruning.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
5 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Making pointer analysis more precise by unleashing the power of selective context sensitivity;Proceedings of the ACM on Programming Languages;2021-10-20
2. Learning Structured Natural Language Representations for Semantic Parsing;Proceedings of the 55th Annual Meeting of the Association for
Computational Linguistics (Volume 1: Long Papers);2017
3. More Sound Static Handling of Java Reflection;Programming Languages and Systems;2015
4. Information-Flow Analysis of Android Applications in DroidSafe;Proceedings 2015 Network and Distributed System Security Symposium;2015
5. Introspective analysis;ACM SIGPLAN Notices;2014-06-05