[Soot-list] A question about IFDSReachingDefinitions

Steven Arzt Steven.Arzt at cased.de
Fri Jun 6 05:23:26 EDT 2014


I just now saw that this is IFDS, not IDE, so no merge is done. If a no merge happens, you would not need the collection in the flow abstraction, bit could just propagate one flow abstraction per definition. You're right. 

-----Ursprüngliche Nachricht-----
Von: Hamid A. Toussi [mailto:hamid2c at gmail.com] 
Gesendet: Freitag, 6. Juni 2014 11:16
An: Steven Arzt
Cc: soot-list
Betreff: Re: [Soot-list] A question about IFDSReachingDefinitions

Hi Steven,

Thank you very much for your reply.

>
> There's a simple example:
>
> String s;
> if (i > 0)
>         s = "Hello World";
> else
>         s = "Soot is cool";
> send(s);
>
> In this case , you have two definitions for "s" at the statement "send(s)".

I ran IFDReachingDefinitions on a similar example. I got two separate datafalow facts for different defintions of s at send(s):


if (i > 0) {
  s = "Hello World";
  s = $temp4
} else {
  $temp5 = "Soot is cool"
  $s = $temp5
}
send(s)
and I got Pair(s, s=$temp4) and Pair(s, s=$temp5) at send(s)

Also, I couldn't find any call to fact.getO2().add or something similar in IFDSReachingDefinitions.java.

Thanks,
Hamid



More information about the Soot-list mailing list