[Soot-list] paddle results in soot

Ondrej Lhotak olhotak at uwaterloo.ca
Mon Sep 25 16:57:59 EDT 2006


On Mon, Sep 25, 2006 at 04:28:35PM -0400, Raul Santelices wrote:
>    Ondrej Lhotak wrote:
> 
>  On Mon, Sep 25, 2006 at 03:15:24PM -0400, Raul Santelices wrote:
>   
> 
>  Hi,
>   I am trying to access the contexts for an instance field, as computed
>  by paddle with object-sensitive analysis. I use
>  Scene.v().getPointsToAnalysis().reachingObjects(SootField). I cast the
>  resulting PointsToSet to PointsToSetReadOnly (a paddle class), which
>  provides the forall method to visit all ContextAllocNodes (pairs
>  context-node) associated to the points-to set. Unfortunately, all
>  ContextAllocNodes have a null context, and only the node (pointed object
>  named after its creation site) is non-null.
>   So, is it possible to retrieve contexts in Java without having to
>  write BDD queries in Jedd?
>     
> 
>  By default, only pointer variables (VarNodes) are modelled
>  context-sensitively. The context-heap option to Paddle causes it to also
>  model heap objects (AllocNodes) context-sensitively. Are you using the
>  context-heap option?
>   
> 
>    No, I wasn't. I turned it on, and now I get contexts for allocation sites.
> 
>    What I am really looking for is to list the contexts of a pointer
>    variable, and obtain the points-to set of that var for each context. For
>    object-sensitivity level 1, it seems that I can call getBase() on the
>    InstanceFieldRef and obtain the (level 0) points-to set for that Local,
>    right?

Each VarNode has a method called contexts(), which returns an iterator
over all ContextVarNodes that have been created for this variable.

>    (how do I find a context for k > 1, by the way?)

The Context implementation in this case is a ContextString, which
contains the string of abstract objects making up the context.

Ondrej

> 
>    Thanks,
>    Raul

> _______________________________________________
> 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