Classes | |
class | CompareScope |
class | CoupleNodes |
class | Similarity |
Public Member Functions | |
TreeSimilarity (int offset, RootScope target, RootScope source, boolean verbose) | |
Package Attributes | |
int | numNodes = 0 |
int | numMerges = 0 |
int | numUnmerges = 0 |
int | numChildMatches = 0 |
int | numSiblingMatches = 0 |
Private Types | |
enum | SimilarityType { SAME, SIMILAR, DIFF } |
Private Member Functions | |
void | mergeTree (Scope target, Scope source, int metricOffset) |
void | checkInlinedScope (Scope[]scope1, Scope[]scope2, int metricOffset) |
void | disseminateMetric (Scope target, Scope source, int sourceOffset, int metricCount) |
Scope[] | getSortedChildren (Scope scope) |
Scope[] | sortArrayOfNodes (Object[]nodes) |
CoupleNodes | mergeNode (Scope scope1, Scope scope2, int offsetScope2, Scope[]siblingsScope2, int metricOffset) |
void | setMergedNodes (Scope target, Scope source, int offset) |
int | getScopeSimilarityScore (Scope s1, Scope s2) |
boolean | isOnlyChild (Scope s1, Scope s2) |
Similarity | checkNodesSimilarity (Scope s1, Scope s2) |
boolean | hasUnderscoreSuffix (String s) |
boolean | areSameName (Scope s1, Scope s2) |
check if the name of two scopes are similar | |
boolean | areSameType (Scope s1, Scope s2) |
float | getMetricDistance (Scope s1, Scope s2) |
boolean | areSameChildren (Scope s1, Scope s2, int currDepth) |
boolean | isAlien (Scope scope) |
int | getChildrenSimilarityScore (Scope s1, Scope s2) |
float | getAnnotationValue (Scope s) |
void | addSubTree (Scope parent, Scope node, int metricOffset) |
void | mergeMetrics (Scope target, Scope source, int metricOffset) |
Private Attributes | |
final boolean | debug = false |
boolean | verbose = false |
EmptyMetricValuePropagationFilter | emptyFilter |
final HashMap< String, Scope[]> | mapScopeChildren = new HashMap<String, Scope[]>() |
Definition at line 26 of file TreeSimilarity.java.
Definition at line 37 of file TreeSimilarity.java.
edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.TreeSimilarity | ( | int | offset, | |
RootScope | target, | |||
RootScope | source, | |||
boolean | verbose | |||
) |
Definition at line 49 of file TreeSimilarity.java.
References edu.rice.cs.hpc.data.experiment.scope.Scope.dfsVisitScopeTree(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.emptyFilter, edu.rice.cs.hpc.data.experiment.scope.Scope.getExperiment(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.mergeMetrics(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.mergeTree(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.numChildMatches, edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.numMerges, edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.numNodes, edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.numSiblingMatches, and edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.numUnmerges.
void edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.addSubTree | ( | Scope | parent, | |
Scope | node, | |||
int | metricOffset | |||
) | [private] |
Definition at line 708 of file TreeSimilarity.java.
References edu.rice.cs.hpc.data.experiment.scope.Scope.dfsVisitScopeTree().
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.mergeTree().
boolean edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.areSameChildren | ( | Scope | s1, | |
Scope | s2, | |||
int | currDepth | |||
) | [private] |
Definition at line 583 of file TreeSimilarity.java.
References edu.rice.cs.hpc.data.experiment.scope.TreeNode.getChildCount(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.getScopeSimilarityScore(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.getSortedChildren(), and edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.isAlien().
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.getChildrenSimilarityScore().
boolean edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.areSameName | ( | Scope | s1, | |
Scope | s2 | |||
) | [private] |
check if the name of two scopes are similar
s1 | ||
s2 |
Definition at line 537 of file TreeSimilarity.java.
References edu.rice.cs.hpc.data.experiment.scope.Scope.getName(), and edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.hasUnderscoreSuffix().
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.getScopeSimilarityScore().
boolean edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.areSameType | ( | Scope | s1, | |
Scope | s2 | |||
) | [private] |
Definition at line 557 of file TreeSimilarity.java.
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.getScopeSimilarityScore().
void edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.checkInlinedScope | ( | Scope[] | scope1, | |
Scope[] | scope2, | |||
int | metricOffset | |||
) | [private] |
Definition at line 194 of file TreeSimilarity.java.
References edu.rice.cs.hpc.data.experiment.scope.Scope.accumulateMetric(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.disseminateMetric(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.emptyFilter, edu.rice.cs.hpc.data.experiment.scope.Scope.getExperiment(), edu.rice.cs.hpc.data.experiment.scope.Scope.getMetricValues(), edu.rice.cs.hpc.data.experiment.scope.Scope.getParentScope(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.getSortedChildren(), edu.rice.cs.hpc.data.experiment.scope.Scope.incrementCounter(), edu.rice.cs.hpc.data.experiment.scope.Scope.isCounterZero(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.mergeNode(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.mergeTree(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.numMerges, edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.CoupleNodes.source, edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.CoupleNodes.target, and edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.verbose.
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.mergeTree().
Similarity edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.checkNodesSimilarity | ( | Scope | s1, | |
Scope | s2 | |||
) | [private] |
Definition at line 490 of file TreeSimilarity.java.
References edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.debug, edu.rice.cs.hpc.data.experiment.scope.Scope.getCCTIndex(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.getChildrenSimilarityScore(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.getScopeSimilarityScore(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.Similarity.score, and edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.Similarity.type.
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.mergeNode().
void edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.disseminateMetric | ( | Scope | target, | |
Scope | source, | |||
int | sourceOffset, | |||
int | metricCount | |||
) | [private] |
Definition at line 270 of file TreeSimilarity.java.
References edu.rice.cs.hpc.data.experiment.scope.Scope.getMetricValue(), edu.rice.cs.hpc.data.experiment.metric.MetricValue.getValue(), edu.rice.cs.hpc.data.experiment.scope.Scope.setMetricValue(), and edu.rice.cs.hpc.data.experiment.metric.MetricValue.setValue().
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.checkInlinedScope().
float edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.getAnnotationValue | ( | Scope | s | ) | [private] |
Definition at line 689 of file TreeSimilarity.java.
References edu.rice.cs.hpc.data.experiment.metric.MetricValue.getAnnotationValue(), and edu.rice.cs.hpc.data.experiment.scope.Scope.getMetricValue().
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.getMetricDistance().
int edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.getChildrenSimilarityScore | ( | Scope | s1, | |
Scope | s2 | |||
) | [private] |
Definition at line 671 of file TreeSimilarity.java.
References edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.areSameChildren().
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.checkNodesSimilarity().
float edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.getMetricDistance | ( | Scope | s1, | |
Scope | s2 | |||
) | [private] |
Definition at line 565 of file TreeSimilarity.java.
References edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.getAnnotationValue().
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.getScopeSimilarityScore().
int edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.getScopeSimilarityScore | ( | Scope | s1, | |
Scope | s2 | |||
) | [private] |
Definition at line 435 of file TreeSimilarity.java.
References edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.areSameName(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.areSameType(), edu.rice.cs.hpc.data.experiment.scope.Scope.getFirstLineNumber(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.getMetricDistance(), and edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.isOnlyChild().
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.areSameChildren(), and edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.checkNodesSimilarity().
Scope [] edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.getSortedChildren | ( | Scope | scope | ) | [private] |
Definition at line 297 of file TreeSimilarity.java.
References edu.rice.cs.hpc.data.experiment.scope.Scope.getCCTIndex(), edu.rice.cs.hpc.data.experiment.scope.TreeNode.getChildren(), edu.rice.cs.hpc.data.experiment.scope.Scope.getExperiment(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.mapScopeChildren, and edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.sortArrayOfNodes().
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.areSameChildren(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.checkInlinedScope(), and edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.mergeTree().
boolean edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.hasUnderscoreSuffix | ( | String | s | ) | [private] |
Definition at line 524 of file TreeSimilarity.java.
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.areSameName().
boolean edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.isAlien | ( | Scope | scope | ) | [private] |
Definition at line 655 of file TreeSimilarity.java.
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.areSameChildren().
boolean edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.isOnlyChild | ( | Scope | s1, | |
Scope | s2 | |||
) | [private] |
Definition at line 474 of file TreeSimilarity.java.
References edu.rice.cs.hpc.data.experiment.scope.TreeNode.getChildCount(), and edu.rice.cs.hpc.data.experiment.scope.Scope.getParentScope().
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.getScopeSimilarityScore().
void edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.mergeMetrics | ( | Scope | target, | |
Scope | source, | |||
int | metricOffset | |||
) | [private] |
Definition at line 720 of file TreeSimilarity.java.
References edu.rice.cs.hpc.data.experiment.scope.Scope.copyMetrics().
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.setMergedNodes(), and edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.TreeSimilarity().
CoupleNodes edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.mergeNode | ( | Scope | scope1, | |
Scope | scope2, | |||
int | offsetScope2, | |||
Scope[] | siblingsScope2, | |||
int | metricOffset | |||
) | [private] |
Definition at line 349 of file TreeSimilarity.java.
References edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.checkNodesSimilarity(), edu.rice.cs.hpc.data.experiment.scope.Scope.isCounterZero(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.numSiblingMatches, edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.Similarity.score, edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.setMergedNodes(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.Similarity.type, and edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.verbose.
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.checkInlinedScope(), and edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.mergeTree().
void edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.mergeTree | ( | Scope | target, | |
Scope | source, | |||
int | metricOffset | |||
) | [private] |
Definition at line 90 of file TreeSimilarity.java.
References edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.addSubTree(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.checkInlinedScope(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.getSortedChildren(), edu.rice.cs.hpc.data.experiment.scope.Scope.isCounterZero(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.mergeNode(), edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.numMerges, edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.numNodes, edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.numUnmerges, edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.CoupleNodes.source, edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.CoupleNodes.target, and edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.verbose.
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.checkInlinedScope(), and edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.TreeSimilarity().
void edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.setMergedNodes | ( | Scope | target, | |
Scope | source, | |||
int | offset | |||
) | [private] |
Definition at line 413 of file TreeSimilarity.java.
References edu.rice.cs.hpc.data.experiment.scope.Scope.incrementCounter(), edu.rice.cs.hpc.data.experiment.scope.Scope.isCounterZero(), and edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.mergeMetrics().
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.mergeNode().
Scope [] edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.sortArrayOfNodes | ( | Object[] | nodes | ) | [private] |
Definition at line 321 of file TreeSimilarity.java.
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.getSortedChildren().
final boolean edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.debug = false [private] |
Definition at line 28 of file TreeSimilarity.java.
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.checkNodesSimilarity().
EmptyMetricValuePropagationFilter edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.emptyFilter [private] |
Definition at line 38 of file TreeSimilarity.java.
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.checkInlinedScope(), and edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.TreeSimilarity().
final HashMap<String, Scope[]> edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.mapScopeChildren = new HashMap<String, Scope[]>() [private] |
Definition at line 287 of file TreeSimilarity.java.
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.getSortedChildren().
int edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.numChildMatches = 0 [package] |
Definition at line 34 of file TreeSimilarity.java.
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.TreeSimilarity().
int edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.numMerges = 0 [package] |
int edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.numNodes = 0 [package] |
Definition at line 31 of file TreeSimilarity.java.
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.mergeTree(), and edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.TreeSimilarity().
int edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.numSiblingMatches = 0 [package] |
Definition at line 35 of file TreeSimilarity.java.
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.mergeNode(), and edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.TreeSimilarity().
int edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.numUnmerges = 0 [package] |
Definition at line 33 of file TreeSimilarity.java.
Referenced by edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.mergeTree(), and edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.TreeSimilarity().
boolean edu.rice.cs.hpc.data.experiment.merge.TreeSimilarity.verbose = false [private] |