[Soot-list] Is there a work-around to have reachingObjects(AllocNode an, SootField f) in the PointsToAnalysis Interface?

Zhoulai zell08v at orange.fr
Thu Feb 28 05:24:53 EST 2013


Hello, Eric,

Thank you for your attention.  The  Local/SootField interface should be
sufficiently expressive to represent pointer relations in flow-insenstive
points-to analysis. However, I would like to know the work around  in order
to deal with a more refined analysis.

Consider a points-to relation like this:

(x,h1), (x,h2), (z,f),  (h1, f, h3), (h2, f, h4)

After an instruction  x.f=null, we may want to (for a flow-sensitive
analysis)  perform a strong update by removing (h2,f,h4), but we should
not  remove (h1,f,h3) because it is reachable by variable 'z'.

Any workaround? Thanks.

Zell.


>
> For example, suppose that variable 'x' points to allocation sites 'h1',
> 'h2', and h1 points to h2 via field 'f'. How can we obtain the arc
> (h1,f,h2)?


On Thu, Feb 28, 2013 at 9:32 AM, Eric Bodden <eric.bodden at ec-spride.de>wrote:

> Hi Zell.
>
> Can you explain again why the Local/SootField interface is not
> sufficient for you? I can see that there is a difference but I don't
> understand why it would matter.
>
> Eric
>
> On 28 February 2013 08:10, Zhoulai <zell08v at orange.fr> wrote:
> > Hello,
> >
> > In Spark, how can I get the points-to set regarding to an AllocNode and a
> > SootField ? I see that the class
> >
> >  soot.jimple.spark.geom.geomPA
> >
> > offers this method:  PointsToSet GeomPointsTo.reachingObjects(AllocNode
> an,
> > SootField f)
> >
> > This method allows the query of points-to set from an AllocNode and a
> > SootField. Is there some workaround to have this functionality using
> Sark's
> > default interface PointsToAnalysis? As far as I know, the interface has a
> > method to obtain the points-to set with a local variable and a sootfield,
> > which is different from the above mentioned interface.
> >
> > For example, suppose that variable 'x' points to allocation sites 'h1',
> > 'h2', and h1 points to h2 via field 'f'. How can we obtain the arc
> > (h1,f,h2)?
> >
> > Thank you for your idea.
> >
> > Zell.
> >
> > _______________________________________________
> > 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20130228/b7cc686b/attachment.html 


More information about the Soot-list mailing list