Class JimplePointsTo


  • public class JimplePointsTo
    extends PointsTo
    A fixed point points-to analysis for Jimple
    Author:
    Ben Holland
    • Constructor Summary

      Constructors 
      Constructor Description
      JimplePointsTo()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addAliasAddress​(com.ensoftcorp.atlas.core.db.graph.Node node, java.lang.Integer address)
      Removes an alias address from the alias set
      void dispose()
      Signals that the points to analysis results no longer need to be maintained by the analysis
      com.ensoftcorp.atlas.core.db.set.AtlasSet<com.ensoftcorp.atlas.core.db.graph.Node> getAddressedNodes()
      Returns a set of all addressed nodes
      java.util.HashSet<java.lang.Integer> getAliasAddresses()
      Returns a set of alias addresses
      java.util.HashSet<java.lang.Integer> getAliasAddresses​(com.ensoftcorp.atlas.core.db.graph.Node node)
      Returns a set of alias addresses for the given node
      java.util.HashSet<java.lang.Integer> getArrayMemoryModelAliases​(java.lang.Integer address)
      Returns the mapping of arrays to the array's components
      java.util.HashSet<java.lang.Integer> getArrayMemoryModels()
      Returns the array memory model addresses
      com.ensoftcorp.atlas.core.db.graph.Graph getInferredDataFlowGraph()
      Returns the inferred data flow graph as the results of the fixed point analysis
      com.ensoftcorp.atlas.core.db.graph.Node getInstantiation​(java.lang.Integer address)
      Returns the mapping of an address to its corresponding instantiation
      com.ensoftcorp.atlas.core.db.graph.Node getType​(java.lang.Integer address)
      Returns the mapping of an address to its corresponding static type
      void removeAliasAddress​(com.ensoftcorp.atlas.core.db.graph.Node node, java.lang.Integer address)
      Adds an alias address to the alias set
      • Methods inherited from class java.lang.Object

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

      • JimplePointsTo

        public JimplePointsTo()
    • Method Detail

      • dispose

        public void dispose()
        Description copied from class: PointsTo
        Signals that the points to analysis results no longer need to be maintained by the analysis
        Specified by:
        dispose in class PointsTo
      • addAliasAddress

        public void addAliasAddress​(com.ensoftcorp.atlas.core.db.graph.Node node,
                                    java.lang.Integer address)
        Description copied from class: PointsTo
        Removes an alias address from the alias set
        Specified by:
        addAliasAddress in class PointsTo
      • removeAliasAddress

        public void removeAliasAddress​(com.ensoftcorp.atlas.core.db.graph.Node node,
                                       java.lang.Integer address)
        Description copied from class: PointsTo
        Adds an alias address to the alias set
        Specified by:
        removeAliasAddress in class PointsTo
      • getAliasAddresses

        public java.util.HashSet<java.lang.Integer> getAliasAddresses()
        Description copied from class: PointsTo
        Returns a set of alias addresses
        Specified by:
        getAliasAddresses in class PointsTo
        Returns:
      • getAliasAddresses

        public java.util.HashSet<java.lang.Integer> getAliasAddresses​(com.ensoftcorp.atlas.core.db.graph.Node node)
        Description copied from class: PointsTo
        Returns a set of alias addresses for the given node
        Specified by:
        getAliasAddresses in class PointsTo
        Returns:
      • getAddressedNodes

        public com.ensoftcorp.atlas.core.db.set.AtlasSet<com.ensoftcorp.atlas.core.db.graph.Node> getAddressedNodes()
        Description copied from class: PointsTo
        Returns a set of all addressed nodes
        Specified by:
        getAddressedNodes in class PointsTo
        Returns:
      • getArrayMemoryModelAliases

        public java.util.HashSet<java.lang.Integer> getArrayMemoryModelAliases​(java.lang.Integer address)
        Description copied from class: PointsTo
        Returns the mapping of arrays to the array's components
        Specified by:
        getArrayMemoryModelAliases in class PointsTo
        Returns:
      • getArrayMemoryModels

        public java.util.HashSet<java.lang.Integer> getArrayMemoryModels()
        Description copied from class: PointsTo
        Returns the array memory model addresses
        Specified by:
        getArrayMemoryModels in class PointsTo
        Returns:
      • getInstantiation

        public com.ensoftcorp.atlas.core.db.graph.Node getInstantiation​(java.lang.Integer address)
        Description copied from class: PointsTo
        Returns the mapping of an address to its corresponding instantiation
        Specified by:
        getInstantiation in class PointsTo
        Returns:
      • getType

        public com.ensoftcorp.atlas.core.db.graph.Node getType​(java.lang.Integer address)
        Description copied from class: PointsTo
        Returns the mapping of an address to its corresponding static type
        Specified by:
        getType in class PointsTo
        Returns:
      • getInferredDataFlowGraph

        public com.ensoftcorp.atlas.core.db.graph.Graph getInferredDataFlowGraph()
        Description copied from class: PointsTo
        Returns the inferred data flow graph as the results of the fixed point analysis
        Specified by:
        getInferredDataFlowGraph in class PointsTo
        Returns: