Package pascal.taie.analysis.pta.plugin
Interface Plugin
- All Known Implementing Classes:
AnalysisModelPlugin
,AnalysisTimer
,ArrayModel
,AssertionChecker
,ClassInitializer
,CompositePlugin
,ConstraintChecker
,DoPriviledgedModel
,EntryPointHandler
,ExceptionAnalysis
,InvokeDynamicAnalysis
,IRModelPlugin
,Java9StringConcatHandler
,LambdaAnalysis
,LookupModel
,MethodTypeModel
,NativeModeller
,NullHandler
,NumberLiteralHandler
,OthersModel
,Profiler
,ReferenceHandler
,ReflectionAnalysis
,ReflectiveActionModel
,ResultProcessor
,SolarModel
,StringBasedModel
,TaintAnalysis
,ThreadHandler
,UnsafeModel
public interface Plugin
Analysis plugin interface.
This interface contains callbacks for pointer analysis events. It is supposed to provide a mechanism for extending functionalities of the analysis, so its implementations may have side effects on pointer analysis.
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptiondefault void
onFinish()
Invoked when pointer analysis finishes.default void
onNewCallEdge
(Edge<CSCallSite, CSMethod> edge) Invoked when a new call graph edge is discovered.default void
onNewCSMethod
(CSMethod csMethod) Invoked when a new reachable context-sensitive method is discovered.default void
onNewMethod
(JMethod method) Invoked when a new reachable method is discovered.default void
onNewPointsToSet
(CSVar csVar, PointsToSet pts) Invoked when set of new objects flow to a context-sensitive variable.default void
Invoked when a new reachable stmt is discovered.default void
Invoked when pointer analysis has processed all entries in the work list.default void
onStart()
Invoked when pointer analysis starts.default void
onUnresolvedCall
(CSObj recv, Context context, Invoke invoke) Invoked when pointer analysis failed to resolve callee (i.e., resolve to null) on a receiver object.default void
Sets pointer analysis solver which will be used later by the plugin.
-
Field Details
-
DUMMY
-
-
Method Details
-
setSolver
Sets pointer analysis solver which will be used later by the plugin. -
onStart
default void onStart()Invoked when pointer analysis starts. -
onPhaseFinish
default void onPhaseFinish()Invoked when pointer analysis has processed all entries in the work list. Some plugins need to perform certain computation at this stage (so that it can collect enough points-to information in the program), and may further add entries to the work list to "restart" the pointer analysis. -
onFinish
default void onFinish()Invoked when pointer analysis finishes. Pointer analysis is supposed to have been finished at this stage, thus this call back should NOT modify pointer analysis results. -
onNewPointsToSet
Invoked when set of new objects flow to a context-sensitive variable.- Parameters:
csVar
- variable whose points-to set changespts
- set of new objects
-
onNewCallEdge
Invoked when a new call graph edge is discovered.- Parameters:
edge
- new call graph edge
-
onNewMethod
Invoked when a new reachable method is discovered.- Parameters:
method
- new reachable method
-
onNewStmt
Invoked when a new reachable stmt is discovered.- Parameters:
stmt
- new reachable stmtcontainer
- container method ofstmt
-
onNewCSMethod
Invoked when a new reachable context-sensitive method is discovered.- Parameters:
csMethod
- new reachable context-sensitive method
-
onUnresolvedCall
Invoked when pointer analysis failed to resolve callee (i.e., resolve to null) on a receiver object. Some plugins take over such cases to do their analyses.- Parameters:
recv
- the receiver objectcontext
- the context of the invocationinvoke
- the invocation site
-