l_x1 = x_dataset.getXValue(0, l_minuendItem); l_y1 = x_dataset.getYValue(0, l_minuendItem); l_minuendCurX = new Double(l_x1); l_minuendCurY = new Double(l_y1); if (!b_minuendAtIntersect) { l_minuendXs.add(l_minuendCurX); l_minuendYs.add(l_minuendCurY); } l_minuendMaxY = Math.max(l_minuendMaxY, l_y1); l_minuendMinY = Math.min(l_minuendMinY, l_y1); l_x2 = x_dataset.getXValue(0, l_minuendItem + 1); l_y2 = x_dataset.getYValue(0, l_minuendItem + 1); l_minuendNextX = new Double(l_x2); l_minuendNextY = new Double(l_y2);
l_x3 = x_dataset.getXValue(1, l_subtrahendItem); l_y3 = x_dataset.getYValue(1, l_subtrahendItem); l_subtrahendCurX = new Double(l_x3); l_subtrahendCurY = new Double(l_y3); if (!b_subtrahendAtIntersect) { l_subtrahendXs.add(l_subtrahendCurX); l_subtrahendYs.add(l_subtrahendCurY); } l_subtrahendMaxY = Math.max(l_subtrahendMaxY, l_y3); l_subtrahendMinY = Math.min(l_subtrahendMinY, l_y3); l_x4 = x_dataset.getXValue(1, l_subtrahendItem + 1); l_y4 = x_dataset.getYValue(1, l_subtrahendItem + 1); l_subtrahendNextX = new Double(l_x4); l_subtrahendNextY = new Double(l_y4);
Clone fragments detected by clone detection tool
File path: /jfreechart-1.0.10/src/org/jfree/chart/renderer/xy/XYDifferenceRenderer.java File path: /jfreechart-1.0.10/src/org/jfree/chart/renderer/xy/XYDifferenceRenderer.java
Method name: void drawItemPass0(Graphics2D, Rectangle2D, PlotRenderingInfo, XYPlot, ValueAxis, ValueAxis, XYDataset, int, int, CrosshairState) Method name: void drawItemPass0(Graphics2D, Rectangle2D, PlotRenderingInfo, XYPlot, ValueAxis, ValueAxis, XYDataset, int, int, CrosshairState)
Number of AST nodes: 13 Number of AST nodes: 13
1
l_x1 = x_dataset.getXValue(0, l_minuendItem);
1
l_x3 = x_dataset.getXValue(1, l_subtrahendItem);
2
                l_y1 = x_dataset.getYValue(0, l_minuendItem);
2
                l_y3 = x_dataset.getYValue(1, l_subtrahendItem);
3
                l_minuendCurX = new Double(l_x1);
3
                l_subtrahendCurX = new Double(l_x3);
4
                l_minuendCurY = new Double(l_y1);
4
                l_subtrahendCurY = new Double(l_y3);
5
                if (!b_minuendAtIntersect) {
5
                if (!b_subtrahendAtIntersect) {
6
                    l_minuendXs.add(l_minuendCurX);
6
                    l_subtrahendXs.add(l_subtrahendCurX);
7
                    l_minuendYs.add(l_minuendCurY);
7
                    l_subtrahendYs.add(l_subtrahendCurY);
8
                }
8
                }
9
                l_minuendMaxY = Math.max(l_minuendMaxY, l_y1);
9
                l_subtrahendMaxY = Math.max(l_subtrahendMaxY, l_y3);
10
                l_minuendMinY = Math.min(l_minuendMinY, l_y1);
10
                l_subtrahendMinY = Math.min(l_subtrahendMinY, l_y3);
11
                l_x2 = x_dataset.getXValue(0, l_minuendItem + 1);
11
                l_x4 = x_dataset.getXValue(1, l_subtrahendItem + 1);
12
                l_y2 = x_dataset.getYValue(0, l_minuendItem + 1);
12
                l_y4 = x_dataset.getYValue(1, l_subtrahendItem + 1);
