[Soot-list] SOOT - Constant Propagation Analysis

Steven Arzt Steven.Arzt at cased.de
Thu Jan 30 03:35:38 EST 2014


Hi Kenneth,

If you are looking for a fairly large example of a data flow analysis, you
can look into FlowDroid:
https://github.com/secure-software-engineering/soot-infoflow. FlowDroid is a
taint tracker which associates state (tainted or not, original source of the
taint, etc.) with variables and also takes care of aliasing relationships
and call/return edge mapping based on the callgraph. This is however quite
far from a constant propagation, though one could presumably use the same
technology to build constant propagation.

Best regards,
  Steven

-----Ursprüngliche Nachricht-----
Von: soot-list-bounces at sable.mcgill.ca
[mailto:soot-list-bounces at sable.mcgill.ca] Im Auftrag von Kenneth Baptiste
Wind-Payagde Tapsoba
Gesendet: Donnerstag, 30. Januar 2014 03:30
An: soot-list at sable.mcgill.ca
Betreff: Re: [Soot-list] SOOT - Constant Propagation Analysis

Hi Dr. Bodden,

Thank you for your answer, however, the IFDSLocalInfoFlow is not quite what
we are looking for.
What we have been able to make a new flowanalysis class that extends the
ForwardFlowAnalysis, and we would like to know how to retrieve the Flow from
that ForwardFlowAnalysis class and also the set of edges. For edges we would
like a way to know which unit to go next in the Control Flow Graph.
We looked at the Edge Class in SOOT and we would like if possible for you to
explain it a bit more.



Sincerely, 

Kenneth Tapsoba 

SCE-Youth Work Learning Center 

ktapsoba at uwm.edu 

X3354 

----- Original Message -----
From: "Eric Bodden" <eric.bodden at sit.fraunhofer.de>
To: "Kenneth Tapsoba" <ktapsoba at uwm.edu>
Cc: "Eric Bodden" <bodden at ec-spride.de>
Sent: Friday, January 24, 2014 12:54:42 AM
Subject: Re: SOOT - Constant Propagation Analysis

Hi Kenneth.

> I'm looking into doing a state propagation analysis. The analysis will 
> define at each stage, the state of the local variables. For that it 
> would be nice to have a generic class I can use to do it.

So by state you mean something like typestate where you associate some
abstract state with objects (referenced through variables)? Such an analysis
would have little to do with constant propagation, I believe.

> Yes I would like to know if you would have some examples that go 
> beyond the gen/kill.

Yes there are many such examples. For intra-procedural analyses of that kind
have a look at ConstantPropagatorAndFolder. For something inter-procedural
have a look at IFDSLocalInfoFlow. This class uses our Heros framework (which
implements IFDS/IDE) on top of Soot. It does use non-kill/gen functions.

> What would be the SOOT mailing list so I can post my questions there?

Search here for "mailing list":
http://www.sable.mcgill.ca/soot/

Cheers,
Eric
_______________________________________________
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