public abstract class PTA extends Object implements PointsToAnalysis
| Modifier and Type | Field and Description |
|---|---|
protected OnFlyCallGraph |
callGraph |
protected CallGraphBuilder |
cgb |
protected ExceptionHandler |
eh |
protected PAG |
pag |
protected AllocNode |
rootNode |
protected PTAScene |
scene |
EXCEPTION_NODE, MAIN_THREAD_GROUP_NODE_LOCAL, RETURN_NODE, STRING_NODE, THIS_NODE, THROW_NODE| Modifier and Type | Method and Description |
|---|---|
abstract Context |
createCalleeCtx(ContextMethod caller,
AllocNode receiverNode,
CallSite callSite,
SootMethod target) |
protected abstract CallGraphBuilder |
createCallGraphBuilder() |
protected abstract PAG |
createPAG() |
abstract CtxConstructor |
ctxConstructor() |
abstract CtxSelector |
ctxSelector() |
abstract Context |
emptyContext() |
OnFlyCallGraph |
getCallGraph() |
CallGraphBuilder |
getCgb() |
ExceptionHandler |
getExceptionHandler() |
Collection<SootMethod> |
getNakedReachableMethods() |
PAG |
getPag() |
protected abstract Propagator |
getPropagator() |
Collection<ContextMethod> |
getReachableMethods() |
abstract AllocNode |
getRootNode() |
PTAScene |
getScene() |
View |
getView() |
abstract HeapAbstractor |
heapAbstractor() |
abstract Node |
parameterize(Node n,
Context context) |
abstract ContextMethod |
parameterize(SootMethod method,
Context context) |
void |
pureRun() |
PointsToSet |
reachingObjects(Context c,
SootMethod m,
Local l)
Returns the set of objects pointed to by variable l in context c.
|
PointsToSet |
reachingObjects(Context c,
SootMethod m,
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 |
reachingObjects(Node n)
Returns the set of objects pointed by n: case 1: n is an insensitive node, return objects
pointed by n under every possible context.
|
PointsToSet |
reachingObjects(PointsToSet s,
SootField f)
Returns the set of objects pointed to by instance field f of the objects in the PointsToSet s.
|
PointsToSet |
reachingObjects(SootField f)
Returns the set of objects pointed to by static field f.
|
PointsToSet |
reachingObjects(SootMethod m,
Local l)
Returns the set of objects pointed to by variable l.
|
PointsToSet |
reachingObjects(SootMethod m,
Local l,
SootField f)
Returns the set of objects pointed to by instance field f of the objects pointed to by l.
|
PointsToSet |
reachingObjectsInternal(AllocNode heap,
SparkField f) |
PointsToSet |
reachingObjectsInternal(PointsToSet bases,
SparkField f) |
PointsToSet |
reachingObjectsOfArrayElement(PointsToSet s)
Returns the set of objects pointed to by elements of the arrays in the PointsToSet s.
|
void |
run() |
protected PTAScene scene
protected AllocNode rootNode
protected PAG pag
protected OnFlyCallGraph callGraph
protected CallGraphBuilder cgb
protected ExceptionHandler eh
public PTA(PTAScene scene)
protected abstract PAG createPAG()
protected abstract CallGraphBuilder createCallGraphBuilder()
public void run()
public void pureRun()
public PAG getPag()
public View getView()
public PTAScene getScene()
public CallGraphBuilder getCgb()
public ExceptionHandler getExceptionHandler()
public OnFlyCallGraph getCallGraph()
public Collection<ContextMethod> getReachableMethods()
public Collection<SootMethod> getNakedReachableMethods()
protected abstract Propagator getPropagator()
public abstract ContextMethod parameterize(SootMethod method, Context context)
public abstract AllocNode getRootNode()
public abstract Context emptyContext()
public abstract Context createCalleeCtx(ContextMethod caller, AllocNode receiverNode, CallSite callSite, SootMethod target)
public abstract HeapAbstractor heapAbstractor()
public abstract CtxConstructor ctxConstructor()
public abstract CtxSelector ctxSelector()
public PointsToSet reachingObjects(SootMethod m, Local l)
reachingObjects in interface PointsToAnalysispublic PointsToSet reachingObjects(Node n)
reachingObjects in interface PointsToAnalysispublic PointsToSet reachingObjectsOfArrayElement(PointsToSet s)
reachingObjectsOfArrayElement in interface PointsToAnalysispublic PointsToSet reachingObjects(Context c, SootMethod m, Local l)
reachingObjects in interface PointsToAnalysispublic PointsToSet reachingObjects(SootMethod m, Local l, SootField f)
reachingObjects in interface PointsToAnalysispublic PointsToSet reachingObjects(PointsToSet s, SootField f)
reachingObjects in interface PointsToAnalysispublic PointsToSet reachingObjects(Context c, SootMethod m, Local l, SootField f)
reachingObjects in interface PointsToAnalysispublic PointsToSet reachingObjects(SootField f)
PointsToAnalysisreachingObjects in interface PointsToAnalysispublic PointsToSet reachingObjectsInternal(PointsToSet bases, SparkField f)
public PointsToSet reachingObjectsInternal(AllocNode heap, SparkField f)
Copyright © 2024 Soot OSS. All rights reserved.