[Soot-list] Re: Escape analysis

Venkatesh Prasad Ranganath vranganath at sbcglobal.net
Tue Sep 21 19:29:59 EDT 2004


Archie Cobbs wrote:

>Dear Soot gurus,
>
>I'm interested in doing a simple analysis of Jimple bodies for escape
>analysis. Specifically, for each "new" statement in a method body,
>I'd like to determine if any of the following is true of the newly
>created object:
>
>  - it can be assigned to any field (static or instance)
>  - it can be assigned to an element of an array
>  - it can be passed as a parameter to any method
>  - it can be returned or thrown
>  - the "new" statement is possibly within some execution loop (*)
>
>(*) optional but would be nice to know
>
>The point of this is to determine if the new object can be allocated
>on the stack, i.e., when the method returns (normally or otherwise)
>the object is proven to be no longer reachable.
>
>I'm looking for a basic, high level description of the most appropriate
>way to do this, e.g., which Soot tools to use, and maybe some example
>code to look at performing some similar task.
>
>Thanks for any suggestions,
>-Archie
>
>__________________________________________________________________________
>Archie Cobbs      *        CTO, Awarix        *      http://www.awarix.com
>
>  
>
An escape analysis is implemented on top of Jimple in Project Indus 
(http://indus.projects.cis.ksu.edu).  Currently, the analysis finds 
objects that escape the allocation thread context, and it uses call 
graph and object flow analysis available in Indus.  However, there are 
plans to extend it to find objects that escape the allocation method 
context.


-- 

Venkatesh Prasad Ranganath,
Dept. Computing and Information Science,
Kansas State University, US.
web: http://www.cis.ksu.edu/~rvprasad



More information about the Soot-list mailing list