|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--soot.jimple.spark.SparkOptions
Various options regulating the functioning of Spark.
Nested Class Summary | |
static class |
SparkOptions.Switch_doubleSetNew
|
static class |
SparkOptions.Switch_doubleSetOld
|
static class |
SparkOptions.Switch_propagator
|
static class |
SparkOptions.Switch_setImpl
|
Field Summary | |
protected java.util.Map |
options
|
Constructor Summary | |
SparkOptions(java.util.Map options)
|
Method Summary | |
boolean |
classMethodVar()
If set to true, the representation dumped by the dumpPAG option represents nodes by numbering each class, method, and variable within the method separately, rather than assigning a single integer to each node. |
void |
doubleSetNew(SparkOptions.Switch_doubleSetNew sw)
Selects an implementation for the sets of new objects in the double points-to set implementation. |
void |
doubleSetOld(SparkOptions.Switch_doubleSetOld sw)
Selects an implementation for the sets of old objects in the double points-to set implementation. |
boolean |
dumpAnswer()
If set to true, the computed reaching types for each variable are dumped to a file, so that they can be compared with the results of other analyses (such as the old VTA). |
boolean |
dumpHTML()
If set to true, a browseable HTML representation of the pointer assignment graph is output after the analysis completes. |
boolean |
dumpPAG()
If set to true, a representation of the pointer assignment graph suitable for processing with other solvers (such as the BDD-based solver) is output before the analysis begins. |
boolean |
dumpSolution()
If set to true, a representation of the resulting points-to sets is dumped. |
boolean |
dumpTypes()
If set to true, the representation dumped by the dumpPAG option includes type information for all nodes. |
boolean |
forceGCs()
If set to true, calls to System.gc() will be done at various points to allow memory usage to be measured. |
static java.lang.String |
getDeclaredOptions()
|
static java.lang.String |
getDefaultOptions()
|
boolean |
ignoreBaseObjects()
If set to true, fields are represented by variable (Green) nodes, and the object that the field belongs to is ignored (all fields are lumped together). |
boolean |
ignoreTypesEntirely()
If set to true, all parts of Spark completely ignore declared types of variables and casts. |
boolean |
ignoreTypesForSCCs()
If set to true, when collapsing strongly-connected components, nodes forming SCCs are collapsed regardless of their type. |
boolean |
mergeStringBuffer()
If set to true, all allocation sites creating java.lang.StringBuffer objects are grouped together as a single allocation site. |
boolean |
onFlyCallGraph()
If set to true, the call graph is computed on-the-fly as points-to information is computed. |
boolean |
parmsAsFields()
If set to true, parameters to methods are represented as fields (Red nodes) of the 'this' object; otherwise, parameters are represented as variable (Green) nodes. |
void |
propagator(SparkOptions.Switch_propagator sw)
Tells Spark which propagation algorithm to use. |
boolean |
returnsAsFields()
If set to true, return values from methods are represented as fields (Red nodes) of the 'this' object; otherwise, return values are represented as variable (Green) nodes. |
boolean |
RTA()
Setting RTA to true sets typesForSites, and causes Spark to use a single points-to set for all variables, giving Rapid Type Analysis. |
void |
setImpl(SparkOptions.Switch_setImpl sw)
Selects an implementation of a points-to set that Spark should use. |
boolean |
simpleEdgesBidirectional()
If set to true, all edges connecting variable (Green) nodes are made bidirectional, as in Steensgaard's analysis. |
boolean |
simplifyOffline()
If set to true, variable (Green) nodes which are connected by simple paths (so they must have the same points-to set) are merged together. |
boolean |
simplifySCCs()
If set to true, variable (Green) nodes which form strongly-connected components (so they must have the same points-to set) are merged together. |
boolean |
simulateNatives()
If set to true, effects of native methods are simulated. |
boolean |
topoSort()
If set to true, the representation dumped by the dumpPAG option is dumped with the green nodes in (pseudo-)topological order. |
boolean |
trimInvokeGraph()
If set to true, the results of the analysis are used to make the invoke graph more precise after the analysis completes. |
boolean |
typesForSites()
If set to true, types rather than allocation sites are used as the elements of the points-to sets. |
boolean |
verbose()
If set to true, Spark prints detailed information. |
boolean |
VTA()
Setting VTA to true has the effect of setting ignoreBaseObjects, typesForSites, and collapseSCCs to true to simulate Variable Type Analysis, described in Sundaresan et al., OOPSLA 2000. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected java.util.Map options
Constructor Detail |
public SparkOptions(java.util.Map options)
Method Detail |
public boolean verbose()
public boolean ignoreTypesEntirely()
public boolean forceGCs()
public boolean VTA()
public boolean RTA()
public boolean ignoreBaseObjects()
public boolean typesForSites()
public boolean mergeStringBuffer()
public boolean simulateNatives()
public boolean simpleEdgesBidirectional()
public boolean onFlyCallGraph()
public boolean parmsAsFields()
public boolean returnsAsFields()
public boolean simplifyOffline()
public boolean simplifySCCs()
public boolean ignoreTypesForSCCs()
public void propagator(SparkOptions.Switch_propagator sw)
public void setImpl(SparkOptions.Switch_setImpl sw)
public void doubleSetOld(SparkOptions.Switch_doubleSetOld sw)
public void doubleSetNew(SparkOptions.Switch_doubleSetNew sw)
public boolean dumpHTML()
public boolean dumpPAG()
public boolean dumpSolution()
public boolean topoSort()
public boolean dumpTypes()
public boolean classMethodVar()
public boolean dumpAnswer()
public boolean trimInvokeGraph()
public static java.lang.String getDeclaredOptions()
public static java.lang.String getDefaultOptions()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |