[Soot-list] What kind of analysis is appropriate?

Bodden, Eric eric.bodden at sit.fraunhofer.de
Tue Apr 23 03:03:04 EDT 2013


Hi all.

To me it sounds like Zeinab is really looking for something like slicing, not alias analysis. But it really depends on what is meant by "related to the inputs". Zeinab could you clarify?

Eric



On 22.04.2013, at 16:46, Marc-André Laverdière-Papineau <marc-andre.laverdiere-papineau at polymtl.ca> wrote:

> Hello,
> 
> I wasn't clear I guess.
> 
> a = secret()
> b = a
> c = b
> print(c)
> 
> That can be solved with a plain and simple alias analysis. C aliases a, 
> things are simple.
> 
> Flow analysis is more useful when you have things like this:
> 
> a = secret
> b = propagatingFn(a)
> c = anotherPropagatingFn(b)
> print(c)
> 
> Back to your question, you are asking something important. My 
> understanding of alias analysis is that the alias information takes this 
> information in consideration.
> 
> Suppose we have
> 1 a = secret()
> 2 a = "harcoded constant"
> 3 b = a
> 4 c = b
> 5 print(c)
> 
> The alias information for c at line 5 should be 2,3,4.
> 
> Compiler people: please tell me if I'm wrong on this. I don't really 
> touch that part of compiler theory often ;)
> 
> Marc-André Laverdière-Papineau
> Doctorant - PhD Candidate
> 
> On 13-04-20 07:30 AM, Zeinab Lashkaripour wrote:
>> 
>> Thanks Marc-André,
>> 
>>> It sounds to me like you are interested in doing an intraprocedural
>> alias analysis. And intersect the results with the loop conditions.
>> 
>> Yes, your right but it might change to interprocedural (for now its intra).
>> 
>>> ...then an information flow analysis would make sense.
>> 
>> As I understand, you mean that I need a flow-based alias analysis?
>> 
>> I should mention that I am looking for special strings that use the
>> parameter of the function that they are inside (these strings can be
>> identified easily).  Therefore the things I need after identifying these
>> strings are: loop conditions and local variables that have used the
>> parameter. As you said alias analysis is suitable but,does reaching
>> definition (UD chain) need to be used beside alias analysis or does
>> flow-based alias analysis do the work by it self?
>> 
>> Thanks in advance,
>> Zeinab
>> 
>> ------------------------------------------------------------------------
>> *From:* Marc-André Laverdière-Papineau
>> <marc-andre.laverdiere-papineau at polymtl.ca>
>> *To:* soot-list at sable.mcgill.ca
>> *Sent:* Saturday, April 20, 2013 6:11 AM
>> *Subject:* Re: [Soot-list] What kind of analysis is appropriate?
>> 
>> Hello,
>> 
>> It sounds to me like you are interested in doing an intraprocedural
>> alias analysis. And intersect the results with the loop conditions.
>> 
>> Of course, if you want to handle cases where there could be operations
>> other than assignment of the variables, then an information flow
>> analysis would make sense.
>> 
>> Soot provides classes that computes de CFG for you (ExceptionalUnitGraph
>> IIRC), and there is a built-in LocalMustAliasAnalysis that should do the
>> trick. Note that I haven't used those classes personally, so I could be
>> wrong.
>> 
>> Marc-André Laverdière-Papineau
>> Doctorant - PhD Candidate
>> 
>> On 13-04-19 01:13 PM, Zeinab Lashkaripour wrote:
>>> Hi everyone,
>>> 
>>> I have done part of my analysis with Soot and for the rest of it I'm
>>> looking for the following information that I don't know what kind of
>>> analysis is suitable?
>>> 
>>> I have some functions that they have inputs. In these functions these
>>> inputs can be used in local variables of the function, inside loop
>>> conditions.
>>> I want to identify those local variables that have used these inputs and
>>> also process loop conditions to see if they are related to the input or
>>> not. (relation with input in condition and local variable can be direct
>>> or indirect)
>>> 
>>> Regards,
>>> Zeinab
>>> 
>>> 
>>> _______________________________________________
>>> 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
>> 
>> 
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list

--
Eric Bodden, Ph.D., http://sse.ec-spride.de/ http://bodden.de/
Head of Secure Software Engineering Group at EC SPRIDE
Tel: +49 6151 16-75422    Fax: +49 6151 16-72051
Room 3.2.14, Mornewegstr. 30, 64293 Darmstadt



More information about the Soot-list mailing list