| Modifier and Type | Field and Description |
|---|---|
java.util.Map<AllocNode,GeometricManager> |
FullSensitiveNode.new_pts |
java.util.Map<AllocNode,GeometricManager> |
FullSensitiveNode.new_pts |
java.util.Map<AllocNode,GeometricManager> |
FullSensitiveNode.pt_objs |
java.util.Map<AllocNode,GeometricManager> |
FullSensitiveNode.pt_objs |
| Modifier and Type | Method and Description |
|---|---|
java.util.Set<AllocNode> |
FullSensitiveNode.get_all_points_to_objects() |
java.util.Set<AllocNode> |
FullSensitiveNode.get_all_points_to_objects() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
FullSensitiveNode.add_points_to_3(AllocNode obj,
long I1,
long I2,
long L) |
boolean |
FullSensitiveNode.add_points_to_3(AllocNode obj,
long I1,
long I2,
long L) |
boolean |
FullSensitiveNode.add_points_to_4(AllocNode obj,
long I1,
long I2,
long L1,
long L2) |
boolean |
FullSensitiveNode.add_points_to_4(AllocNode obj,
long I1,
long I2,
long L1,
long L2) |
int |
FullSensitiveNode.count_pts_intervals(AllocNode obj) |
int |
FullSensitiveNode.count_pts_intervals(AllocNode obj) |
boolean |
FullSensitiveNode.isDeadObject(AllocNode obj) |
boolean |
FullSensitiveNode.isDeadObject(AllocNode obj) |
boolean |
FullSensitiveNode.pointer_interval_points_to(long l,
long r,
AllocNode obj) |
boolean |
FullSensitiveNode.pointer_interval_points_to(long l,
long r,
AllocNode obj) |
void |
FullSensitiveNode.remove_points_to(AllocNode obj) |
void |
FullSensitiveNode.remove_points_to(AllocNode obj) |
| Modifier and Type | Method and Description |
|---|---|
java.util.Set<AllocNode> |
DummyNode.get_all_points_to_objects() |
abstract java.util.Set<AllocNode> |
IVarAbstraction.get_all_points_to_objects()
Obtain context insensitive points-to result (by removing contexts).
|
java.util.Set<AllocNode> |
DummyNode.get_all_points_to_objects() |
abstract java.util.Set<AllocNode> |
IVarAbstraction.get_all_points_to_objects()
Obtain context insensitive points-to result (by removing contexts).
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
DummyNode.add_points_to_3(AllocNode obj,
long I1,
long I2,
long L) |
abstract boolean |
IVarAbstraction.add_points_to_3(AllocNode obj,
long I1,
long I2,
long L) |
boolean |
DummyNode.add_points_to_3(AllocNode obj,
long I1,
long I2,
long L) |
abstract boolean |
IVarAbstraction.add_points_to_3(AllocNode obj,
long I1,
long I2,
long L) |
boolean |
DummyNode.add_points_to_4(AllocNode obj,
long I1,
long I2,
long L1,
long L2) |
abstract boolean |
IVarAbstraction.add_points_to_4(AllocNode obj,
long I1,
long I2,
long L1,
long L2) |
boolean |
DummyNode.add_points_to_4(AllocNode obj,
long I1,
long I2,
long L1,
long L2) |
abstract boolean |
IVarAbstraction.add_points_to_4(AllocNode obj,
long I1,
long I2,
long L1,
long L2) |
int |
DummyNode.count_pts_intervals(AllocNode obj) |
abstract int |
IVarAbstraction.count_pts_intervals(AllocNode obj) |
int |
DummyNode.count_pts_intervals(AllocNode obj) |
abstract int |
IVarAbstraction.count_pts_intervals(AllocNode obj) |
IVarAbstraction |
GeomPointsTo.findAndInsertInstanceField(AllocNode obj,
SparkField field)
Obtain or create an internal representation of an object field.
|
IVarAbstraction |
GeomPointsTo.findAndInsertInstanceField(AllocNode obj,
SparkField field)
Obtain or create an internal representation of an object field.
|
IVarAbstraction |
GeomPointsTo.findInstanceField(AllocNode obj,
SparkField field)
Obtain the internal representation of an object field.
|
IVarAbstraction |
GeomPointsTo.findInstanceField(AllocNode obj,
SparkField field)
Obtain the internal representation of an object field.
|
boolean |
DummyNode.isDeadObject(AllocNode obj) |
abstract boolean |
IVarAbstraction.isDeadObject(AllocNode obj)
Test if the particular object has been obsoleted.
|
boolean |
DummyNode.isDeadObject(AllocNode obj) |
abstract boolean |
IVarAbstraction.isDeadObject(AllocNode obj)
Test if the particular object has been obsoleted.
|
boolean |
DummyNode.pointer_interval_points_to(long l,
long r,
AllocNode obj) |
abstract boolean |
IVarAbstraction.pointer_interval_points_to(long l,
long r,
AllocNode obj)
Test if the pointer in the context range [l, R) points to object obj.
|
boolean |
DummyNode.pointer_interval_points_to(long l,
long r,
AllocNode obj) |
abstract boolean |
IVarAbstraction.pointer_interval_points_to(long l,
long r,
AllocNode obj)
Test if the pointer in the context range [l, R) points to object obj.
|
PointsToSet |
GeomPointsTo.reachingObjects(AllocNode an,
SootField f) |
PointsToSet |
GeomPointsTo.reachingObjects(AllocNode an,
SootField f) |
void |
DummyNode.remove_points_to(AllocNode obj) |
abstract void |
IVarAbstraction.remove_points_to(AllocNode obj) |
void |
DummyNode.remove_points_to(AllocNode obj) |
abstract void |
IVarAbstraction.remove_points_to(AllocNode obj) |
| Modifier and Type | Field and Description |
|---|---|
java.util.Map<AllocNode,HeapInsIntervalManager> |
HeapInsNode.new_pts |
java.util.Map<AllocNode,HeapInsIntervalManager> |
HeapInsNode.new_pts |
java.util.HashMap<AllocNode,HeapInsIntervalManager> |
HeapInsNode.pt_objs |
java.util.HashMap<AllocNode,HeapInsIntervalManager> |
HeapInsNode.pt_objs |
| Modifier and Type | Method and Description |
|---|---|
java.util.Set<AllocNode> |
HeapInsNode.get_all_points_to_objects() |
java.util.Set<AllocNode> |
HeapInsNode.get_all_points_to_objects() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
HeapInsNode.add_points_to_3(AllocNode obj,
long I1,
long I2,
long L) |
boolean |
HeapInsNode.add_points_to_3(AllocNode obj,
long I1,
long I2,
long L) |
boolean |
HeapInsNode.add_points_to_4(AllocNode obj,
long I1,
long I2,
long L1,
long L2) |
boolean |
HeapInsNode.add_points_to_4(AllocNode obj,
long I1,
long I2,
long L1,
long L2) |
int |
HeapInsNode.count_pts_intervals(AllocNode obj) |
int |
HeapInsNode.count_pts_intervals(AllocNode obj) |
boolean |
HeapInsNode.isDeadObject(AllocNode obj) |
boolean |
HeapInsNode.isDeadObject(AllocNode obj) |
boolean |
HeapInsNode.pointer_interval_points_to(long l,
long r,
AllocNode obj) |
boolean |
HeapInsNode.pointer_interval_points_to(long l,
long r,
AllocNode obj) |
void |
HeapInsNode.remove_points_to(AllocNode obj) |
void |
HeapInsNode.remove_points_to(AllocNode obj) |
| Modifier and Type | Field and Description |
|---|---|
java.util.Map<AllocNode,PtInsIntervalManager> |
PtInsNode.new_pts
Deprecated.
|
java.util.Map<AllocNode,PtInsIntervalManager> |
PtInsNode.new_pts
Deprecated.
|
java.util.Map<AllocNode,PtInsIntervalManager> |
PtInsNode.pt_objs
Deprecated.
|
java.util.Map<AllocNode,PtInsIntervalManager> |
PtInsNode.pt_objs
Deprecated.
|
| Modifier and Type | Method and Description |
|---|---|
java.util.Set<AllocNode> |
PtInsNode.get_all_points_to_objects()
Deprecated.
|
java.util.Set<AllocNode> |
PtInsNode.get_all_points_to_objects()
Deprecated.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
PtInsNode.add_points_to_3(AllocNode obj,
long I1,
long I2,
long L)
Deprecated.
|
boolean |
PtInsNode.add_points_to_3(AllocNode obj,
long I1,
long I2,
long L)
Deprecated.
|
boolean |
PtInsNode.add_points_to_4(AllocNode obj,
long I1,
long I2,
long L1,
long L2)
Deprecated.
|
boolean |
PtInsNode.add_points_to_4(AllocNode obj,
long I1,
long I2,
long L1,
long L2)
Deprecated.
|
int |
PtInsNode.count_pts_intervals(AllocNode obj)
Deprecated.
|
int |
PtInsNode.count_pts_intervals(AllocNode obj)
Deprecated.
|
boolean |
PtInsNode.isDeadObject(AllocNode obj)
Deprecated.
|
boolean |
PtInsNode.isDeadObject(AllocNode obj)
Deprecated.
|
boolean |
PtInsNode.pointer_interval_points_to(long l,
long r,
AllocNode obj)
Deprecated.
|
boolean |
PtInsNode.pointer_interval_points_to(long l,
long r,
AllocNode obj)
Deprecated.
|
void |
PtInsNode.remove_points_to(AllocNode obj)
Deprecated.
|
void |
PtInsNode.remove_points_to(AllocNode obj)
Deprecated.
|
| Modifier and Type | Field and Description |
|---|---|
protected QueueReader<AllocNode> |
TypeManager.allocNodeListener |
protected QueueReader<AllocNode> |
TypeManager.allocNodeListener |
| Modifier and Type | Field and Description |
|---|---|
AllocNode |
AllocAndContext.alloc |
AllocNode |
AllocAndContext.alloc |
| Modifier and Type | Method and Description |
|---|---|
void |
DotPointerGraph.addNew(AllocNode from,
VarNode to) |
void |
DotPointerGraph.addNew(AllocNode from,
VarNode to) |
protected java.util.Set<VarNode> |
DemandCSPointsTo.computeFlowsTo(AllocNode alloc,
HeuristicType heuristic)
compute a flows-to set for an allocation site.
|
protected java.util.Set<VarNode> |
DemandCSPointsTo.computeFlowsTo(AllocNode alloc,
HeuristicType heuristic)
compute a flows-to set for an allocation site.
|
protected void |
DemandCSPointsTo.dumpPathForLoc(VarNode v,
AllocNode badLoc,
java.lang.String filePrefix) |
protected void |
DemandCSPointsTo.dumpPathForLoc(VarNode v,
AllocNode badLoc,
java.lang.String filePrefix) |
abstract void |
DemandCSPointsTo.IncomingEdgeHandler.handleAlloc(AllocNode allocNode,
DemandCSPointsTo.VarAndContext origVarAndContext) |
abstract void |
DemandCSPointsTo.IncomingEdgeHandler.handleAlloc(AllocNode allocNode,
DemandCSPointsTo.VarAndContext origVarAndContext) |
| Constructor and Description |
|---|
AllocAndContext(AllocNode alloc,
ImmutableStack<java.lang.Integer> context) |
AllocAndContext(AllocNode alloc,
ImmutableStack<java.lang.Integer> context) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
AllocationSiteHandler.handleAllocationSite(AllocNode allocNode,
ImmutableStack<java.lang.Integer> callStack)
handle a particular allocation site
|
boolean |
AllocationSiteHandler.PointsToSetHandler.handleAllocationSite(AllocNode allocNode,
ImmutableStack<java.lang.Integer> callStack) |
boolean |
AllocationSiteHandler.CastCheckHandler.handleAllocationSite(AllocNode allocNode,
ImmutableStack<java.lang.Integer> callStack) |
boolean |
AllocationSiteHandler.VirtualCallHandler.handleAllocationSite(AllocNode allocNode,
ImmutableStack<java.lang.Integer> callStack) |
boolean |
AllocationSiteHandler.handleAllocationSite(AllocNode allocNode,
ImmutableStack<java.lang.Integer> callStack)
handle a particular allocation site
|
boolean |
AllocationSiteHandler.PointsToSetHandler.handleAllocationSite(AllocNode allocNode,
ImmutableStack<java.lang.Integer> callStack) |
boolean |
AllocationSiteHandler.CastCheckHandler.handleAllocationSite(AllocNode allocNode,
ImmutableStack<java.lang.Integer> callStack) |
boolean |
AllocationSiteHandler.VirtualCallHandler.handleAllocationSite(AllocNode allocNode,
ImmutableStack<java.lang.Integer> callStack) |
| Modifier and Type | Class and Description |
|---|---|
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 | Field and Description |
|---|---|
protected AllocNode |
AllocDotField.base |
protected AllocNode |
AllocDotField.base |
| Modifier and Type | Field and Description |
|---|---|
protected java.util.Map<AllocNode,java.lang.Object> |
PAG.alloc |
protected java.util.Map<AllocNode,java.lang.Object> |
PAG.alloc |
| Modifier and Type | Method and Description |
|---|---|
AllocNode |
AllocDotField.getBase()
Returns the base AllocNode.
|
AllocNode |
AllocDotField.getBase()
Returns the base AllocNode.
|
AllocNode |
PAG.makeAllocNode(java.lang.Object newExpr,
Type type,
SootMethod m) |
AllocNode |
PAG.makeAllocNode(java.lang.Object newExpr,
Type type,
SootMethod m) |
AllocNode |
PAG.makeClassConstantNode(ClassConstant cc) |
AllocNode |
PAG.makeClassConstantNode(ClassConstant cc) |
AllocNode |
PAG.makeStringConstantNode(java.lang.String s) |
AllocNode |
PAG.makeStringConstantNode(java.lang.String s) |
| Modifier and Type | Method and Description |
|---|---|
QueueReader<AllocNode> |
PAG.allocNodeListener() |
QueueReader<AllocNode> |
PAG.allocNodeListener() |
java.util.Set<AllocNode> |
PAG.allocSources() |
java.util.Set<AllocNode> |
PAG.allocSources() |
java.util.Iterator<AllocNode> |
PAG.allocSourcesIterator() |
java.util.Iterator<AllocNode> |
PAG.allocSourcesIterator() |
ArrayNumberer<AllocNode> |
PAG.getAllocNodeNumberer() |
ArrayNumberer<AllocNode> |
PAG.getAllocNodeNumberer() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
PAG.addAllocEdge(AllocNode from,
VarNode to) |
boolean |
PAG.addAllocEdge(AllocNode from,
VarNode to) |
Node[] |
PAG.allocLookup(AllocNode key) |
Node[] |
PAG.allocLookup(AllocNode key) |
boolean |
PAG.doAddAllocEdge(AllocNode from,
VarNode to) |
boolean |
PAG.doAddAllocEdge(AllocNode from,
VarNode to) |
AllocDotField |
PAG.findAllocDotField(AllocNode an,
SparkField field)
Finds the AllocDotField for base AllocNode an and field
field, or returns null.
|
AllocDotField |
PAG.findAllocDotField(AllocNode an,
SparkField field)
Finds the AllocDotField for base AllocNode an and field
field, or returns null.
|
AllocDotField |
PAG.makeAllocDotField(AllocNode an,
SparkField field)
Finds or creates the AllocDotField for base variable baseValue and field
field, of type t.
|
AllocDotField |
PAG.makeAllocDotField(AllocNode an,
SparkField field)
Finds or creates the AllocDotField for base variable baseValue and field
field, of type t.
|
static java.lang.String |
PagToDotDumper.makeLabel(AllocNode n) |
static java.lang.String |
PagToDotDumper.makeLabel(AllocNode n) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
Checker.handleAllocNode(AllocNode src) |
protected void |
MergeChecker.handleAllocNode(AllocNode src) |
protected boolean |
PropAlias.handleAllocNode(AllocNode src)
Propagates new points-to information of node src to all its
successors.
|
protected boolean |
PropIter.handleAllocNode(AllocNode src)
Propagates new points-to information of node src to all its
successors.
|
protected boolean |
PropMerge.handleAllocNode(AllocNode src)
Propagates new points-to information of node src to all its
successors.
|
protected boolean |
PropWorklist.handleAllocNode(AllocNode src)
Propagates new points-to information of node src to all its
successors.
|
protected boolean |
PropWorklist.handleAllocNode(AllocNode src)
Propagates new points-to information of node src to all its
successors.
|
protected boolean |
PropIter.handleAllocNode(AllocNode src)
Propagates new points-to information of node src to all its
successors.
|
protected boolean |
PropMerge.handleAllocNode(AllocNode src)
Propagates new points-to information of node src to all its
successors.
|
protected void |
Checker.handleAllocNode(AllocNode src) |
protected void |
MergeChecker.handleAllocNode(AllocNode src) |
protected boolean |
PropAlias.handleAllocNode(AllocNode src)
Propagates new points-to information of node src to all its
successors.
|
| Modifier and Type | Field and Description |
|---|---|
protected java.util.Map<AllocNode,java.lang.String> |
PegGraph.allocNodeToObj |
protected java.util.Map<AllocNode,java.lang.String> |
PegGraph.allocNodeToObj |
protected java.util.Map<AllocNode,PegChain> |
PegGraph.allocNodeToThread |
protected java.util.Map<AllocNode,PegChain> |
PegGraph.allocNodeToThread |
| Modifier and Type | Method and Description |
|---|---|
protected java.util.Map<AllocNode,java.lang.String> |
PegGraph.getAllocNodeToObj() |
protected java.util.Map<AllocNode,java.lang.String> |
PegGraph.getAllocNodeToObj() |
java.util.Map<AllocNode,PegChain> |
PegGraph.getAllocNodeToThread() |
java.util.Map<AllocNode,PegChain> |
PegGraph.getAllocNodeToThread() |
java.util.Map<Stmt,java.util.List<AllocNode>> |
StartJoinAnalysis.getStartToAllocNodes() |
java.util.Map<Stmt,java.util.List<AllocNode>> |
StartJoinFinder.getStartToAllocNodes() |
java.util.Map<Stmt,java.util.List<AllocNode>> |
StartJoinAnalysis.getStartToAllocNodes() |
java.util.Map<Stmt,java.util.List<AllocNode>> |
StartJoinFinder.getStartToAllocNodes() |
| Constructor and Description |
|---|
PegGraph(CallGraph callGraph,
Hierarchy hierarchy,
PAG pag,
java.util.Set<java.lang.Object> methodsNeedingInlining,
java.util.Set<AllocNode> allocNodes,
java.util.List inlineSites,
java.util.Map synchObj,
java.util.Set<AllocNode> multiRunAllocNodes,
java.util.Map allocNodeToObj,
Body unitBody,
SootMethod sm,
boolean addExceptionEdges,
boolean dontAddEdgeFromStmtBeforeAreaOfProtectionToCatchBlock)
Constructs a graph for the units found in the provided
Body instance.
|
PegGraph(CallGraph callGraph,
Hierarchy hierarchy,
PAG pag,
java.util.Set<java.lang.Object> methodsNeedingInlining,
java.util.Set<AllocNode> allocNodes,
java.util.List inlineSites,
java.util.Map synchObj,
java.util.Set<AllocNode> multiRunAllocNodes,
java.util.Map allocNodeToObj,
Body unitBody,
SootMethod sm,
boolean addExceptionEdges,
boolean dontAddEdgeFromStmtBeforeAreaOfProtectionToCatchBlock)
Constructs a graph for the units found in the provided
Body instance.
|
PegGraph(CallGraph callGraph,
Hierarchy hierarchy,
PAG pag,
java.util.Set<java.lang.Object> methodsNeedingInlining,
java.util.Set<AllocNode> allocNodes,
java.util.List inlineSites,
java.util.Map synchObj,
java.util.Set<AllocNode> multiRunAllocNodes,
java.util.Map allocNodeToObj,
Body unitBody,
SootMethod sm,
boolean addExceptionEdges,
boolean dontAddEdgeFromStmtBeforeAreaOfProtectionToCatchBlock)
Constructs a graph for the units found in the provided
Body instance.
|
PegGraph(CallGraph callGraph,
Hierarchy hierarchy,
PAG pag,
java.util.Set<java.lang.Object> methodsNeedingInlining,
java.util.Set<AllocNode> allocNodes,
java.util.List inlineSites,
java.util.Map synchObj,
java.util.Set<AllocNode> multiRunAllocNodes,
java.util.Map allocNodeToObj,
Body unitBody,
SootMethod sm,
boolean addExceptionEdges,
boolean dontAddEdgeFromStmtBeforeAreaOfProtectionToCatchBlock)
Constructs a graph for the units found in the provided
Body instance.
|
PegGraph(CallGraph callGraph,
Hierarchy hierarchy,
PAG pag,
java.util.Set methodsNeedingInlining,
java.util.Set allocNodes,
java.util.List<java.util.List> inlineSites,
java.util.Map<SootMethod,java.lang.String> synchObj,
java.util.Set multiRunAllocNodes,
java.util.Map<AllocNode,java.lang.String> allocNodeToObj,
Body unitBody,
java.lang.String threadName,
SootMethod sm,
boolean addExceEdge,
boolean dontAddEdgeFromStmtBeforeAreaOfProtectionToCatchBlock)
Constructs a graph for the units found in the provided
Body instance.
|
PegGraph(CallGraph callGraph,
Hierarchy hierarchy,
PAG pag,
java.util.Set methodsNeedingInlining,
java.util.Set allocNodes,
java.util.List<java.util.List> inlineSites,
java.util.Map<SootMethod,java.lang.String> synchObj,
java.util.Set multiRunAllocNodes,
java.util.Map<AllocNode,java.lang.String> allocNodeToObj,
Body unitBody,
java.lang.String threadName,
SootMethod sm,
boolean addExceEdge,
boolean dontAddEdgeFromStmtBeforeAreaOfProtectionToCatchBlock)
Constructs a graph for the units found in the provided
Body instance.
|
| Modifier and Type | Method and Description |
|---|---|
java.util.Set<AllocNode> |
AllocNodesFinder.getAllocNodes() |
java.util.Set<AllocNode> |
AllocNodesFinder.getAllocNodes() |
java.util.Set<AllocNode> |
AllocNodesFinder.getMultiRunAllocNodes() |
java.util.Set<AllocNode> |
AllocNodesFinder.getMultiRunAllocNodes() |