[Soot-list] Any points-to analysis based on Shimple?

Eric Bodden bodden at st.informatik.tu-darmstadt.de
Thu Sep 23 03:07:27 EDT 2010


Hi Lei.

No there is not, but you can effectively get the same precision on the
Jimple level too.

As you not, Shimple/SSA is a somewhat flow-sensitive representation.
However, it is flow-sensitive on the intra-procedural level only. The
same you can get in Jimple as follows:

1.) Use normal points-to sets to compare pointers from different
methods. This you would have for Shimple too.
2.) For pointers within the same method, use LocalMustNotAliasAnalysis
and/or LocalMustAliasAnalysis to compare those pointers. Both analyses
are flow-sensitive.

Also, to make your life easier, you can use "object representatives"
[1], an abstraction that automatically wires all these analyses
together and always uses the most precise analysis available. In Soot,
object representatives are implemented through the class
soot.jimple.toolkits.pointer.InstanceKey. (We should rename that class
at some point, I guess.)

You can find uses of this class in the Clara framework: We create the
keys in the method reMap here
http://code.google.com/p/clara/source/browse/trunk/clara/src/ca/mcgill/sable/clara/fsanalysis/flowanalysis/AnalysisJob.java.
Then we heavily use them in this class:
http://code.google.com/p/clara/source/browse/trunk/clara/src/ca/mcgill/sable/clara/fsanalysis/flowanalysis/ds/Disjunct.java

Eric

[1] http://www.bcs.org/server.php?show=conWebDoc.22982

--
Dr. Eric Bodden
Software Technology Group, Technische Universität Darmstadt, Germany
Tel: +49 6151 16-5478    Fax: +49 6151 16-5410
Mailing Address: S2|02 A209, Hochschulstraße 10, 64289 Darmstadt



On 23 September 2010 03:43, Lei Shang <shangl at cse.unsw.edu.au> wrote:
> Hi,
>
>     I found that various points-to analysis in soot are based on Jimple,
> which are flow-insensitive. Any points-to analysis is implemented in
> Shimple, which is based on SSA and flow-sensitive?
>
>     Thanks.
>
> Lei
>
> _______________________________________________
> 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