[Soot-list] Geometric Encoding: points-to set

Richard Xiao richardxx at cse.ust.hk
Fri Jun 8 15:58:38 EDT 2012


Hi, Florian Strauß:

Thanks a lot for your interest in the geometric encoding and your
report. Please download and try the nightly built version to see if
the problem is still there. I have changed the code a lot since the
2.5 release. Since I'm on a travel, I will try your case myself and
fix the problem soon.

Regards,
Richard



On 6/8/12, Florian Strauß <f_straus at cs.uni-kl.de> wrote:
> 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
>
>
>
>
>
>
>
>
>
>


-- 
One day I met you then love appears to the world.


More information about the Soot-list mailing list