Package pascal.taie.analysis.pta
Interface PointerAnalysisResult
- All Superinterfaces:
ResultHolder
- All Known Implementing Classes:
PointerAnalysisResultImpl
Represents results of pointer analysis.
This class provides various API for querying points-to sets of
different kinds of pointer-accessing expressions. For the expressions
that are ignored by pointer analysis, an empty set is returned.
-
Method Summary
Modifier and TypeMethodDescriptiongetPointsToSet
(Obj array) getPointsToSet
(Obj base, JField field) getPointsToSet
(ArrayAccess access) getPointsToSet
(FieldAccess access) getPointsToSet
(InstanceFieldAccess access) getPointsToSet
(StaticFieldAccess access) getPointsToSet
(Var var) getPointsToSet
(Var base, Var index) getPointsToSet
(Var base, JField field) getPointsToSet
(JField field) getVars()
boolean
mayAlias
(ArrayAccess a1, ArrayAccess a2) boolean
mayAlias
(InstanceFieldAccess if1, InstanceFieldAccess if2) boolean
Methods inherited from interface pascal.taie.util.ResultHolder
clearAll, clearResult, getKeys, getResult, getResult, getResult, hasResult, storeResult
-
Method Details
-
getCSVars
Collection<CSVar> getCSVars()- Returns:
- all reachable context-sensitive variables in the program.
-
getVars
Collection<Var> getVars()- Returns:
- all reachable variables in the program.
-
getInstanceFields
Collection<InstanceField> getInstanceFields()- Returns:
- all reachable instance fields in the program.
-
getArrayIndexes
Collection<ArrayIndex> getArrayIndexes()- Returns:
- all reachable array indexes in the program.
-
getStaticFields
Collection<StaticField> getStaticFields()- Returns:
- all reachable static fields in the program.
-
getCSObjects
Collection<CSObj> getCSObjects()- Returns:
- all reachable context-sensitive objects in the program.
-
getObjects
Collection<Obj> getObjects()- Returns:
- all reachable objects in the program.
-
getObjectIndexer
- Returns:
- indexer for Obj in the program.
-
getPointsToSet
- Returns:
- set of Obj pointed to by var.
-
getPointsToSet
- Returns:
- set of Obj pointed to by field access.
-
getPointsToSet
- Returns:
- set of Obj pointed to by given instance field access, e.g., o.f.
-
getPointsToSet
- Returns:
- set of Obj pointed to by base.field.
-
getPointsToSet
- Returns:
- set of Obj pointed to by in given base.field.
-
getPointsToSet
- Returns:
- set of Obj pointed to by given static field access, e.g., T.f.
-
getPointsToSet
- Returns:
- points-to set of given field. The field is supposed to be static.
-
getPointsToSet
- Returns:
- set of Obj pointed to by given array access, e.g., a[i].
-
getPointsToSet
- Returns:
- points-to set of given array index. The base is supposed to be of array type; parameter index is unused.
-
getPointsToSet
- Returns:
- set of Obj pointed to by given array.
-
mayAlias
- Returns:
true
if two variables may be aliases.
-
mayAlias
- Returns:
true
if two instance field accesses may be aliases.
-
mayAlias
- Returns:
true
if two array accesses may be aliases.
-
getCSCallGraph
CallGraph<CSCallSite,CSMethod> getCSCallGraph()- Returns:
- the resulting context-sensitive call graph.
-
getCallGraph
- Returns:
- the resulting call graph (without contexts).
-
getObjectFlowGraph
ObjectFlowGraph getObjectFlowGraph()- Returns:
- the resulting object flow graph.
-