[Soot-list] Identify virtual-call targets and library callee

Cheng Zhang cheng.zhang.stap at gmail.com
Thu Jul 24 20:26:48 EDT 2014


Hi Haipeng,

I think the call graph construction in Soot generally considers possible
callees of virtual call sites.
Have you tried the method edgesOutOf(Unit) of class CallGraph?
Would it be possible that missing call edges/callees are caused by
reflection?

SootClass has methods, like isApplicationClass(), isLibraryClass(),
isJavaLibraryClass(), which may be helpful to categorize callees.

Cheers,
Cheng

On Thu, Jul 24, 2014 at 8:14 PM, Haipeng Cai <hcai at nd.edu> wrote:

> Hi All,
>
> I am doing a static interprocedural dependence analysis with Soot for Java
> programs and having two difficulties:
>
> 1. How do I safely identify all possible callees at a call site,
> especially virtual call site?
>
> 2. How should I discern, among all the callees identified above, library
> callees from application callees?
>
> I have tried the CallGraph class, which seems to be quite incomplete; I
> also noticed that there is a method "IsJDKLibraryCall" in SootMethod class,
> which only tells JDK library calls from others, though.
>
> Any thoughts and advises are appreciated.
> Thanks,
>
> _______________________________________________
> Soot-list mailing list
> Soot-list at CS.McGill.CA
> https://mailman.CS.McGill.CA/mailman/listinfo/soot-list
> <https://mailman.cs.mcgill.ca/mailman/listinfo/soot-list>
>
> _______________________________________________
> Soot-list mailing list
> Soot-list at CS.McGill.CA
> https://mailman.CS.McGill.CA/mailman/listinfo/soot-list
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20140724/53f3e35f/attachment.html 


More information about the Soot-list mailing list