Uses of Interface
pascal.taie.analysis.pta.core.cs.context.Context
Package
Description
Provides the classes to represent and manage context-sensitive elements
used in pointer analysis, including context-sensitive pointers, objects,
call sites, and methods.
Provide various context selectors, which correspond to various
context sensitivity variants.
Provide data structures and algorithms of context-sensitive
pointer analysis solver.
Provide plugin interface of pointer analysis and
some instances (implementations).
-
Uses of Context in pascal.taie.analysis.pta.core.cs.context
Modifier and TypeClassDescriptionclass
An implementation ofContext
, which organizes contexts as Trie.Modifier and TypeMethodDescriptionConstructs a context by appending a context element to a parent context.ContextFactory.getEmptyContext()
Modifier and TypeMethodDescriptionConstructs a context by appending a context element to a parent context. -
Uses of Context in pascal.taie.analysis.pta.core.cs.element
Modifier and TypeMethodDescriptionAbstractCSElement.getContext()
CSElement.getContext()
CSVar.getContext()
Modifier and TypeMethodDescriptionCSManager.getCSCallSite
(Context context, Invoke callSite) MapBasedCSManager.getCSCallSite
(Context context, Invoke callSite) CSManager.getCSMethod
(Context context, JMethod method) MapBasedCSManager.getCSMethod
(Context context, JMethod method) -
Uses of Context in pascal.taie.analysis.pta.core.cs.selector
Modifier and TypeMethodDescriptionContextSelector.getEmptyContext()
ContextSelector.selectContext
(CSCallSite callSite, CSObj recv, JMethod callee) Selects contexts for instance methods.ContextSelector.selectContext
(CSCallSite callSite, JMethod callee) Selects contexts for static methods.ContextSelector.selectHeapContext
(CSMethod method, Obj obj) Selects heap contexts for new-created abstract objects. -
Uses of Context in pascal.taie.analysis.pta.core.solver
Modifier and TypeMethodDescriptionvoid
DefaultSolver.addPointsTo
(Pointer pointer, Context heapContext, Obj obj) void
Solver.addPointsTo
(Pointer pointer, Context heapContext, Obj obj) void
DefaultSolver.addVarPointsTo
(Context context, Var var, Context heapContext, Obj obj) void
DefaultSolver.addVarPointsTo
(Context context, Var var, CSObj csObj) void
DefaultSolver.addVarPointsTo
(Context context, Var var, PointsToSet pts) void
Solver.addVarPointsTo
(Context context, Var var, Context heapContext, Obj obj) void
Solver.addVarPointsTo
(Context context, Var var, CSObj csObj) default void
Solver.addVarPointsTo
(Context context, Var var, Obj obj) Convenient API to add var points-to relation for object with empty heap context.void
Solver.addVarPointsTo
(Context context, Var var, PointsToSet pts) -
Uses of Context in pascal.taie.analysis.pta.plugin
Modifier and TypeMethodDescriptionvoid
CompositePlugin.onUnresolvedCall
(CSObj recv, Context context, Invoke invoke) default void
Plugin.onUnresolvedCall
(CSObj recv, Context context, Invoke invoke) Invoked when pointer analysis failed to resolve callee (i.e., resolve to null) on a receiver object. -
Uses of Context in pascal.taie.analysis.pta.plugin.invokedynamic
Modifier and TypeMethodDescriptionvoid
LookupModel.findConstructor
(Context context, Invoke invoke, PointsToSet clsObjs) void
LookupModel.findStatic
(Context context, Invoke invoke, PointsToSet clsObjs, PointsToSet nameObjs) void
LookupModel.findVirtual
(Context context, Invoke invoke, PointsToSet clsObjs, PointsToSet nameObjs) void
MethodTypeModel.methodType1Class
(Context context, Invoke invoke, PointsToSet clsObjs) void
MethodTypeModel.methodType2Classes
(Context context, Invoke invoke, PointsToSet retObjs, PointsToSet paramObjs) void
MethodTypeModel.methodTypeClassMT
(Context context, Invoke invoke, PointsToSet retObjs, PointsToSet mtObjs) void
LambdaAnalysis.onUnresolvedCall
(CSObj recv, Context context, Invoke invoke) -
Uses of Context in pascal.taie.analysis.pta.plugin.reflection
Modifier and TypeMethodDescriptionvoid
ReflectiveActionModel.arrayNewInstance
(Context context, Invoke invoke, PointsToSet pts) void
SolarModel.classForName
(Context context, Invoke invoke, PointsToSet nameObjs) void
StringBasedModel.classForName
(Context context, Invoke invoke, PointsToSet nameObjs) void
SolarModel.classGetConstructor
(Context context, Invoke invoke, PointsToSet classObjs) void
StringBasedModel.classGetConstructor
(Context context, Invoke invoke, PointsToSet classObjs) void
SolarModel.classGetMethod
(Context context, Invoke invoke, PointsToSet classObjs, PointsToSet nameObjs) void
StringBasedModel.classGetMethod
(Context context, Invoke invoke, PointsToSet classObjs, PointsToSet nameObjs) void
SolarModel.classGetMethods
(Context context, Invoke invoke, PointsToSet classObjs) void
ReflectiveActionModel.classNewInstance
(Context context, Invoke invoke, PointsToSet classes) void
SolarModel.classNewInstance
(Context context, Invoke invoke, PointsToSet classObjs) void
SolarModel.collectUnsoundArrayNewInstance
(Context __, Invoke invoke, PointsToSet classObjs) void
ReflectiveActionModel.constructorNewInstance
(Context context, Invoke invoke, PointsToSet constructors) void
ReflectiveActionModel.fieldGet
(Context context, Invoke invoke, PointsToSet fldObjs, PointsToSet baseObjs) void
ReflectiveActionModel.fieldSet
(Context context, Invoke invoke, PointsToSet fldObjs, PointsToSet baseObjs) void
OthersModel.getAnnotation
(Context context, Invoke invoke, PointsToSet baseClasses, PointsToSet annoClasses) void
OthersModel.getClass
(Context context, Invoke invoke, PointsToSet recvObjs) void
OthersModel.getParameterAnnotations
(Context context, Invoke invoke, PointsToSet mtdObjs) void
OthersModel.getPrimitiveClass
(Context context, Invoke invoke, PointsToSet nameObjs) void
ReflectiveActionModel.methodInvoke
(Context context, Invoke invoke, PointsToSet mtdObjs, PointsToSet recvObjs) void
SolarModel.methodInvoke
(Context context, Invoke invoke, PointsToSet mtdObjs, PointsToSet recvObjs) -
Uses of Context in pascal.taie.analysis.pta.plugin.util