opensearch-project / ml-commons
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 4% duplication:
    • 4,385 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 199 duplicated lines
  • 20 duplicates
system4% (199 lines)
Duplication per Extension
java4% (199 lines)
Duplication per Component (primary)
plugin/src/main/java/org/opensearch/ml/task18% (107 lines)
ml-algorithms/src/main/java/org/opensearch/ml/engine2% (33 lines)
plugin/src/main/java/org/opensearch/ml/plugin17% (24 lines)
common/src/main/java/org/opensearch/ml/common1% (19 lines)
plugin/src/main/java/org/opensearch/ml/rest11% (16 lines)
plugin/src/main/java/org/opensearch/ml/permission0% (0 lines)
plugin/src/main/java/org/opensearch/ml/constant0% (0 lines)
plugin/src/main/java/org/opensearch/ml/indices0% (0 lines)
plugin/src/main/java/org/opensearch/ml/action0% (0 lines)
plugin/src/main/java/org/opensearch/ml/model0% (0 lines)
plugin/src/main/java/org/opensearch/ml/utils0% (0 lines)
plugin/src/main/java/org/opensearch/ml/stats0% (0 lines)
plugin/src/main/plugin-metadata0% (0 lines)
client/src/main/java/org/opensearch/ml/client0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 20 duplicates...
Size#FoldersFilesLinesCode
14 x 2 plugin/src/main/java/org/opensearch/ml/task
plugin/src/main/java/org/opensearch/ml/task
MLExecuteTaskRunner.java
MLTrainAndPredictTaskRunner.java
34:56 (53%)
50:65 (14%)
view
14 x 2 plugin/src/main/java/org/opensearch/ml/task
plugin/src/main/java/org/opensearch/ml/task
MLExecuteTaskRunner.java
MLPredictTaskRunner.java
34:56 (53%)
61:76 (11%)
view
14 x 2 plugin/src/main/java/org/opensearch/ml/task
plugin/src/main/java/org/opensearch/ml/task
MLPredictTaskRunner.java
MLTrainAndPredictTaskRunner.java
61:76 (11%)
50:65 (14%)
view
12 x 2 plugin/src/main/java/org/opensearch/ml/task
plugin/src/main/java/org/opensearch/ml/task
MLPredictTaskRunner.java
MLTrainAndPredictTaskRunner.java
122:133 (9%)
111:122 (12%)
view
11 x 2 plugin/src/main/java/org/opensearch/ml/task
plugin/src/main/java/org/opensearch/ml/task
MLPredictTaskRunner.java
MLTrainAndPredictTaskRunner.java
110:120 (8%)
98:109 (11%)
view
8 x 2 plugin/src/main/java/org/opensearch/ml/rest
plugin/src/main/java/org/opensearch/ml/rest
RestMLTrainAndPredictAction.java
RestMLTrainingAction.java
62:71 (34%)
61:70 (36%)
view
8 x 2 plugin/src/main/java/org/opensearch/ml/plugin
plugin/src/main/java/org/opensearch/ml/plugin
MachineLearningPlugin.java
MachineLearningPlugin.java
159:166 (5%)
168:175 (5%)
view
8 x 2 plugin/src/main/java/org/opensearch/ml/plugin
plugin/src/main/java/org/opensearch/ml/plugin
MachineLearningPlugin.java
MachineLearningPlugin.java
168:175 (5%)
177:184 (5%)
view
8 x 2 plugin/src/main/java/org/opensearch/ml/plugin
plugin/src/main/java/org/opensearch/ml/plugin
MachineLearningPlugin.java
MachineLearningPlugin.java
159:166 (5%)
177:184 (5%)
view
7 x 2 ml-algorithms/src/main/j...hms/anomalylocalization
ml-algorithms/src/main/j...hms/anomalylocalization
CountMinSketch.java
CountSketch.java
22:29 (26%)
22:29 (20%)
view
7 x 2 plugin/src/main/java/org/opensearch/ml/task
plugin/src/main/java/org/opensearch/ml/task
MLTrainAndPredictTaskRunner.java
MLTrainingTaskRunner.java
55:61 (7%)
65:71 (5%)
view
7 x 2 plugin/src/main/java/org/opensearch/ml/task
plugin/src/main/java/org/opensearch/ml/task
MLExecuteTaskRunner.java
MLTrainingTaskRunner.java
39:45 (26%)
65:71 (5%)
view
7 x 2 common/src/main/java/org/opensearch/ml/common
ml-algorithms/src/main/j...rg/opensearch/ml/engine
MLCommonsClassLoader.java
MLEngineClassLoader.java
32:38 (14%)
37:43 (14%)
view
7 x 2 plugin/src/main/java/org/opensearch/ml/task
plugin/src/main/java/org/opensearch/ml/task
MLPredictTaskRunner.java
MLTrainingTaskRunner.java
66:72 (5%)
65:71 (5%)
view
6 x 2 ml-algorithms/src/main/j...nsearch/ml/engine/utils
ml-algorithms/src/main/j...nsearch/ml/engine/utils
TribuoUtil.java
TribuoUtil.java
67:74 (9%)
122:129 (9%)
view
6 x 2 plugin/src/main/java/org/opensearch/ml/task
plugin/src/main/java/org/opensearch/ml/task
MLPredictTaskRunner.java
MLTrainingTaskRunner.java
127:132 (4%)
161:166 (4%)
view
6 x 2 plugin/src/main/java/org/opensearch/ml/task
plugin/src/main/java/org/opensearch/ml/task
MLTrainAndPredictTaskRunner.java
MLTrainingTaskRunner.java
116:121 (6%)
161:166 (4%)
view
6 x 2 plugin/src/main/java/org/opensearch/ml/task
plugin/src/main/java/org/opensearch/ml/task
MLTrainAndPredictTaskRunner.java
MLTrainingTaskRunner.java
98:103 (6%)
103:108 (4%)
view
6 x 2 plugin/src/main/java/org/opensearch/ml/task
plugin/src/main/java/org/opensearch/ml/task
MLPredictTaskRunner.java
MLTrainingTaskRunner.java
110:115 (4%)
103:108 (4%)
view
6 x 2 common/src/main/java/org...rch/ml/common/dataframe
common/src/main/java/org...rch/ml/common/dataframe
Row.java
Row.java
178:186 (5%)
190:198 (5%)
view
Duplicated Units
The list of top 3 duplicated units.
See data for all 3 unit duplicates...
Size#FoldersFilesLinesCode
14 x 3 plugin/src/main/java/org/opensearch/ml/task
plugin/src/main/java/org/opensearch/ml/task
plugin/src/main/java/org/opensearch/ml/task
MLTrainAndPredictTaskRunner.java
MLExecuteTaskRunner.java
MLPredictTaskRunner.java
49:63 
33:47 
60:74 
view
9 x 2 ml-algorithms/src/main/j...rg/opensearch/ml/engine
common/src/main/java/org/opensearch/ml/common
MLEngineClassLoader.java
MLCommonsClassLoader.java
37:46 
32:41 
view
7 x 2 plugin/src/main/java/org/opensearch/ml/rest
plugin/src/main/java/org/opensearch/ml/rest
RestMLTrainingAction.java
RestMLTrainAndPredictAction.java
62:71 
63:72 
view