NobleBlocks

From the research index

The paper comes from the research index. It wasn’t submitted here.

Journal article

Cloning-based context-sensitive pointer alias analysis using binary decision diagrams

John Whaley, Monica S. Lam

ACM SIGPLAN Notices9 Jun 2004

Abstract

No PDF here

The full text is at the publisher

You can read the abstract here, or open it at the publisher.

Read at the publisher

This paper presents the first scalable context-sensitive, inclusion-based pointer alias analysis for Java programs. Our approach to context sensitivity is to create a clone of a method for every context of interest, and run a context-insensitive algorithm over the expanded call graph to get context-sensitive results. For precision, we generate a clone for every acyclic path through a program's call graph, treating methods in a strongly connected component as a single node. Normally, this formulation is hopelessly intractable as a call graph often has 10 14 acyclic paths or more. We show that these exponential relations can be computed efficiently using binary decision diagrams (BDDs). Key to the scalability of the technique is a context numbering scheme that exposes the commonalities across contexts. We applied our algorithm to the most popular applications available on Sourceforge, and found that the largest programs, with hundreds of thousands of Java bytecodes, can be analyzed in under 20 minutes.This paper shows that pointer analysis, and many other queries and algorithms, can be described succinctly and declaratively using Datalog, a logic programming language. We have developed a system called bddbddb that automatically translates Datalog programs into highly efficient BDD implementations. We used this approach to develop a variety of context-sensitive algorithms including side effect analysis, type analysis, and escape analysis.

Identifiers

Discussion

Citations

57Cited by
38References

Topics

Details

Published
9 Jun 2004
Publisher
Association for Computing Machinery
Issue
Volume 39 · Issue 6 · Pages 131–144
ISSN
0362-1340
Language
EN

More

Suggest a correction or report