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

Re: how to view xml output file



All the method call analyses (should) build an InvokeGraph, a common
representation. It seems to me that this would be a more general way of
obtaining this information. Here is the code that I would use:

if( !Scene.v().hasActiveInvokeGraph() ) {
    // InvokeGraphBuilder uses CHA, but other sources of InvokeGraphs
    // are possible
    InvokeGraphBuilder.v().transform( phaseName + ".igb" );
}
InvokeGraph ig = Scene.v().getActiveInvokeGraph();

List targets = ig.getTargetsOf( stmt );
// where stmt is the Stmt containing the InvokeExpr
//       targets gets a list of SootMethods that are possible targets
//       of the InvokeExpr

Ondrej

On Fri, May 24, 2002 at 03:08:42PM -0400, Feng QIAN wrote:
> It depends on what kind of analysis results (e.g., CHA, RTA, VTA). I will
> suggest you use CHA because it is easy and no interprocederal analysis,
> I imagine your scheme should not care about which analysis is used,
> but the set of possible targets of each virtual call. So here is the way
> to get information from CHA:
> 
> Hierarchy h = new Hierardy();
> 
> // invokeExpr has the type of InvokeExpr, and meth should be a virtual one
> SootMethod meth = invokeExpr.getMethod(); // this is target (virtual)
> SootClass  cls  = meth.getDeclaringClass();
> 
> List possibleTargets = h.resolveAbstractDispatch(cls, meth);
> 
> possibleTargets is a list of possible target based on CHA.
> 
> Please correct me if I was wrong!
> 
> Cheers,
> ===========================================================
> Feng Qian                             fqian@sable.mcgill.ca
> 
> On Fri, 24 May 2002, David Eng wrote:
> 
> > Hi Feng, I have a question...
> >
> > I want to add some polymorphism information to the xml generated by SOOT.
> > For each statement, if there is an invoke, I'd like to have a list of all
> > possible method targets. I was told that this information is already
> > available in SOOT, but I'm not sure where to start looking...
> >
> > Dave
> >
> >
> > ----- Original Message -----
> > From: "Feng QIAN" <fqian@sable.mcgill.ca>
> > To: <flynn@cs.mcgill.ca>
> > Sent: Tuesday, April 30, 2002 9:26 PM
> > Subject: how to view xml output file
> >
> >
> > > Hi Dave,
> > >
> > > I am testing the new soot --xml option, but unfortunately I can not
> > > browse the generated XML file by following web browsers:
> > > Mozilla 1.0 RC1, Netscape 4.78, Konqueror 3.0.0-2 under Linux RedHat 7.2
> > > MS Explorer 5.1 on MacOS X
> > >
> > > Do you know which browser is capable of reading XML file? I attached the
> > > hello world example.
> > >
> > > Cheers,
> > > ===========================================================
> > > Feng Qian                             fqian@sable.mcgill.ca
> > >
> >
> 
>