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

Haipeng Cai hcai at nd.edu
Sat Jul 26 00:32:05 EDT 2014


Hello Cheng,

Thanks very much for your prompt response. I was trying different Soot
spark settings when using the CallGraph (from CallGraphBuilder, with
Soot.v().getPointsToAnalysis() as the constructor argument). However, for
many virtual call sites, which do not involve reflection,
the edgesOutOf(Unit) still returns an empty list. For example, the
following call has no outgoing edges in the call graph:

$r2 = virtualinvoke $r1.<java.util.Properties: java.util.Enumeration
keys()>())

Best,



On Thu, Jul 24, 2014 at 8:26 PM, Cheng Zhang <cheng.zhang.stap at gmail.com>
wrote:

> 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/20140726/af83e413/attachment.html 


More information about the Soot-list mailing list