[Soot-list] how does infoFlowAnalysis handle interfaceinvoke ?

li xin li-xin at jaist.ac.jp
Mon Aug 18 10:35:42 EDT 2008


Hello,

I am wondering it is the issue of whether the underlying points-to analysis
properly handle InterfaceInvoke.

FYI:
This question reminds me a related problem I ever encountered. I run
cg.spark (with default options on mind) on some package, but edges of
InterfaceInvoke are lost in the generated call graph (while CHA handles them
properly).


-- 
Thanks and Best Regards, LI


On Mon, Aug 18, 2008 at 10:45 PM, jiangfan shi <jiangfan.shi at gmail.com>wrote:

> Hi,
>
> I found the infoFlowAnalysis does not do dynamic bindings for the
> interfaceinvoke statement. Am I right?
>
> For exmaple, I have an interface Interf1, which defines a method
> open(). Two implementations impl1 and impl2 implement the Interf1.
> Then I have following simplified statements;
>
> ==============
> Interf1 tmp1;
>
> if(tmp1!=null){
>      tmp1.open().
> }
>
> ==============
>
> For this piece of code, the infoFlowAnalysis does not give two
> possible method invocations, impl1.open() and impl2.open().
> Furthermore the infoFlowAnalysis does not compute flow Summary for
> these two methods.
>
> For the following piece of code, the infoFlowAnalysis does work
> because there are explicitly assignments from impl1 or impl2 to the
> Interf1.
>
> ==============
> Interf1 tmp1;
> if(args[0]=1){
>     tmp1=new impl1();
> else
>     tmp1=new impl2();
>
> tmp1.open().
> }
>
> ==============
> In this case, the infoFlowAnalysis will compute summaries for the two
> methods,  impl1.open() and impl2.open().
>
> So my question is that if the infoFlowAnalysis handle the
> interfaceinvoke statement. Maybe I did not find some configurations of
> the infoFlowAnalsysis, or I miss some other options.
>
> Thanks you in advance!
>
> Jiangfan
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://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/20080818/0c2eb354/attachment-0001.htm


More information about the Soot-list mailing list