Package com.ensoftcorp.open.cg.analysis
Class ZeroControlFlowAnalysis
- java.lang.Object
-
- com.ensoftcorp.open.cg.analysis.CGAnalysis
-
- com.ensoftcorp.open.cg.analysis.ZeroControlFlowAnalysis
-
public class ZeroControlFlowAnalysis extends CGAnalysis
Performs a 0-CFA Andersen style points-to analysis to resolve runtime types and infer dynamic dispatches on the fly. Of CHA, RTA, and VTA this is the most precise analysis for call graph construction. Note: The CFA expands to Control Flow Analysis, but the name no longer really captures what the algorithm is doing under the hood. Reference: http://matt.might.net/articles/implementation-of-kcfa-and-0cfa/- Author:
- Ben Holland
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
CALL
static java.lang.String
PER_CONTROL_FLOW
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String[]
getCallEdgeTags()
Returns the set of tags applied to edges during call graph constructionstatic ZeroControlFlowAnalysis
getInstance()
java.lang.String
getName()
java.lang.String[]
getPerControlFlowEdgeTags()
Returns the set of tags applied to per control flow edges during call graph construction-
Methods inherited from class com.ensoftcorp.open.cg.analysis.CGAnalysis
getCallGraph, getPerControlFlowGraph, hasRun, run
-
-
-
-
Field Detail
-
CALL
public static final java.lang.String CALL
- See Also:
- Constant Field Values
-
PER_CONTROL_FLOW
public static final java.lang.String PER_CONTROL_FLOW
- See Also:
- Constant Field Values
-
-
Method Detail
-
getInstance
public static ZeroControlFlowAnalysis getInstance()
-
getCallEdgeTags
public java.lang.String[] getCallEdgeTags()
Description copied from class:CGAnalysis
Returns the set of tags applied to edges during call graph construction- Specified by:
getCallEdgeTags
in classCGAnalysis
- Returns:
-
getPerControlFlowEdgeTags
public java.lang.String[] getPerControlFlowEdgeTags()
Description copied from class:CGAnalysis
Returns the set of tags applied to per control flow edges during call graph construction- Specified by:
getPerControlFlowEdgeTags
in classCGAnalysis
- Returns:
-
getName
public java.lang.String getName()
- Specified by:
getName
in classCGAnalysis
-
-