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

RE: More on invokeGraphs



> > I'm able to build an InvokeGraph using 
> > ClassHeirarchyAnalysis, but not able to
> > make a smaller tree. Any ideas? I know the the classes in 
> > jimple.toolkits, but
> > I'm not able to get any of them to reduce the graph size.
> 
> Hmm... I don't really know. Actually it should be enough to just apply a
> VariableTypeAnalysis on the graph. But of course it depends on the
> classes you are inspecting, how much the size will be reduced...
> 
> Eric


I figured it out, partly.

- Use preciseInvokeGraph to get a small invoke graph. But this breaks if you try
  to run VTA, RTA etc. on it later (some sites turn out to be not included in
  the invoke graph) 

- VTA/RTA do not give smaller graphs in terms of nodes. But you don't need ALL
  these nodes(methods). I think that trimming the invokeGraph using one of these
  and then asking for transitive Targets of each method in your main file will
  give a smaller set of needed methods.

- Calling InvokeGraphTrimmer using PAG gave an invokeGraph with no methods
  connected to my main method. Funny, but its probably mea culpa, since I
  suspect I'm not using it properly.

Let me know if you have any ideas. Do you have a code fragment that trims an
InvokeGraph using PAG?

The smallest I could get was 2000+ transitive targets for a class that called
nothing but System.out.println(int). Over 5000 methods were in the invoke graph
for just this test file! Any idea how to get fewer nodes in the invokeGraph? I
suspect that the MethodCallGraph is involved.

Ankush 

PS: The SPARK analysis in the new Soot release looks pretty neat! 

-------------------------------------------------
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
--------------------------------------------------