[Soot-list] Soot/Heros and native methods

Marc-André Laverdière-Papineau marc-andre.laverdiere-papineau at polymtl.ca
Tue Jun 4 14:43:42 EDT 2013


Hello,

That is a notorious problem with native code.

I know that FlowDroid has some support for native code, essentially by
stubbing them. Maybe that would be worthwhile to check out?

Marc-André Laverdière-Papineau
Doctorant - PhD Candidate

On 04/06/13 07:21 AM, Rohan Padhye wrote:
> 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
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
> 


More information about the Soot-list mailing list