[Soot-list] all-reachable:true has no effect when using Paddle

Ondrej Lhotak olhotak at uwaterloo.ca
Thu Jan 17 14:11:47 EST 2008


I can reproduce this issue.

It is not that Paddle overrieds the option; it's that Spark and CHA
each implement the option themselves, while Paddle does not.

I have moved the (duplicated) implementation from Spark and CHA
into CallGraphPack, and now the option works for every call graph
builder, including Paddle. This is in Subversion revision 3100.

Ondrej

On Thu, Jan 17, 2008 at 12:42:54PM +0000, Khilan Gudka wrote:
> Hi,
>
> It seems that paddle overrides the option all-reachable:true to cg. I 
> loaded the following class into soot...
>
> class A {
>        void m() {
>        }
> }
>
> class B extends A {
>        @Override
>        void m() {
>        }
> }
>
> class ReachableMethodsTestDouble {
>        A a;
>        public void m() {
>            a.m();
>        }
> }
>
> ...with the options:
>
> -p cg implicit-entry:false,all-reachable:true -p cg.paddle 
> conf:ofcg,context:kcfa,k:2 -f J -w
>
> However, it doesn't treat ReachableMethodsTestDouble.m() as a possible 
> entry point even though all-reachable is true.
>
> If instead, I turn paddle off:
>
> -p cg implicit-entry:false,all-reachable:true -f J -w
>
> It does consider ReachableMethodsTestDouble.m() as a possible entry point 
> and thus subsequently adds edges for the call a.m() to the call graph.
>
> Could anyone please assist,
>
> Thanks,
> Khilan
> _______________________________________________
> 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