Class ICFG.CallResolutionStrategy

  • Direct Known Subclasses:
    ICFG.DefaultCallResolutionStrategy
    Enclosing class:
    ICFG

    public abstract static class ICFG.CallResolutionStrategy
    extends java.lang.Object
    An interface to define alternate strategies for call summary and callsite resolution
    Author:
    Ben Holland
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      abstract com.ensoftcorp.atlas.core.db.set.AtlasSet<com.ensoftcorp.atlas.core.db.graph.Node> getCallGraphRoots()
      Returns the call graph roots
      abstract com.ensoftcorp.atlas.core.db.set.AtlasSet<com.ensoftcorp.atlas.core.db.graph.Node> getCallsiteTargets​(com.ensoftcorp.atlas.core.db.graph.Node callsite)
      Returns the potential callsite target functions
      abstract com.ensoftcorp.atlas.core.db.set.AtlasSet<com.ensoftcorp.atlas.core.db.graph.Node> getCallSuccessors​(com.ensoftcorp.atlas.core.db.graph.Node function)
      Returns the potential call successors
      abstract java.lang.String getStrategyTagName()
      Returns the call resolution strategy name This name will be used as a tag name for differentiating ICFG edges created by different call resolution strategies
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CallResolutionStrategy

        public CallResolutionStrategy()
    • Method Detail

      • getStrategyTagName

        public abstract java.lang.String getStrategyTagName()
        Returns the call resolution strategy name This name will be used as a tag name for differentiating ICFG edges created by different call resolution strategies
        Returns:
      • getCallsiteTargets

        public abstract com.ensoftcorp.atlas.core.db.set.AtlasSet<com.ensoftcorp.atlas.core.db.graph.Node> getCallsiteTargets​(com.ensoftcorp.atlas.core.db.graph.Node callsite)
        Returns the potential callsite target functions
        Parameters:
        callsite -
        Returns:
      • getCallSuccessors

        public abstract com.ensoftcorp.atlas.core.db.set.AtlasSet<com.ensoftcorp.atlas.core.db.graph.Node> getCallSuccessors​(com.ensoftcorp.atlas.core.db.graph.Node function)
        Returns the potential call successors
        Parameters:
        function -
        Returns:
      • getCallGraphRoots

        public abstract com.ensoftcorp.atlas.core.db.set.AtlasSet<com.ensoftcorp.atlas.core.db.graph.Node> getCallGraphRoots()
        Returns the call graph roots
        Parameters:
        function -
        Returns: