[Soot-list] relevance analysis

Marc-André Laverdière marc-andre.laverdiere-papineau at polymtl.ca
Sun May 4 16:52:32 EDT 2014


Hi Mohammad,

I am not sure I understand your question.
We totally have the source code for those methods. Its called OpenJDK.
But even if we didn't, Soot can read bytecode pretty decently and allow
you to do whatever you want.

But you may still take a short-cut by using 'domain knowledge', as we
have been doing in flowdroid. You can have a look a the taint wrappers :)

As a general thing, in order to do what you want, you just need to do a
linear pass over your program to record field access. Or you can query
Spark, but you're not necessarily required to get a call graph to do this.

Marc-André Laverdière-Papineau
Doctorant - PhD Candidate

On 05/04/2014 07:15 AM, Mohammad Ghafari wrote:
> 
> Hello everybody,
> 
> I want to find if two methods are related, i.e., they read from/write to
> the same field. For example:
> 
>  List<String> col = new ArrayList<String>();
> 
>  Method1(){
>   col.put("item");
>  }
> 
>  Method2(){
>   col.get();
>  }
> 
> Intuitively, these two methods are related because the first method
> write to a list from which the second method reads. However, as we don't
> have the source code of java libraries like List, how can I use Soot to
> know that col.put() writes to col while col.get() reads from this list?
> 
> Thnaks
> 
> 
> 
> _______________________________________________
> Soot-list mailing list
> Soot-list at CS.McGill.CA
> https://mailman.CS.McGill.CA/mailman/listinfo/soot-list
> 


More information about the Soot-list mailing list