[Soot-list] Question

Marc-Andre Laverdiere-Papineau marc-andre.laverdiere-papineau at polymtl.ca
Mon Jan 14 15:15:24 EST 2013


Hello,

I am replying to the mailing list, since I think it is going to be 
useful for many many people (and that the wiser folks can point out 
mistakes in what I said).

I am writing this as someone who hasn't implemented that (yet), so 
looking at it from the theory side.

Def-use chains are not strictly required to do what you want, although 
they do contain that information.
http://en.wikipedia.org/wiki/Use-define_chain

I am not too cognizant on the implementation details here - is soot 
generating those for 'free'?

But if you are trying to do a taint analysis, I am not sure that 
following the def-use chains is the best way to go about it. The problem 
is that you're more or less compensating for using a flow analysis that 
isn't specific to your needs by doing a tree search.


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

On 13-01-14 02:50 PM, Zeinab Lashkaripour wrote:
> Sorry Marc-Andre,
> I forgot to ask: I get from your reply that either def-use or use-def
> are needed. Am I right?
>
> Best Regards,
>
>
> ----- Original Message -----
> From: Marc-Andre Laverdiere-Papineau
> <marc-andre.laverdiere-papineau at polymtl.ca>
> To: soot-list at sable.mcgill.ca
> Cc:
> Sent: Monday, January 14, 2013 11:09 PM
> Subject: Re: [Soot-list] Question
>
> Hello Zeinab,
>
> I am not sure if I am understanding your question properly. My first
> impression is that you are looking for Reaching Definitions - a
> classical intraprocedural analysis.
>
> You can read more here:
> http://en.wikipedia.org/wiki/Reaching_definitions
> Note that the confluence operator is an union - meaning that the
> information from the different paths are added together.
>
> I did a quick git grep in the code, and it looks like that analysis is
> already there in Dava:
> src/soot/dava/toolkits/base/AST/structuredAnalysis/ReachingDefs.java
>
> I don't know if that implementation is suitable for your needs or too
> dava-specific - anybody knows?
>
> Regards,
>
>
> Marc-André Laverdière-Papineau
> Doctorant - PhD Candidate
>
> On 13-01-14 01:50 PM, Zeinab Lashkaripour wrote:
>  > Dear Reader,
>  >
>  > I am doing the following analysis:
>  > I am looking for special function calls to see what variable they have
>  > used in order to track the value that the variable has taken before the
>  > call which can be a simple assignment with out any branch or assignments
>  > inside different kinds of branch. Up to now with the information I have
>  > I think reaching definitions (def-use chain) is the suitable choice.
>  > Due to your experience I wanted to ask you. Is it right?
>  >
>  > Best Regards,
>  >
>  >
>  >
>  > _______________________________________________
>  > Soot-list mailing list
>  > Soot-list at sable.mcgill.ca <mailto:Soot-list at sable.mcgill.ca>
>  > http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>  >
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca <mailto:Soot-list at sable.mcgill.ca>
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list


More information about the Soot-list mailing list