[Soot-list] Usage of context-sensitive PTAs

Quentin Sabah quentin.sabah at inria.fr
Wed Feb 6 04:04:09 EST 2013


Hi Xiao, thanks for your feedbacks,

> Have you tried directly calling pta.reachingObjects(r5) with cs-demand
> and geom-pta? These two analyses will return the merged context
> sensitive results (but the analysis is still context sensitive, hereby
> the result is more precise). Maybe that can serve your purpose.
>
Ok, it makes sense.
So basically calling reachingObjects with a context is not supported in 
spark currently ?
I am building an analysis that uses the pta, and just looking for the 
most precise I can get from Soot.

Using the ptas without context, I experience two strange behaviours:
- with cs-demand, reachingObjects(Local) is fine but 
reachingObjects(PTS, SootField) is an UnsupportedOperation.
- with geom-pta, reachingObjects(Local) looks also fine but 
reachinObjectsArrayElements(PTS) always returns an empty pts where the 
vanilla Spark returns the proper set of AllocNode corresponding to 
objects stored in the array.

> Another issue is that, have you updated your soot code to the newest
> version? Many changes have made since soot 2.5 for geom-pta.
I'm working above the up-to-date develop branch of the git repository.

> And, if you wish, you can send me your test code and I can have a look
> for you with geom-pta.

I have that piece of code gathering all the transitively-reachable 
runtime objects from a specified Local using a specified 
PointsToAnalysis and optionaly a Context (although I did not find out 
how to use that feature yet):
   http://pastebin.com/2sAvytUS

Regards.

-- 
Quentin Sabah, CIFRE Ph.D. student
Grenoble University
INRIA-SARDES                   | STMicroelectronics/AST
Montbonnot, France             | Grenoble, France
mailto:quentin.sabah at inria.fr  | mailto:quentin.sabah at st.com
phone: +33 476 61 54 57        | phone: +33 476 58 44 14


More information about the Soot-list mailing list