[Soot-list] Usage of context-sensitive PTAs
Quentin Sabah
quentin.sabah at inria.fr
Tue Feb 5 11:56:13 EST 2013
Hi all,
I am wondering if I can find documentation or any example code showing
the usage of context-sensitive points-to-analyses in Soot.
The PointsToAnalysis interface defines some methods taking a Context.
The documentation states that a Context is either a unit or a Spark
AllocNode. I would have expected to specify some kind of list of
call-graph edge...
I naïvely tried to pass Stmt units when calling reachingObjects(), first
using the demand-driven context-sensitive analysis of Spark, and then
using the geometric analysis of Spark. However none of these experiments
succeeded:
Given s an invocation statement of the form:
virtualinvoke r4.<MyClass: void myMethod(java.lang.Object)>(r5);
with r5 being of a reference type, I call pta.reachingObjects(s, r5).
- '-w -p -cg.spark' gives the context-insensitive answer as expected.
- using '-w -p cg.spark enabled,cs-demand', I simply get an
UnsupportedOperationException (hard-coded in the sources).
- using '-w -p cg.spark enabled,geom-pta', I only get an EmptyPointsToSet.
Sooo I guess I'm "doing it wrong" (should I mention that I set
-no-bodies-for-excluded for these little experiments). Any clue ?
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