Package | Description |
---|---|
soot |
Base Soot classes, shared by different intermediate representations.
|
soot.baf |
Public classes for the Baf intermediate representation.
|
soot.baf.internal |
Internal, messy, implementation-specific classes for the Baf intermediate representation.
|
soot.dava.internal.AST | |
soot.dava.internal.javaRep | |
soot.grimp.internal |
Internal, messy, implementation-specific classes for the Grimp intermediate representation.
|
soot.jimple |
Public classes for the Jimple intermediate representation.
|
soot.jimple.internal |
Internal, messy, implementation-specific classes for the Jimple intermediate representation.
|
soot.jimple.spark.geom.geomPA | |
soot.jimple.spark.ondemand | |
soot.jimple.spark.pag | |
soot.jimple.toolkits.callgraph | |
soot.jimple.toolkits.pointer |
Modifier and Type | Interface and Description |
---|---|
interface |
IdentityUnit
A unit that assigns to a variable from one of {parameters, this, caughtexception}.
|
interface |
Unit
A code fragment (eg Stmt or Inst), used within Body
classes.
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractUnit
Provides default implementations for the methods in Unit.
|
Modifier and Type | Method and Description |
---|---|
Context |
MethodContext.context() |
Context |
MethodOrMethodContext.context() |
Context |
SootMethod.context() |
Context |
MethodOrMethodContext.context() |
Context |
SootMethod.context() |
Context |
MethodContext.context() |
Modifier and Type | Method and Description |
---|---|
Numberer<Context> |
Scene.getContextNumberer() |
Numberer<Context> |
Scene.getContextNumberer() |
Modifier and Type | Method and Description |
---|---|
boolean |
EscapeAnalysis.mayEscapeMethod(Context c,
AnyNewExpr n)
Returns true if objects allocated at n in context c may
continue to be live after the method in which they are allocated
returns.
|
boolean |
EscapeAnalysis.mayEscapeMethod(Context c,
AnyNewExpr n)
Returns true if objects allocated at n in context c may
continue to be live after the method in which they are allocated
returns.
|
boolean |
EscapeAnalysis.mayEscapeThread(Context c,
AnyNewExpr n)
Returns true if objects allocated at n in context c may be
accessed in a thread other than the thread in which they
were allocated.
|
boolean |
EscapeAnalysis.mayEscapeThread(Context c,
AnyNewExpr n)
Returns true if objects allocated at n in context c may be
accessed in a thread other than the thread in which they
were allocated.
|
PointsToSet |
PointsToAnalysis.reachingObjects(Context c,
Local l)
Returns the set of objects pointed to by variable l in context c.
|
PointsToSet |
PointsToAnalysis.reachingObjects(Context c,
Local l)
Returns the set of objects pointed to by variable l in context c.
|
PointsToSet |
PointsToAnalysis.reachingObjects(Context c,
Local l,
SootField f)
Returns the set of objects pointed to by instance field f
of the objects pointed to by l in context c.
|
PointsToSet |
PointsToAnalysis.reachingObjects(Context c,
Local l,
SootField f)
Returns the set of objects pointed to by instance field f
of the objects pointed to by l in context c.
|
static MethodOrMethodContext |
MethodContext.v(SootMethod method,
Context context) |
static MethodOrMethodContext |
MethodContext.v(SootMethod method,
Context context) |
Modifier and Type | Method and Description |
---|---|
void |
Scene.setContextNumberer(Numberer<Context> n) |
void |
Scene.setContextNumberer(Numberer<Context> n) |
Modifier and Type | Interface and Description |
---|---|
interface |
AddInst |
interface |
AndInst |
interface |
ArrayLengthInst |
interface |
ArrayReadInst |
interface |
ArrayWriteInst |
interface |
CmpgInst |
interface |
CmpInst |
interface |
CmplInst |
interface |
DivInst |
interface |
Dup1_x1Inst |
interface |
Dup1_x2Inst |
interface |
Dup1Inst |
interface |
Dup2_x1Inst |
interface |
Dup2_x2Inst |
interface |
Dup2Inst |
interface |
DupInst |
interface |
DynamicInvokeInst |
interface |
EnterMonitorInst |
interface |
ExitMonitorInst |
interface |
FieldArgInst |
interface |
FieldGetInst |
interface |
FieldPutInst |
interface |
GotoInst |
interface |
IdentityInst |
interface |
IfCmpEqInst |
interface |
IfCmpGeInst |
interface |
IfCmpGtInst |
interface |
IfCmpLeInst |
interface |
IfCmpLtInst |
interface |
IfCmpNeInst |
interface |
IfEqInst |
interface |
IfGeInst |
interface |
IfGtInst |
interface |
IfLeInst |
interface |
IfLtInst |
interface |
IfNeInst |
interface |
IfNonNullInst |
interface |
IfNullInst |
interface |
IncInst |
interface |
Inst |
interface |
InstanceCastInst |
interface |
InstanceOfInst |
interface |
InterfaceInvokeInst |
interface |
JSRInst |
interface |
LoadInst |
interface |
LookupSwitchInst |
interface |
MethodArgInst |
interface |
MulInst |
interface |
NegInst |
interface |
NewArrayInst |
interface |
NewInst |
interface |
NewMultiArrayInst |
interface |
NoArgInst |
interface |
NopInst |
interface |
OpTypeArgInst |
interface |
OrInst |
interface |
PopInst |
interface |
PrimitiveCastInst |
interface |
PushInst |
interface |
RemInst |
interface |
RetInst |
interface |
ReturnInst |
interface |
ReturnVoidInst |
interface |
ShlInst |
interface |
ShrInst |
interface |
SpecialInvokeInst |
interface |
StaticGetInst |
interface |
StaticInvokeInst |
interface |
StaticPutInst |
interface |
StoreInst |
interface |
SubInst |
interface |
SwapInst |
interface |
TableSwitchInst |
interface |
TargetArgInst |
interface |
ThrowInst |
interface |
UshrInst |
interface |
VirtualInvokeInst |
interface |
XorInst |
Modifier and Type | Class and Description |
---|---|
class |
PlaceholderInst |
Modifier and Type | Class and Description |
---|---|
class |
ASTControlFlowNode |
class |
ASTDoWhileNode |
class |
ASTForLoopNode |
class |
ASTIfElseNode |
class |
ASTIfNode |
class |
ASTLabeledBlockNode |
class |
ASTLabeledNode |
class |
ASTMethodNode |
class |
ASTNode |
class |
ASTStatementSequenceNode |
class |
ASTSwitchNode |
class |
ASTSynchronizedBlockNode |
class |
ASTTryNode |
class |
ASTUnconditionalLoopNode |
class |
ASTWhileNode |
Modifier and Type | Class and Description |
---|---|
class |
DAbruptStmt |
class |
DAssignStmt |
class |
DDecrementStmt |
class |
DIdentityStmt |
class |
DIncrementStmt |
class |
DShortcutAssignStmt |
class |
DVariableDeclarationStmt |
Modifier and Type | Class and Description |
---|---|
class |
GAssignStmt |
class |
GEnterMonitorStmt |
class |
GExitMonitorStmt |
class |
GIdentityStmt |
class |
GIfStmt |
class |
GInvokeStmt |
class |
GLookupSwitchStmt |
class |
GReturnStmt |
class |
GTableSwitchStmt |
class |
GThrowStmt |
Modifier and Type | Interface and Description |
---|---|
interface |
AssignStmt |
interface |
BreakpointStmt |
interface |
DefinitionStmt |
interface |
EnterMonitorStmt |
interface |
ExitMonitorStmt |
interface |
GotoStmt |
interface |
IdentityStmt |
interface |
IfStmt |
interface |
InvokeStmt |
interface |
LookupSwitchStmt |
interface |
MonitorStmt |
interface |
NopStmt |
interface |
RetStmt |
interface |
ReturnStmt |
interface |
ReturnVoidStmt |
interface |
Stmt |
interface |
SwitchStmt |
interface |
TableSwitchStmt |
interface |
ThrowStmt |
Modifier and Type | Class and Description |
---|---|
class |
PlaceholderStmt |
Modifier and Type | Class and Description |
---|---|
class |
AbstractDefinitionStmt |
class |
AbstractOpStmt |
class |
AbstractStmt |
class |
AbstractSwitchStmt |
class |
JAssignStmt |
class |
JBreakpointStmt |
class |
JEnterMonitorStmt |
class |
JExitMonitorStmt |
class |
JGotoStmt |
class |
JIdentityStmt |
class |
JIfStmt |
class |
JInvokeStmt |
class |
JLookupSwitchStmt |
class |
JNopStmt |
class |
JRetStmt |
class |
JReturnStmt |
class |
JReturnVoidStmt |
class |
JTableSwitchStmt |
class |
JThrowStmt |
Modifier and Type | Method and Description |
---|---|
PointsToSet |
GeomPointsTo.reachingObjects(Context c,
Local l) |
PointsToSet |
GeomPointsTo.reachingObjects(Context c,
Local l) |
PointsToSet |
GeomPointsTo.reachingObjects(Context c,
Local l,
SootField f) |
PointsToSet |
GeomPointsTo.reachingObjects(Context c,
Local l,
SootField f) |
Modifier and Type | Method and Description |
---|---|
PointsToSet |
DemandCSPointsTo.reachingObjects(Context c,
Local l)
Currently not implemented.
|
PointsToSet |
DemandCSPointsTo.reachingObjects(Context c,
Local l)
Currently not implemented.
|
PointsToSet |
DemandCSPointsTo.reachingObjects(Context c,
Local l,
SootField f)
Currently not implemented.
|
PointsToSet |
DemandCSPointsTo.reachingObjects(Context c,
Local l,
SootField f)
Currently not implemented.
|
Modifier and Type | Class and Description |
---|---|
class |
AllocNode
Represents an allocation site node (Blue) in the pointer assignment graph.
|
class |
ClassConstantNode
Represents an allocation site node the represents a known java.lang.Class
object.
|
class |
StringConstantNode
Represents an allocation site node the represents a constant string.
|
Modifier and Type | Method and Description |
---|---|
Context |
ContextVarNode.context() |
Context |
VarNode.context() |
Context |
ContextVarNode.context() |
Context |
VarNode.context() |
Modifier and Type | Method and Description |
---|---|
void |
PAG.addCallTarget(MethodPAG srcmpag,
MethodPAG tgtmpag,
Stmt s,
Context srcContext,
Context tgtContext,
Edge e)
Adds method target as a possible target of the invoke expression in s.
|
void |
PAG.addCallTarget(MethodPAG srcmpag,
MethodPAG tgtmpag,
Stmt s,
Context srcContext,
Context tgtContext,
Edge e)
Adds method target as a possible target of the invoke expression in s.
|
void |
MethodPAG.addToPAG(Context varNodeParameter)
Adds this method to the main PAG, with all VarNodes parameterized by
varNodeParameter.
|
void |
MethodPAG.addToPAG(Context varNodeParameter)
Adds this method to the main PAG, with all VarNodes parameterized by
varNodeParameter.
|
ContextVarNode |
PAG.findContextVarNode(Object baseValue,
Context context)
Finds the ContextVarNode for base variable value and context context, or
returns null.
|
ContextVarNode |
PAG.findContextVarNode(Object baseValue,
Context context)
Finds the ContextVarNode for base variable value and context context, or
returns null.
|
ContextVarNode |
PAG.makeContextVarNode(LocalVarNode base,
Context context)
Finds or creates the ContextVarNode for base variable base and context
context, of type type.
|
ContextVarNode |
PAG.makeContextVarNode(LocalVarNode base,
Context context)
Finds or creates the ContextVarNode for base variable base and context
context, of type type.
|
ContextVarNode |
PAG.makeContextVarNode(Object baseValue,
Type baseType,
Context context,
SootMethod method)
Finds or creates the ContextVarNode for base variable baseValue and
context context, of type type.
|
ContextVarNode |
PAG.makeContextVarNode(Object baseValue,
Type baseType,
Context context,
SootMethod method)
Finds or creates the ContextVarNode for base variable baseValue and
context context, of type type.
|
protected FieldRefNode |
MethodPAG.parameterize(FieldRefNode frn,
Context varNodeParameter) |
protected FieldRefNode |
MethodPAG.parameterize(FieldRefNode frn,
Context varNodeParameter) |
protected VarNode |
MethodPAG.parameterize(LocalVarNode vn,
Context varNodeParameter) |
protected VarNode |
MethodPAG.parameterize(LocalVarNode vn,
Context varNodeParameter) |
Node |
MethodPAG.parameterize(Node n,
Context varNodeParameter) |
Node |
MethodPAG.parameterize(Node n,
Context varNodeParameter) |
PointsToSet |
PAG.reachingObjects(Context c,
Local l)
Returns the set of objects pointed to by variable l in context c.
|
PointsToSet |
PAG.reachingObjects(Context c,
Local l)
Returns the set of objects pointed to by variable l in context c.
|
PointsToSet |
PAG.reachingObjects(Context c,
Local l,
SootField f)
Returns the set of objects pointed to by instance field f of the objects
pointed to by l in context c.
|
PointsToSet |
PAG.reachingObjects(Context c,
Local l,
SootField f)
Returns the set of objects pointed to by instance field f of the objects
pointed to by l in context c.
|
Modifier and Type | Method and Description |
---|---|
Context |
ContextSensitiveEdge.srcCtxt()
The context at the source of the call.
|
Context |
Edge.srcCtxt() |
Context |
Edge.srcCtxt() |
Context |
ContextSensitiveEdge.srcCtxt()
The context at the source of the call.
|
Context |
ContextSensitiveEdge.tgtCtxt()
The context at the target of the call.
|
Context |
Edge.tgtCtxt() |
Context |
Edge.tgtCtxt() |
Context |
ContextSensitiveEdge.tgtCtxt()
The context at the target of the call.
|
Modifier and Type | Method and Description |
---|---|
void |
OnFlyCallGraphBuilder.addBaseType(Local base,
Context context,
Type ty) |
void |
OnFlyCallGraphBuilder.addBaseType(Local base,
Context context,
Type ty) |
void |
OnFlyCallGraphBuilder.addInvokeArgType(AllocDotField df,
Context context,
Type type) |
void |
OnFlyCallGraphBuilder.addInvokeArgType(AllocDotField df,
Context context,
Type type) |
void |
OnFlyCallGraphBuilder.addInvokeArgType(Local argArray,
Context context,
Type t) |
void |
OnFlyCallGraphBuilder.addInvokeArgType(Local argArray,
Context context,
Type t) |
void |
OnFlyCallGraphBuilder.addPossibleArgArraySize(Local argArray,
int value,
Context context) |
void |
OnFlyCallGraphBuilder.addPossibleArgArraySize(Local argArray,
int value,
Context context) |
void |
OnFlyCallGraphBuilder.addStringConstant(Local l,
Context srcContext,
String constant) |
void |
OnFlyCallGraphBuilder.addStringConstant(Local l,
Context srcContext,
String constant) |
void |
OnFlyCallGraphBuilder.addType(Local receiver,
Context srcContext,
Type type,
Context typeContext) |
void |
OnFlyCallGraphBuilder.addType(Local receiver,
Context srcContext,
Type type,
Context typeContext) |
void |
ContextInsensitiveContextManager.addVirtualEdge(MethodOrMethodContext src,
Unit srcUnit,
SootMethod target,
Kind kind,
Context typeContext) |
void |
ContextManager.addVirtualEdge(MethodOrMethodContext src,
Unit srcUnit,
SootMethod target,
Kind kind,
Context typeContext) |
void |
ObjSensContextManager.addVirtualEdge(MethodOrMethodContext src,
Unit srcUnit,
SootMethod target,
Kind kind,
Context typeContext) |
void |
OneCFAContextManager.addVirtualEdge(MethodOrMethodContext src,
Unit srcUnit,
SootMethod target,
Kind kind,
Context typeContext) |
void |
ObjSensContextManager.addVirtualEdge(MethodOrMethodContext src,
Unit srcUnit,
SootMethod target,
Kind kind,
Context typeContext) |
void |
ContextManager.addVirtualEdge(MethodOrMethodContext src,
Unit srcUnit,
SootMethod target,
Kind kind,
Context typeContext) |
void |
OneCFAContextManager.addVirtualEdge(MethodOrMethodContext src,
Unit srcUnit,
SootMethod target,
Kind kind,
Context typeContext) |
void |
ContextInsensitiveContextManager.addVirtualEdge(MethodOrMethodContext src,
Unit srcUnit,
SootMethod target,
Kind kind,
Context typeContext) |
Iterator |
ContextSensitiveCallGraph.edgesInto(Context tgtCtxt,
SootMethod tgt)
Returns all ContextSensitiveEdge's into method tgt in context tgtCtxt.
|
Iterator |
ContextSensitiveCallGraph.edgesInto(Context tgtCtxt,
SootMethod tgt)
Returns all ContextSensitiveEdge's into method tgt in context tgtCtxt.
|
Iterator |
ContextSensitiveCallGraph.edgesOutOf(Context srcCtxt,
SootMethod src)
Returns all ContextSensitiveEdge's out of method src
in context srcCtxt.
|
Iterator |
ContextSensitiveCallGraph.edgesOutOf(Context srcCtxt,
SootMethod src)
Returns all ContextSensitiveEdge's out of method src
in context srcCtxt.
|
Iterator |
ContextSensitiveCallGraph.edgesOutOf(Context srcCtxt,
SootMethod src,
Unit srcUnit)
Returns all ContextSensitiveEdge's out of unit srcUnit in method src
in context srcCtxt.
|
Iterator |
ContextSensitiveCallGraph.edgesOutOf(Context srcCtxt,
SootMethod src,
Unit srcUnit)
Returns all ContextSensitiveEdge's out of unit srcUnit in method src
in context srcCtxt.
|
void |
OnFlyCallGraphBuilder.setArgArrayNonDetSize(Local argArray,
Context context) |
void |
OnFlyCallGraphBuilder.setArgArrayNonDetSize(Local argArray,
Context context) |
Modifier and Type | Method and Description |
---|---|
PointsToSet |
DumbPointerAnalysis.reachingObjects(Context c,
Local l)
Returns the set of objects pointed to by variable l in context c.
|
PointsToSet |
DumbPointerAnalysis.reachingObjects(Context c,
Local l)
Returns the set of objects pointed to by variable l in context c.
|
PointsToSet |
DumbPointerAnalysis.reachingObjects(Context c,
Local l,
SootField f)
Returns the set of objects pointed to by instance field f
of the objects pointed to by l in context c.
|
PointsToSet |
DumbPointerAnalysis.reachingObjects(Context c,
Local l,
SootField f)
Returns the set of objects pointed to by instance field f
of the objects pointed to by l in context c.
|