[Soot-list] Soot/Heros and native methods
Rohan Padhye
rohanpadhye at cse.iitb.ac.in
Tue Jun 4 07:21:37 EDT 2013
Hello all,
I was studying role of the call graph while using Heros for
interprocedural analysis. However, in the code that builds the
super-graph for Soot
(https://github.com/Sable/soot/blob/develop/src/soot/jimple/toolkits/ide/icfg/JimpleBasedInterproceduralCFG.java)
I do not see any handling for native methods. All I see is that for each
call-graph edge that is either explicit, thread or a static initializer,
the following is done:
SootMethod m = edge.getTgt().method();
if(m.hasActiveBody())
res.add(m);
else if(IDESolver.DEBUG)
System.err.println("Method "+m.getSignature()+" is referenced but has no
body!");
It seems that a call to a method without a body is simply ignored
(resulting in no super-graph edge). Does that mean that the
"normalFlowFunction" should also be able to handle invoke statements
(because that's where native calls will go)?
Thanks,
Rohan
More information about the Soot-list
mailing list