article · 2006
Field flow sensitive pointer and escape analysis for Java as logic programs using ssa
Prakash Prabhu, Priti Shankar
Cited by 0Abstract and details only
Abstract
Abstract. Context sensitive pointer analyses based on the bddbddb [1] system have been shown to scale to large Java programs. We provide a technique to incorporate flow sensitivity for Java fields into one such analysis and obtain an escape analysis based on it. First, we express an intraprocedural field flow sensitive analysis, using the Heap Array SSA form [2] in Datalog. We then extend this analysis interprocedurally by introducing two new φ functions for Heap Array SSA Form and adding deduction rules corresponding to them. Adding a few more rules gives us an escape analysis. We describe two types of field flow sensitivity: partial(PFFS) and full(FFFS), the former without strong updates to fields and the latter with strong updates. We compare these analyses with two different (field flow insensitive) versions of Whaley-Lam analysis[1]: one of which is flow sensitive for locals(FS) and the other, flow insensitive for locals(FIS). We have implemented this analysis on the bddbddb system while using the SOOT open source framework[3] as a front end to it. We have run our analysis on a set of 15 Java programs. Our experimental results show that the time taken by our field flow sensitive analyses is comparable to that of the field flow insensitive versions while doing much better in some cases. Our PFFS analysis achieves average reductions of about 23 % and 30 % in the size of the points-to sets at load and store statements respectively and discovers 71 % more “caller-captured ” objects than FIS. 1
Cite this paper
Prabhu, P., & Shankar, P. (2006). Field flow sensitive pointer and escape analysis for Java as logic programs using ssa.
Prabhu, Prakash, and Priti Shankar. “Field flow sensitive pointer and escape analysis for Java as logic programs using ssa.” 2006.
Prabhu, Prakash, and Priti Shankar. 2006. “Field flow sensitive pointer and escape analysis for Java as logic programs using ssa.”
Prabhu, P. and Shankar, P. (2006) ‘Field flow sensitive pointer and escape analysis for Java as logic programs using ssa’.
@article{prabhu2006field,
title = {{Field flow sensitive pointer and escape analysis for Java as logic programs using ssa}},
author = {Prabhu, Prakash and Shankar, Priti},
year = {2006}
}Made from the index record. Check names, capitalisation and page numbers against the paper. Need another style? AI for Research has over 10,000.