Class ICFG
- java.lang.Object
-
- com.ensoftcorp.open.commons.algorithms.ICFG
-
public class ICFG extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classICFG.CallResolutionStrategyAn interface to define alternate strategies for call summary and callsite resolutionstatic classICFG.DefaultCallResolutionStrategyThis class uses the default call resolution strategy provided by each toolbox provider For C/C++ and Java this is a class hierarchy analysis
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringICFGCallsiteAttributestatic java.lang.StringICFGEdgestatic java.lang.StringICFGEntryEdgestatic java.lang.StringICFGExitEdge
-
Constructor Summary
Constructors Constructor Description ICFG(com.ensoftcorp.atlas.core.db.graph.Node entryPointFunction)Compute the ICFG given an entry point function and all functions expandable using the default call resolution strategyICFG(com.ensoftcorp.atlas.core.db.graph.Node entryPointFunction, com.ensoftcorp.atlas.core.db.set.AtlasSet<com.ensoftcorp.atlas.core.db.graph.Node> functionsToExpand)Compute the ICFG given an entry point function and a set of functions to expand using the default call resolution strategyICFG(com.ensoftcorp.atlas.core.db.graph.Node entryPointFunction, com.ensoftcorp.atlas.core.db.set.AtlasSet<com.ensoftcorp.atlas.core.db.graph.Node> functionsToExpand, ICFG.CallResolutionStrategy callResolutionStrategy)Compute the ICFG given an entry point function and a set of functions to expand as well as a call resolution strategy
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description com.ensoftcorp.atlas.core.db.graph.NodegetEntryPointFunction()Returns the entry point functioncom.ensoftcorp.atlas.core.db.set.AtlasSet<com.ensoftcorp.atlas.core.db.graph.Node>getEntryPointFunctionExits()Returns the entry point function exitscom.ensoftcorp.atlas.core.db.graph.NodegetEntryPointFunctionRoots()Returns the entry point function rootscom.ensoftcorp.atlas.core.query.QgetICFG()Returns the ICFG
-
-
-
Constructor Detail
-
ICFG
public ICFG(com.ensoftcorp.atlas.core.db.graph.Node entryPointFunction)
Compute the ICFG given an entry point function and all functions expandable using the default call resolution strategy- Parameters:
entryPointFunction-functionsToExpand-
-
ICFG
public ICFG(com.ensoftcorp.atlas.core.db.graph.Node entryPointFunction, com.ensoftcorp.atlas.core.db.set.AtlasSet<com.ensoftcorp.atlas.core.db.graph.Node> functionsToExpand)Compute the ICFG given an entry point function and a set of functions to expand using the default call resolution strategy- Parameters:
entryPointFunction-functionsToExpand-
-
ICFG
public ICFG(com.ensoftcorp.atlas.core.db.graph.Node entryPointFunction, com.ensoftcorp.atlas.core.db.set.AtlasSet<com.ensoftcorp.atlas.core.db.graph.Node> functionsToExpand, ICFG.CallResolutionStrategy callResolutionStrategy)Compute the ICFG given an entry point function and a set of functions to expand as well as a call resolution strategy- Parameters:
entryPointFunction- The function to start the ICFG atfunctionsToExpand- If this is empty then all functions with non-empty CFGs will be expandedcallResolutionStrategy- The call resolution strategy to use
-
-
Method Detail
-
getEntryPointFunction
public com.ensoftcorp.atlas.core.db.graph.Node getEntryPointFunction()
Returns the entry point function- Returns:
-
getEntryPointFunctionRoots
public com.ensoftcorp.atlas.core.db.graph.Node getEntryPointFunctionRoots()
Returns the entry point function roots- Returns:
-
getEntryPointFunctionExits
public com.ensoftcorp.atlas.core.db.set.AtlasSet<com.ensoftcorp.atlas.core.db.graph.Node> getEntryPointFunctionExits()
Returns the entry point function exits- Returns:
-
getICFG
public com.ensoftcorp.atlas.core.query.Q getICFG()
Returns the ICFG- Returns:
-
-