Package pascal.taie.analysis.pta.plugin
Interface Plugin
- All Known Implementing Classes:
AnalysisTimer
,ClassInitializer
,CompositePlugin
,ConstraintChecker
,EntryPointHandler
,ExceptionAnalysis
,InvokeDynamicAnalysis
,Java9StringConcatHandler
,LambdaAnalysis
,NativeModeller
,NullHandler
,NumberLiteralHandler
,Profiler
,ReferenceHandler
,ReflectionAnalysis
,ResultProcessor
,TaintAnalysis
,ThreadHandler
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.
-
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
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.
-
Method Details
-
setSolver
Sets pointer analysis solver which will be used later by the plugin. -
onStart
default void onStart()Invoked when pointer analysis starts. -
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
-