[Soot-list] Geometric Encoding: points-to set
Florian Strauß
f_straus at cs.uni-kl.de
Fri Jun 8 11:50:36 EDT 2012
Hello,
thanks for your help in the past.
For my alias analysis I am using the Geometric Encoding approach. It works
fine in most of the cases, but I am wondering about the results in the
following example:
public class AMain {
Object field = new Object();
public static void main(String[] args) {
AMain thisMain = new AMain();
Object alias = thisMain.field;
alias.equals(alias);
}
}
If I ask for all reachable Objects of field, I expect a representation of
new Object().
Unfortunately, the returned points-to set is empty. Do you have an idea,
what am I doing wrong?
More details about my configuration:
I use the following options
Options.v().setPhaseOption("cg","implicit-entry:false");
//spark configuration
Options.v().setPhaseOption("cg.spark","enabled:true");
Options.v().setPhaseOption("cg.spark","string-constants:true");
Options.v().setPhaseOption("cg.spark","field-based:false");
Options.v().setPhaseOption("cg.spark","empties-as-allocs:true");
Options.v().setPhaseOption("cg.spark","on-fly-cg:true");
Options.v().setPhaseOption("cg.spark","merge-stringbuffer:false");
//Spark + Geometric Encoding
Options.v().setPhaseOption("cg.spark","geom-pta:true");
I cannot explain the results of
Scene.v().getPointsToAnalysis().reachingObjects(local, field);
If I use Spark only (= geom-pta:false), then it returns an allocation node
(AllocNode 4 new java.lang.Object in method <AMain: void <init>()>,) , which
is the same allocation node being reachable from the local variable alias.
Otherwise the points-to sets of thisMain.field and alias are different,
because the points-to set of alias is empty.
Could you please help me?
Have a good weekend
Florian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20120608/1ab6c254/attachment.html
More information about the Soot-list
mailing list