Package qilin.pta.toolkits.conch
Class AbstractConch
java.lang.Object
qilin.pta.toolkits.conch.AbstractConch
- Direct Known Subclasses:
Conch
Base class for Conch-based context-sensitivity analyses over a pointer analysis result.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Map<AllocNode,Set<SootMethod>> Maps each allocation node to the set of methods invoked on it.protected final Map<SootMethod,Map<SparkField, Set<VarNode>>> Maps each method to its this-pointer field loads: field → load_base nodes.protected final Map<SootMethod,Map<SparkField, Set<Pair<VarNode, VarNode>>>> Maps each method to its this-pointer field stores: field → (store_base, source).protected final Map<AllocNode,Set<SparkField>> Maps each allocation node to the set of fields accessed on it.Maps each allocation node to non-this field loads: field → load_base nodes.Maps each allocation node to non-this field stores: field → (store_base, source).final PAGThe pointer assignment graph derived from the pointer analysis.final PTAThe pointer analysis result being analyzed. -
Constructor Summary
ConstructorsConstructorDescriptionAbstractConch(PTA pta) Creates a new Conch analysis over the given pointer analysis result. -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanemptyFieldPts(AllocNode heap, SparkField field) Returns true if the points-to set for the given field on the given heap node is empty.Returns the simplified method PAG (SMPAG) for the given method PAG, creating it if absent.protected booleanhasLoadOn(AllocNode heap, SparkField field) Returns true if the given field of the given heap node has at least one load operation.protected booleanhasStoreOn(AllocNode heap, SparkField field) Returns true if the given field of the given heap node has at least one store operation.
-
Field Details
-
pta
The pointer analysis result being analyzed. -
pag
The pointer assignment graph derived from the pointer analysis. -
invokedMethods
Maps each allocation node to the set of methods invoked on it. -
m2thisFStores
Maps each method to its this-pointer field stores: field → (store_base, source). -
o2nonThisFStores
Maps each allocation node to non-this field stores: field → (store_base, source). -
m2thisFLoads
Maps each method to its this-pointer field loads: field → load_base nodes. -
o2nonThisFLoads
Maps each allocation node to non-this field loads: field → load_base nodes. -
o2fs
Maps each allocation node to the set of fields accessed on it.
-
-
Constructor Details
-
AbstractConch
Creates a new Conch analysis over the given pointer analysis result.
-
-
Method Details
-
getSMAPG
Returns the simplified method PAG (SMPAG) for the given method PAG, creating it if absent. -
emptyFieldPts
Returns true if the points-to set for the given field on the given heap node is empty. -
hasLoadOn
Returns true if the given field of the given heap node has at least one load operation. -
hasStoreOn
Returns true if the given field of the given heap node has at least one store operation.
-