Interface CSManager

All Known Implementing Classes:
MapBasedCSManager

public interface CSManager
Manages context-sensitive elements and pointers in pointer analysis.
  • Method Details

    • getCSVar

      CSVar getCSVar(Context context, Var var)
      Returns:
      a context-sensitive variable for given context and variable.
    • getCSObj

      CSObj getCSObj(Context heapContext, Obj obj)
      Returns:
      a context-sensitive object for given context and object.
    • getCSCallSite

      CSCallSite getCSCallSite(Context context, Invoke callSite)
      Returns:
      a context-sensitive call site for given context and call site.
    • getCSMethod

      CSMethod getCSMethod(Context context, JMethod method)
      Returns:
      a context-sensitive method for given context and method.
    • getStaticField

      StaticField getStaticField(JField field)
      Returns:
      the corresponding StaticField pointer for given static field.
    • getInstanceField

      InstanceField getInstanceField(CSObj base, JField field)
      Returns:
      the corresponding InstanceField pointer for given object and instance field.
    • getArrayIndex

      ArrayIndex getArrayIndex(CSObj array)
      Returns:
      the corresponding ArrayIndex pointer for given array object.
    • getVars

      Collection<Var> getVars()
      Returns:
      all variables (without contexts).
    • getCSVarsOf

      Collection<CSVar> getCSVarsOf(Var var)
      Returns:
      all relevant context-sensitive variables for given variable.
    • getCSVars

      Collection<CSVar> getCSVars()
      Returns:
      all context-sensitive variables.
    • getObjects

      Collection<CSObj> getObjects()
      Returns:
      all context-sensitive objects.
    • getCSObjsOf

      Collection<CSObj> getCSObjsOf(Obj obj)
      Returns:
      all relevant context-sensitive objects for given object.
    • getStaticFields

      Collection<StaticField> getStaticFields()
      Returns:
      all static field pointers.
    • getInstanceFields

      Collection<InstanceField> getInstanceFields()
      Returns:
      all instance field pointers.
    • getArrayIndexes

      Collection<ArrayIndex> getArrayIndexes()
      Returns:
      all array index pointers.
    • pointers

      Stream<Pointer> pointers()
      Returns:
      all pointers managed by this manager.
    • getObjectIndexer

      Indexer<CSObj> getObjectIndexer()
      Returns:
      Indexer for CSObj maintained by this manager. The indexer is useful for creating efficient points-to sets.
    • getMethodIndexer

      Indexer<CSMethod> getMethodIndexer()
      Returns:
      Indexer for CSMethod maintained by this manager.