Class AnalysisModelPlugin

java.lang.Object
pascal.taie.analysis.pta.plugin.util.SolverHolder
pascal.taie.analysis.pta.plugin.util.AnalysisModelPlugin
All Implemented Interfaces:
Plugin
Direct Known Subclasses:
LookupModel, MethodTypeModel, OthersModel, ReflectiveActionModel, SolarModel, StringBasedModel

public abstract class AnalysisModelPlugin extends SolverHolder
Provides common functionalities for implementing the plugins which model the APIs by analyzing their semantics. The invoke handler method (annotated by InvokeHandler) should follow such declaration: public void name(Context,Invoke,(PointsToSet,)+)
See Also:
  • Field Details

  • Constructor Details

    • AnalysisModelPlugin

      protected AnalysisModelPlugin(Solver solver)
  • Method Details

    • registerHandler

      protected void registerHandler(InvokeHandler invokeHandler, Method handler)
    • onNewStmt

      public void onNewStmt(Stmt stmt, JMethod container)
      Description copied from interface: Plugin
      Invoked when a new reachable stmt is discovered.
      Parameters:
      stmt - new reachable stmt
      container - container method of stmt
    • onNewPointsToSet

      public void onNewPointsToSet(CSVar csVar, PointsToSet pts)
      Description copied from interface: Plugin
      Invoked when set of new objects flow to a context-sensitive variable.
      Parameters:
      csVar - variable whose points-to set changes
      pts - set of new objects
    • registerHandlers

      protected void registerHandlers()