Package com.ensoftcorp.open.cg.analysis
Class ClassicHybridTypeAnalysis
- java.lang.Object
-
- com.ensoftcorp.open.cg.analysis.CGAnalysis
-
- com.ensoftcorp.open.cg.analysis.ClassicHybridTypeAnalysis
-
public class ClassicHybridTypeAnalysis extends CGAnalysis
Performs a Hybrid Type Analysis (XTA), which is a modification to RTA that combines XTA and MTA as discussed in the paper: Scalable Propagation-Based Call Graph Construction Algorithms by Frank Tip and Jens Palsberg. In terms of call graph construction precision this algorithm ranks better than XTA but worse than a 0-CFA. Reference: http://web.cs.ucla.edu/~palsberg/paper/oopsla00.pdf- 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 ClassicHybridTypeAnalysis
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 ClassicHybridTypeAnalysis 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
-
-