Class PathEnumerator


  • public class PathEnumerator
    extends java.lang.Object
    Utilities for enumerating paths through a CFG
    Author:
    Ben Holland
    • Constructor Summary

      Constructors 
      Constructor Description
      PathEnumerator()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.util.List<java.util.List<com.ensoftcorp.atlas.core.db.graph.Node>> getPaths​(com.ensoftcorp.atlas.core.db.graph.Node function)
      Returns the set of paths through the CFG of the given function from the control flow root to the control flow exits
      static java.util.List<java.util.List<com.ensoftcorp.atlas.core.db.graph.Node>> getPaths​(com.ensoftcorp.atlas.core.query.Q cfg)
      Returns the set of paths through the CFG from the control flow root to the control flow exits
      static java.util.List<java.util.List<com.ensoftcorp.atlas.core.db.graph.Node>> getPaths​(com.ensoftcorp.atlas.core.query.Q cfg, com.ensoftcorp.atlas.core.db.set.AtlasSet<com.ensoftcorp.atlas.core.db.graph.Node> sources, com.ensoftcorp.atlas.core.db.set.AtlasSet<com.ensoftcorp.atlas.core.db.graph.Node> targets)
      Returns the set of paths through the CFG from a set of source nodes to the set of target nodes
      static java.lang.String printPath​(java.util.List<com.ensoftcorp.atlas.core.db.graph.Node> path)
      Returns a string representing the path through the CFG
      • Methods inherited from class java.lang.Object

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

      • PathEnumerator

        public PathEnumerator()
    • Method Detail

      • printPath

        public static java.lang.String printPath​(java.util.List<com.ensoftcorp.atlas.core.db.graph.Node> path)
        Returns a string representing the path through the CFG
        Parameters:
        path -
      • getPaths

        public static java.util.List<java.util.List<com.ensoftcorp.atlas.core.db.graph.Node>> getPaths​(com.ensoftcorp.atlas.core.db.graph.Node function)
        Returns the set of paths through the CFG of the given function from the control flow root to the control flow exits
        Parameters:
        function -
        Returns:
      • getPaths

        public static java.util.List<java.util.List<com.ensoftcorp.atlas.core.db.graph.Node>> getPaths​(com.ensoftcorp.atlas.core.query.Q cfg)
        Returns the set of paths through the CFG from the control flow root to the control flow exits
        Parameters:
        cfg -
        Returns:
      • getPaths

        public static java.util.List<java.util.List<com.ensoftcorp.atlas.core.db.graph.Node>> getPaths​(com.ensoftcorp.atlas.core.query.Q cfg,
                                                                                                       com.ensoftcorp.atlas.core.db.set.AtlasSet<com.ensoftcorp.atlas.core.db.graph.Node> sources,
                                                                                                       com.ensoftcorp.atlas.core.db.set.AtlasSet<com.ensoftcorp.atlas.core.db.graph.Node> targets)
        Returns the set of paths through the CFG from a set of source nodes to the set of target nodes
        Parameters:
        cfg -
        sources -
        targets -
        Returns: