[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Pruning partial invokeGraphs.



On Wed, Feb 19, 2003 at 12:54:40PM -0500, Ankush Varma wrote:
> Is there a way to perform VTA/RTA etc. on only a subset of classes, instead of
> an entire Scene. Right now it requires all classes in the Scene to be
> application classes.

VTA and RTA are, by definition, whole-program analyses. They require all
the code for all the classes to be available. The classes do not have
to all be application classes; they have to be either library or
application classes. The -a switch turns the required classes from
context classes into library classes. Basically, the categories of
classes are as follows:

Application classes are both read and written by Soot.

Library classes may be read but not written by Soot.

Context classes may be inspected to see what methods and fields they
have, but the code of the methods may not be read.

Phantom classes are invented by Soot and do not correspond to any real
classes.

> Also, is there a fast way to find the targets(not transitive targets) of a given
> method.

InvokeGraph has but getTargetsOf(SootMethod m) and
getTransitiveTargetsOf(SootMethod m).

> 
> Ankush
> 
> "No trees were killed in the creation of this email :
> however, a vast number of electrons were incredibly inconvenienced."
> 
> -------------------------------------------------
> Ankush Varma
> Ph.D. Student / Graduate Research Assistant
> DSP-CAD Research Group
> Department of Electrical and Computer Engineering
> University of Maryland, College Park.
> 
> email:
> ankush@eng.umd.edu
> not_ankush@yahoo.com
> 
> Home: 301-439-0438           Office: 301-405-3089
> --------------------------------------------------
>