Class IRModelPlugin

java.lang.Object
pascal.taie.analysis.pta.plugin.util.SolverHolder
pascal.taie.analysis.pta.plugin.util.IRModelPlugin
All Implemented Interfaces:
Plugin
Direct Known Subclasses:
ArrayModel, DoPriviledgedModel, UnsafeModel

public abstract class IRModelPlugin extends SolverHolder
Provides common functionalities for implementing the plugins which model the APIs by generating semantically-equivalent IR (Stmt). The invoke handler method (annotated by InvokeHandler) should follow such declaration: public void name(Invoke)
See Also:
  • Field Details

  • Constructor Details

    • IRModelPlugin

      protected IRModelPlugin(Solver solver)
  • Method Details

    • registerHandler

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

      public void onStart()
      Description copied from interface: Plugin
      Invoked when pointer analysis starts.
    • 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
    • onNewCSMethod

      public void onNewCSMethod(CSMethod csMethod)
      Description copied from interface: Plugin
      Invoked when a new reachable context-sensitive method is discovered.
      Parameters:
      csMethod - new reachable context-sensitive method
    • registerHandlers

      protected void registerHandlers()