Uses of Interface
pascal.taie.analysis.pta.pts.PointsToSet
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 data structures and algorithms of context-sensitive
pointer analysis solver.
Provide plugin interface of pointer analysis and
some instances (implementations).
Implementation of various points-to sets used in pointer analysis.
-
Uses of PointsToSet in pascal.taie.analysis.pta.core.cs.element
Modifier and TypeMethodDescriptionPointer.getPointsToSet()
Retrieves the points-to set associated with this pointer.Modifier and TypeMethodDescriptionvoid
Pointer.setPointsToSet
(PointsToSet pointsToSet) Sets the associated points-to set of this pointer. -
Uses of PointsToSet in pascal.taie.analysis.pta.core.solver
Modifier and TypeMethodDescriptionIdentity.apply
(PointerFlowEdge edge, PointsToSet input) Transfer.apply
(PointerFlowEdge edge, PointsToSet input) Transfer function on a pointer flow edge.TypeFilter.apply
(PointerFlowEdge edge, PointsToSet input) DefaultSolver.getPointsToSetOf
(Pointer pointer) Solver.getPointsToSetOf
(Pointer pointer) Returns the points-to set of given pointer.DefaultSolver.makePointsToSet()
Solver.makePointsToSet()
Creates a new empty points-to set.Modifier and TypeMethodDescriptionvoid
DefaultSolver.addPointsTo
(Pointer pointer, PointsToSet pts) void
Solver.addPointsTo
(Pointer pointer, PointsToSet pts) void
DefaultSolver.addVarPointsTo
(Context context, Var var, PointsToSet pts) void
Solver.addVarPointsTo
(Context context, Var var, PointsToSet pts) Identity.apply
(PointerFlowEdge edge, PointsToSet input) Transfer.apply
(PointerFlowEdge edge, PointsToSet input) Transfer function on a pointer flow edge.TypeFilter.apply
(PointerFlowEdge edge, PointsToSet input) -
Uses of PointsToSet in pascal.taie.analysis.pta.plugin
Modifier and TypeMethodDescriptionvoid
CompositePlugin.onNewPointsToSet
(CSVar csVar, PointsToSet pts) void
ConstraintChecker.onNewPointsToSet
(CSVar csVar, PointsToSet pts) default void
Plugin.onNewPointsToSet
(CSVar csVar, PointsToSet pts) Invoked when set of new objects flow to a context-sensitive variable.void
Profiler.onNewPointsToSet
(CSVar csVar, PointsToSet pts) void
ThreadHandler.onNewPointsToSet
(CSVar csVar, PointsToSet pts) -
Uses of PointsToSet in pascal.taie.analysis.pta.plugin.exception
Modifier and TypeMethodDescriptionvoid
ExceptionAnalysis.onNewPointsToSet
(CSVar csVar, PointsToSet pts) If the csVar is an exception reference, propagate all the exception it newly throws. -
Uses of PointsToSet in pascal.taie.analysis.pta.plugin.invokedynamic
Modifier and TypeMethodDescriptionvoid
LookupModel.findConstructor
(CSVar csVar, PointsToSet pts, Invoke invoke) void
LookupModel.findStatic
(CSVar csVar, PointsToSet pts, Invoke invoke) void
LookupModel.findVirtual
(CSVar csVar, PointsToSet pts, Invoke invoke) void
MethodTypeModel.methodType1Class
(CSVar csVar, PointsToSet pts, Invoke invoke) void
MethodTypeModel.methodType2Classes
(CSVar csVar, PointsToSet pts, Invoke invoke) void
MethodTypeModel.methodTypeClassMT
(CSVar csVar, PointsToSet pts, Invoke invoke) void
InvokeDynamicAnalysis.onNewPointsToSet
(CSVar csVar, PointsToSet pts) void
LambdaAnalysis.onNewPointsToSet
(CSVar csVar, PointsToSet pts) -
Uses of PointsToSet in pascal.taie.analysis.pta.plugin.reflection
Modifier and TypeMethodDescriptionvoid
ReflectiveActionModel.arrayNewInstance
(CSVar csVar, PointsToSet pts, Invoke invoke) void
SolarModel.classForName
(CSVar csVar, PointsToSet pts, Invoke invoke) void
StringBasedModel.classForName
(CSVar csVar, PointsToSet pts, Invoke invoke) void
SolarModel.classGetConstructor
(CSVar csVar, PointsToSet pts, Invoke invoke) void
StringBasedModel.classGetConstructor
(CSVar csVar, PointsToSet pts, Invoke invoke) void
SolarModel.classGetMethod
(CSVar csVar, PointsToSet pts, Invoke invoke) void
StringBasedModel.classGetMethod
(CSVar csVar, PointsToSet pts, Invoke invoke) void
SolarModel.classGetMethods
(CSVar csVar, PointsToSet pts, Invoke invoke) void
ReflectiveActionModel.classNewInstance
(CSVar csVar, PointsToSet pts, Invoke invoke) void
SolarModel.classNewInstance
(CSVar csVar, PointsToSet pts, Invoke invoke) void
SolarModel.collectUnsoundArrayNewInstance
(CSVar csVar, PointsToSet pts, Invoke invoke) void
ReflectiveActionModel.constructorNewInstance
(CSVar csVar, PointsToSet pts, Invoke invoke) void
ReflectiveActionModel.fieldGet
(CSVar csVar, PointsToSet pts, Invoke invoke) void
ReflectiveActionModel.fieldSet
(CSVar csVar, PointsToSet pts, Invoke invoke) void
OthersModel.getAnnotation
(CSVar csVar, PointsToSet pts, Invoke invoke) void
OthersModel.getClass
(CSVar csVar, PointsToSet pts, Invoke invoke) void
OthersModel.getParameterAnnotations
(CSVar csVar, PointsToSet pts, Invoke invoke) void
OthersModel.getPrimitiveClass
(CSVar csVar, PointsToSet pts, Invoke invoke) void
SolarModel.handleNewPointsToSet
(CSVar csVar, PointsToSet pts) void
ReflectiveActionModel.methodInvoke
(CSVar csVar, PointsToSet pts, Invoke invoke) void
SolarModel.methodInvoke
(CSVar csVar, PointsToSet pts, Invoke invoke) void
ReflectionAnalysis.onNewPointsToSet
(CSVar csVar, PointsToSet pts) -
Uses of PointsToSet in pascal.taie.analysis.pta.plugin.taint
Modifier and TypeMethodDescriptionvoid
TaintAnalysis.onNewPointsToSet
(CSVar csVar, PointsToSet pts) -
Uses of PointsToSet in pascal.taie.analysis.pta.plugin.util
Modifier and TypeFieldDescriptionprotected final Map<JMethod,
TriConsumer<CSVar, PointsToSet, Invoke>> AbstractModel.handlers
Modifier and TypeMethodDescriptionprotected List<PointsToSet>
AbstractModel.getArgs
(CSVar csVar, PointsToSet pts, Invoke invoke, int... indexes) For invocation r = v.foo(a0, a1, ..., an); when points-to set of v or any ai (0 ≤ i ≤ n) changes, this convenient method returns points-to sets relevant arguments.Modifier and TypeMethodDescriptionprotected List<PointsToSet>
AbstractModel.getArgs
(CSVar csVar, PointsToSet pts, Invoke invoke, int... indexes) For invocation r = v.foo(a0, a1, ..., an); when points-to set of v or any ai (0 ≤ i ≤ n) changes, this convenient method returns points-to sets relevant arguments.void
AbstractModel.handleNewPointsToSet
(CSVar csVar, PointsToSet pts) void
DummyModel.handleNewPointsToSet
(CSVar csVar, PointsToSet pts) void
Model.handleNewPointsToSet
(CSVar csVar, PointsToSet pts) Modifier and TypeMethodDescriptionprotected void
AbstractModel.registerAPIHandler
(JMethod api, TriConsumer<CSVar, PointsToSet, Invoke> handler) -
Uses of PointsToSet in pascal.taie.analysis.pta.pts
Modifier and TypeMethodDescriptionPointsToSet.addAllDiff
(PointsToSet pts) Adds all objects in given pts to this set.PointsToSetFactory.make()
Convenient method for making one-element points-to set.Modifier and TypeMethodDescriptionboolean
PointsToSet.addAll
(PointsToSet pts) Adds all objects in given pts to this set.PointsToSet.addAllDiff
(PointsToSet pts) Adds all objects in given pts to this set.