13
                l_minuendNextX = new Double(l_x2);
13
                l_subtrahendNextX = new Double(l_x4);
14
                l_minuendNextY = new Double(l_y2);
14
                l_subtrahendNextY = new Double(l_y4);
Summary
Number of common nesting structure subtrees1
Number of refactorable cases0
Number of non-refactorable cases1
Time elapsed for finding largest common nesting structure subtrees (ms)0.3
Clones locationClones are in the same method
Number of node comparisons114
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements13
    Number of unmapped statements in the first code fragment0
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)67.8
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    106
    l_x1 = x_dataset.getXValue(0, l_minuendItem);
    106
    l_x1 = x_dataset.getXValue(0, l_minuendItem);
    120
    l_x3 = x_dataset.getXValue(1, l_subtrahendItem);
    Differences
    Expression1Expression2Difference
    l_x1l_x3VARIABLE_NAME_MISMATCH
    01LITERAL_VALUE_MISMATCH
    l_minuendIteml_subtrahendItemVARIABLE_NAME_MISMATCH
    120
    l_x3 = x_dataset.getXValue(1, l_subtrahendItem);
    107
    l_y1 = x_dataset.getYValue(0, l_minuendItem);
    107
    l_y1 = x_dataset.getYValue(0, l_minuendItem);
    121
    l_y3 = x_dataset.getYValue(1, l_subtrahendItem);
    Differences
    Expression1Expression2Difference
    l_y1l_y3VARIABLE_NAME_MISMATCH
    01LITERAL_VALUE_MISMATCH
    l_minuendIteml_subtrahendItemVARIABLE_NAME_MISMATCH
    121
    l_y3 = x_dataset.getYValue(1, l_subtrahendItem);
    108
    l_minuendCurX = new Double(l_x1);
    108
    l_minuendCurX = new Double(l_x1);
    122
    l_subtrahendCurX = new Double(l_x3);
    Differences
    Expression1Expression2Difference
    l_minuendCurXl_subtrahendCurXVARIABLE_NAME_MISMATCH
    l_x1l_x3VARIABLE_NAME_MISMATCH
    122
    l_subtrahendCurX = new Double(l_x3);
    109
    l_minuendCurY = new Double(l_y1);
    109
    l_minuendCurY = new Double(l_y1);
    123
    l_subtrahendCurY = new Double(l_y3);
    Differences
    Expression1Expression2Difference
    l_minuendCurYl_subtrahendCurYVARIABLE_NAME_MISMATCH
    l_y1l_y3VARIABLE_NAME_MISMATCH
    123
    l_subtrahendCurY = new Double(l_y3);
    110
    if (!b_minuendAtIntersect)
    110
    if (!b_minuendAtIntersect)
    124
    if (!b_subtrahendAtIntersect)
    Differences
    Expression1Expression2Difference
    b_minuendAtIntersectb_subtrahendAtIntersectVARIABLE_NAME_MISMATCH
    124
    if (!b_subtrahendAtIntersect)
    111
    l_minuendXs.add(l_minuendCurX);
    111
    l_minuendXs.add(l_minuendCurX);
    125
    l_subtrahendXs.add(l_subtrahendCurX);
    Differences
    Expression1Expression2Difference
    l_minuendCurXl_subtrahendCurXVARIABLE_NAME_MISMATCH
    l_minuendXsl_subtrahendXsVARIABLE_NAME_MISMATCH
    125
    l_subtrahendXs.add(l_subtrahendCurX);
    112
    l_minuendYs.add(l_minuendCurY);
    112
    l_minuendYs.add(l_minuendCurY);
    126
    l_subtrahendYs.add(l_subtrahendCurY);
    Differences
    Expression1Expression2Difference
    l_minuendCurYl_subtrahendCurYVARIABLE_NAME_MISMATCH
    l_minuendYsl_subtrahendYsVARIABLE_NAME_MISMATCH
    126
    l_subtrahendYs.add(l_subtrahendCurY);
    113
    l_minuendMaxY = Math.max(l_minuendMaxY, l_y1);
    113
    l_minuendMaxY = Math.max(l_minuendMaxY, l_y1);
    127
    l_subtrahendMaxY = Math.max(l_subtrahendMaxY, l_y3);
    Differences
    Expression1Expression2Difference
    l_minuendMaxYl_subtrahendMaxYVARIABLE_NAME_MISMATCH
    l_minuendMaxYl_subtrahendMaxYVARIABLE_NAME_MISMATCH
    l_y1l_y3VARIABLE_NAME_MISMATCH
    127
    l_subtrahendMaxY = Math.max(l_subtrahendMaxY, l_y3);
    114
    l_minuendMinY = Math.min(l_minuendMinY, l_y1);
    114
    l_minuendMinY = Math.min(l_minuendMinY, l_y1);
    128
    l_subtrahendMinY = Math.min(l_subtrahendMinY, l_y3);
    Differences
    Expression1Expression2Difference
    l_minuendMinYl_subtrahendMinYVARIABLE_NAME_MISMATCH
    l_minuendMinYl_subtrahendMinYVARIABLE_NAME_MISMATCH
    l_y1l_y3VARIABLE_NAME_MISMATCH
    128
    l_subtrahendMinY = Math.min(l_subtrahendMinY, l_y3);
    115
    l_x2 = x_dataset.getXValue(0, l_minuendItem + 1);
    115
    l_x2 = x_dataset.getXValue(0, l_minuendItem + 1);
    129
    l_x4 = x_dataset.getXValue(1, l_subtrahendItem + 1);
    Differences
    Expression1Expression2Difference
    l_x2l_x4VARIABLE_NAME_MISMATCH
    01LITERAL_VALUE_MISMATCH
    l_minuendIteml_subtrahendItemVARIABLE_NAME_MISMATCH
    129
    l_x4 = x_dataset.getXValue(1, l_subtrahendItem + 1);
    116
    l_y2 = x_dataset.getYValue(0, l_minuendItem + 1);
    116
    l_y2 = x_dataset.getYValue(0, l_minuendItem + 1);
    130
    l_y4 = x_dataset.getYValue(1, l_subtrahendItem + 1);
    Differences
    Expression1Expression2Difference
    l_y2l_y4VARIABLE_NAME_MISMATCH
    01LITERAL_VALUE_MISMATCH
    l_minuendIteml_subtrahendItemVARIABLE_NAME_MISMATCH
    130
    l_y4 = x_dataset.getYValue(1, l_subtrahendItem + 1);
    117
    l_minuendNextX = new Double(l_x2);
    117
    l_minuendNextX = new Double(l_x2);
    131
    l_subtrahendNextX = new Double(l_x4);
    Differences
    Expression1Expression2Difference
    l_minuendNextXl_subtrahendNextXVARIABLE_NAME_MISMATCH
    l_x2l_x4VARIABLE_NAME_MISMATCH
    131
    l_subtrahendNextX = new Double(l_x4);
    118
    l_minuendNextY = new Double(l_y2);
    118
    l_minuendNextY = new Double(l_y2);
    132
    l_subtrahendNextY = new Double(l_y4);
    Differences
    Expression1Expression2Difference
    l_minuendNextYl_subtrahendNextYVARIABLE_NAME_MISMATCH
    l_y2l_y4VARIABLE_NAME_MISMATCH
    132
    l_subtrahendNextY = new Double(l_y4);
    Precondition Violations (1)
    Row Violation
    1Clone fragment #1 returns variables l_x2, l_y2, l_x1, l_y1, l_minuendCurX, l_minuendCurY, l_minuendMaxY, l_minuendMinY, l_minuendNextX, l_minuendNextY , while Clone fragment #2 returns variables l_x4, l_y4, l_x3, l_y3, l_subtrahendCurX, l_subtrahendCurY, l_subtrahendMaxY, l_subtrahendMinY, l_subtrahendNextX, l_subtrahendNextY