| Modifier and Type | Field and Description |
|---|---|
protected AllocNode |
PTA.rootNode |
| Modifier and Type | Method and Description |
|---|---|
AllocNode |
CorePTA.getRootNode() |
abstract AllocNode |
PTA.getRootNode() |
| Modifier and Type | Method and Description |
|---|---|
Context |
CorePTA.createCalleeCtx(ContextMethod caller,
AllocNode receiverNode,
CallSite callSite,
SootMethod target) |
abstract Context |
PTA.createCalleeCtx(ContextMethod caller,
AllocNode receiverNode,
CallSite callSite,
SootMethod target) |
protected ContextAllocNode |
CorePTA.parameterize(AllocNode node,
Context context) |
PointsToSet |
PTA.reachingObjectsInternal(AllocNode heap,
SparkField f) |
| Modifier and Type | Method and Description |
|---|---|
void |
ExceptionHandler.dispatch(AllocNode throwObj,
ExceptionThrowSite site) |
protected void |
CallGraphBuilder.dispatch(AllocNode receiverNode,
VirtualCallSite site) |
| Modifier and Type | Method and Description |
|---|---|
static TypeContextElement |
TypeContextElement.getTypeContextElement(AllocNode a) |
| Modifier and Type | Class and Description |
|---|---|
class |
ClassConstantNode
Represents an allocation site node the represents a known java.lang.Class object.
|
class |
ConstantNode |
class |
ContextAllocNode |
class |
StringConstantNode
Represents an allocation site node the represents a constant string.
|
| Modifier and Type | Field and Description |
|---|---|
protected Map<AllocNode,Set<VarNode>> |
PAG.alloc |
protected Map<VarNode,Set<AllocNode>> |
PAG.allocInv |
protected ArrayNumberer<AllocNode> |
PAG.allocNodeNumberer |
protected Map<AllocNode,Map<Context,ContextAllocNode>> |
PAG.contextAllocNodeMap |
protected Map<Object,AllocNode> |
PAG.valToAllocNode |
| Modifier and Type | Method and Description |
|---|---|
AllocNode |
ContextAllocNode.base() |
AllocNode |
AllocNode.base() |
AllocNode |
PAG.findAllocNode(Object obj) |
AllocNode |
PAG.getAllocNode(Object val) |
AllocNode |
ContextField.getBase() |
AllocNode |
PAG.makeAllocNode(Object newExpr,
Type type,
SootMethod m) |
AllocNode |
PAG.makeClassConstantNode(ClassConstant cc) |
AllocNode |
PAG.makeStringConstantNode(StringConstant sc) |
| Modifier and Type | Method and Description |
|---|---|
Set<AllocNode> |
PAG.allocInvLookup(VarNode key) |
Map<AllocNode,Set<VarNode>> |
PAG.getAlloc() |
ArrayNumberer<AllocNode> |
PAG.getAllocNodeNumberer() |
Collection<AllocNode> |
PAG.getAllocNodes() |
Map<AllocNode,Map<Context,ContextAllocNode>> |
PAG.getContextAllocNodeMap() |
| Modifier and Type | Method and Description |
|---|---|
Set<VarNode> |
PAG.allocLookup(AllocNode key) |
ContextAllocNode |
PAG.makeContextAllocNode(AllocNode allocNode,
Context context)
Finds or creates the ContextAllocNode for base alloc site and context.
|
| Constructor and Description |
|---|
ContextAllocNode(AllocNode base,
Context context) |
| Modifier and Type | Method and Description |
|---|---|
Iterator<AllocNode> |
PointsToSet.iterator() |
Iterator<AllocNode> |
UnmodifiablePointsToSet.iterator() |
Collection<AllocNode> |
PointsToSet.toCollection() |
Collection<AllocNode> |
UnmodifiablePointsToSet.toCollection() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
PointsToSet.contains(AllocNode n)
Returns true iff the set contains n.
|
boolean |
UnmodifiablePointsToSet.contains(AllocNode n) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
Solver.propagatePTS(ValNode pointer,
AllocNode heap) |
| Modifier and Type | Method and Description |
|---|---|
AllocNode |
AllocSiteAbstractor.abstractHeap(AllocNode heap) |
AllocNode |
HeuristicAbstractor.abstractHeap(AllocNode heap) |
AllocNode |
MahjongAbstractor.abstractHeap(AllocNode heap) |
AllocNode |
HeapAbstractor.abstractHeap(AllocNode heap) |
| Modifier and Type | Method and Description |
|---|---|
AllocNode |
AllocSiteAbstractor.abstractHeap(AllocNode heap) |
AllocNode |
HeuristicAbstractor.abstractHeap(AllocNode heap) |
AllocNode |
MahjongAbstractor.abstractHeap(AllocNode heap) |
AllocNode |
HeapAbstractor.abstractHeap(AllocNode heap) |
| Modifier and Type | Method and Description |
|---|---|
abstract Context |
CtxSelector.select(AllocNode heap,
Context context) |
Context |
InsenSelector.select(AllocNode heap,
Context context) |
Context |
DebloatingSelector.select(AllocNode heap,
Context context) |
Context |
PartialVarSelector.select(AllocNode heap,
Context context) |
Context |
BeanSelector.select(AllocNode heap,
Context context) |
Context |
PipelineSelector.select(AllocNode heap,
Context context) |
Context |
UniformSelector.select(AllocNode heap,
Context context) |
Context |
PartialMethodLvSelector.select(AllocNode heap,
Context context) |
Context |
HeuristicSelector.select(AllocNode heap,
Context context) |
Context |
VarLvSelector.select(AllocNode heap,
Context context) |
Context |
FullMethodLvSelector.select(AllocNode heap,
Context context) |
| Modifier and Type | Field and Description |
|---|---|
protected Map<Pair<ContextElements,AllocNode>,Set<Pair<ContextElements,AllocNode>>> |
ContextSelector.allocation |
protected Map<Pair<ContextElements,AllocNode>,Set<Pair<ContextElements,AllocNode>>> |
ContextSelector.allocation |
protected Map<AllocNode,Set<ContextElements>> |
ContextSelector.contextMap |
| Modifier and Type | Method and Description |
|---|---|
Set<Pair<ContextElements,AllocNode>> |
ContextSelector.allocatedBy(ContextElements ctx,
AllocNode heap) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
ContextSelector.addAllocation(ContextElements ctx,
AllocNode heap,
ContextElements newCtx,
AllocNode succ) |
Set<Pair<ContextElements,AllocNode>> |
ContextSelector.allocatedBy(ContextElements ctx,
AllocNode heap) |
Set<ContextElements> |
ContextSelector.contextsOf(AllocNode heap) |
| Modifier and Type | Field and Description |
|---|---|
protected Set<AllocNode> |
OAG.nodes |
protected Map<AllocNode,Set<AllocNode>> |
OAG.predecessors |
protected Map<AllocNode,Set<AllocNode>> |
OAG.predecessors |
protected Collection<AllocNode> |
OAG.rootNodes |
protected Map<AllocNode,Set<AllocNode>> |
OAG.successors |
protected Map<AllocNode,Set<AllocNode>> |
OAG.successors |
protected Collection<AllocNode> |
OAG.tailNodes |
| Modifier and Type | Method and Description |
|---|---|
Collection<AllocNode> |
OAG.allNodes() |
Set<AllocNode> |
FieldPointstoGraph.getAllObjs() |
Set<AllocNode> |
OAG.getPredsOf(AllocNode n) |
Set<AllocNode> |
OAG.getSuccsOf(AllocNode n) |
Set<AllocNode> |
FieldPointstoGraph.pointedBy(AllocNode obj,
SparkField field) |
Set<AllocNode> |
FieldPointstoGraph.pointsTo(AllocNode baseObj,
SparkField field) |
Collection<AllocNode> |
OAG.predsOf(AllocNode p) |
Collection<AllocNode> |
OAG.rootNodes() |
Collection<AllocNode> |
OAG.succsOf(AllocNode p) |
Collection<AllocNode> |
OAG.tailNodes() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
DebloatedOAG.addEdge(AllocNode src,
AllocNode tgt) |
protected void |
OAG.addEdge(AllocNode src,
AllocNode tgt)
Add a directed object allocation edge to the OAG.
|
int |
OAG.getInDegreeOf(AllocNode n) |
Set<AllocNode> |
OAG.getPredsOf(AllocNode n) |
Set<AllocNode> |
OAG.getSuccsOf(AllocNode n) |
boolean |
FieldPointstoGraph.hasFieldPointer(AllocNode obj,
SparkField field) |
Set<SparkField> |
FieldPointstoGraph.inFieldsOf(AllocNode obj) |
Set<SparkField> |
FieldPointstoGraph.outFieldsOf(AllocNode baseObj) |
Set<AllocNode> |
FieldPointstoGraph.pointedBy(AllocNode obj,
SparkField field) |
Set<AllocNode> |
FieldPointstoGraph.pointsTo(AllocNode baseObj,
SparkField field) |
Collection<AllocNode> |
OAG.predsOf(AllocNode p) |
boolean |
OAG.reaches(AllocNode source,
AllocNode dest) |
Collection<AllocNode> |
OAG.succsOf(AllocNode p) |
| Constructor and Description |
|---|
DebloatedOAG(PTA prePta,
Set<AllocNode> ctxDepHeaps) |
| Modifier and Type | Field and Description |
|---|---|
protected Map<AllocNode,Set<SootMethod>> |
AbstractConch.invokedMethods |
protected Map<AllocNode,Set<SparkField>> |
AbstractConch.o2fs |
protected Map<AllocNode,Map<SparkField,Set<VarNode>>> |
AbstractConch.o2nonThisFLoads |
protected Map<AllocNode,Map<SparkField,Set<Pair<VarNode,VarNode>>>> |
AbstractConch.o2nonThisFStores |
protected Map<SootMethod,Map<Stmt,AllocNode>> |
AbstractPAG.symbolicHeaps |
| Modifier and Type | Method and Description |
|---|---|
protected AllocNode |
AbstractPAG.getSymbolicHeapOf(SootMethod method,
Stmt invokeStmt) |
| Modifier and Type | Method and Description |
|---|---|
Set<AllocNode> |
Conch.ctxDependentHeaps2() |
Set<AllocNode> |
Conch.ctxIndenpendentHeaps() |
Set<AllocNode> |
CSDG.noOutDegreeNodes() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
DepOnParamAnalysis.addNewEdge(AllocNode from,
LocalVarNode to) |
protected void |
AbstractPAG.addNewEdge(AllocNode from,
LocalVarNode to) |
protected void |
LeakAnalysis.addNewEdge(AllocNode from,
LocalVarNode to) |
protected boolean |
AbstractConch.emptyFieldPts(AllocNode heap,
SparkField field) |
protected boolean |
AbstractConch.hasLoadOn(AllocNode heap,
SparkField field) |
protected boolean |
AbstractConch.hasStoreOn(AllocNode heap,
SparkField field) |
boolean |
LeakAnalysis.isLeakObject(AllocNode heap) |
void |
CSDG.removeNode(AllocNode to) |
| Modifier and Type | Method and Description |
|---|---|
Context |
DataDrivenSelector.select(AllocNode heap,
Context context) |
| Modifier and Type | Field and Description |
|---|---|
protected Set<AllocNode> |
DebloaterX.containerFactory |
protected Set<AllocNode> |
DebloaterX.containerWrapper |
protected Set<AllocNode> |
DebloaterX.ctxDepHeaps |
protected Set<AllocNode> |
CollectionHeuristic.ctxDepHeaps |
protected Set<AllocNode> |
DebloaterX.innerContainer |
protected Map<SootMethod,Set<AllocNode>> |
XUtility.m2receiverObjects |
protected Map<AllocNode,Set<SparkField>> |
XUtility.o2Fields |
protected Map<AllocNode,HeapContainerQuery> |
XUtility.o2HCQ |
protected Map<AllocNode,Set<SootMethod>> |
XUtility.o2InvokedMethods |
protected Map<AllocNode,Map<SparkField,Set<VarNode>>> |
XUtility.o2nonThisFLoads |
protected Map<AllocNode,Map<SparkField,Set<VarNode>>> |
XUtility.o2nonThisFStores |
| Modifier and Type | Method and Description |
|---|---|
Set<AllocNode> |
DebloaterX.getCtxDepHeaps() |
Set<AllocNode> |
CollectionHeuristic.getCtxDepHeaps() |
Set<AllocNode> |
XUtility.getReceiverObjects(SootMethod method) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
XPAG.addNewEdge(AllocNode from,
LocalVarNode to) |
Set<SparkField> |
XUtility.getFields(AllocNode heap) |
HeapContainerQuery |
XUtility.getHCQ(AllocNode heap) |
Set<SootMethod> |
XUtility.getInvokedMethods(AllocNode heap) |
boolean |
XUtility.hasNonThisLoadFromField(AllocNode heap,
SparkField field) |
boolean |
XUtility.hasNonThisStoreOnField(AllocNode heap,
SparkField field) |
boolean |
ContainerFinder.isAContainer(AllocNode heap) |
boolean |
IntraFlowAnalysis.isContentFromParam(AllocNode heap) |
boolean |
IntraFlowAnalysis.isDirectlyReturnedHeap(AllocNode heap) |
Set<SparkField> |
IntraFlowAnalysis.retrieveStoreFields(AllocNode heap) |
| Constructor and Description |
|---|
HeapContainerQuery(XUtility utility,
AllocNode heap) |
| Modifier and Type | Method and Description |
|---|---|
void |
Eagle.addHloadEdge(AllocNode baseObj,
Object to) |
void |
Eagle.addHstoreEdge(Object from,
AllocNode baseObj) |
void |
Eagle.addNewEdge(AllocNode from,
LocalVarNode to) |
protected void |
Eagle.addParamEdges(AllocNode o,
LocalVarNode thisRef,
LocalVarNode[] parms,
LocalVarNode mret,
LocalVarNode mThrow) |
| Modifier and Type | Method and Description |
|---|---|
Map<AllocNode,AllocNode> |
HeapAbstraction.computeMergedObjectMap() |
Map<AllocNode,AllocNode> |
HeapAbstraction.computeMergedObjectMap() |
| Modifier and Type | Method and Description |
|---|---|
static void |
Mahjong.outputStatistics(FieldPointstoGraph fpg,
Map<AllocNode,AllocNode> mom) |
static void |
Mahjong.outputStatistics(FieldPointstoGraph fpg,
Map<AllocNode,AllocNode> mom) |
| Modifier and Type | Method and Description |
|---|---|
AllocNode |
NFA.getDeadState() |
AllocNode |
NFA.getStartState() |
| Modifier and Type | Method and Description |
|---|---|
Set<AllocNode> |
DFAState.getObjects() |
Set<AllocNode> |
NFA.getStates()
This method on-the-fly computes set of states.
|
Set<AllocNode> |
NFA.nextStates(AllocNode obj,
SparkField f) |
| Modifier and Type | Method and Description |
|---|---|
DFA |
DFAFactory.getDFA(AllocNode obj) |
boolean |
NFA.isDeadState(AllocNode obj) |
Set<AllocNode> |
NFA.nextStates(AllocNode obj,
SparkField f) |
Set<SparkField> |
NFA.outEdgesOf(AllocNode obj) |
Type |
NFA.outputOf(AllocNode obj) |
| Constructor and Description |
|---|
NFA(AllocNode q0,
FieldPointstoGraph fpg) |
| Constructor and Description |
|---|
DFAState(Set<AllocNode> objs,
Set<Type> output) |
| Modifier and Type | Field and Description |
|---|---|
static Map<AllocNode,O> |
O.o2O |
| Modifier and Type | Method and Description |
|---|---|
void |
Selectx.addNewEdge(AllocNode from,
LocalVarNode to) |
static O |
O.v(AllocNode origin) |
| Constructor and Description |
|---|
O(AllocNode origin) |
| Modifier and Type | Field and Description |
|---|---|
AllocNode |
OCG.OCGNode.ir |
| Modifier and Type | Field and Description |
|---|---|
Map<AllocNode,OCG.OCGNode> |
OCG.nodes |
protected Map<LocalVarNode,Set<AllocNode>> |
OCG.pts |
| Modifier and Type | Method and Description |
|---|---|
protected void |
AbstractMVFG.addCSLikelyEdge(AllocNode heap) |
protected void |
AbstractMVFG.addNewEdge(AllocNode from,
LocalVarNode to) |
boolean |
OCG.isBottom(AllocNode heap) |
boolean |
OCG.isCSLikely(AllocNode allocNode) |
boolean |
OCG.isTop(AllocNode heap) |
| Constructor and Description |
|---|
OCGNode(AllocNode ir) |
| Modifier and Type | Method and Description |
|---|---|
Set<AllocNode> |
PotentialContextElement.allocateesOf(Type type) |
| Modifier and Type | Method and Description |
|---|---|
Set<SootMethod> |
PotentialContextElement.methodsInvokedOn(AllocNode obj) |
Set<SootMethod> |
PotentialContextElement.PCEMethodsOf(AllocNode obj) |
| Modifier and Type | Method and Description |
|---|---|
AllocNode |
DebloatedPTA.getRootNode() |
| Modifier and Type | Method and Description |
|---|---|
Context |
DebloatedPTA.createCalleeCtx(ContextMethod caller,
AllocNode receiverNode,
CallSite callSite,
SootMethod target) |
| Modifier and Type | Method and Description |
|---|---|
static Map<LocalVarNode,Set<AllocNode>> |
PTAUtils.calcStaticThisPTS(PTA pta) |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
PTAUtils.isEmptyArray(AllocNode heap) |
static boolean |
PTAUtils.isOfPrimitiveBaseType(AllocNode heap) |
static Context |
PTAUtils.plusplusOp(AllocNode heap) |
Copyright © 2024 Soot OSS. All rights reserved.