Making k -object-sensitive pointer analysis more precise with still k –limiting

53Citations
Citations of this article
20Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Object-sensitivity is regarded as arguably the best context abstraction for pointer analysis in object-oriented languages. However, a k -object-sensitive pointer analysis, which uses a sequence of k allocation sites (as k context elements) to represent a calling context of a method call, may end up using some context elements redundantly without induc- ing a finer partition of the space of (concrete) calling contexts for the method call. In this paper, we introduce Bean, a general approach for improving the precision of any k -object-sensitive analysis, denoted k - obj, by still using a k -limiting context abstraction. The novelty is to identify allocation sites that are redundant context elements in k - obj from an Object Allocation Graph (OAG), which is built based on a pre-analysis (e.g., a context-insensitive Andersen’s analysis) performed initially on a program and then avoid them in the subsequent k -object-sensitive analy- sis for the program. Bean is generally more precise than k - obj, with a precision that is guaranteed to be as good as k - obj in the worst case. We have implemented Bean as an open-source tool and applied it to refine two state-of-the-art whole-program pointer analyses in Doop. For two representative clients (may-alias and may-fail-cast) evaluated on a set of nine large Java programs from the DaCapo benchmark suite, Bean has succeeded in making both analyses more precise for all these benchmarks under each client at only small increases in analysis cost.

Cite

CITATION STYLE

APA

Tan, T., Li, Y., & Xue, J. (2016). Making k -object-sensitive pointer analysis more precise with still k –limiting. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 9837 LNCS, pp. 489–510). Springer Verlag. https://doi.org/10.1007/978-3-662-53413-7_24

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free