microsoft / arcticseals
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
  • 16% duplication:
    • 11,420 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,840 duplicated lines
  • 391 duplicates
system16% (1,840 lines)
Duplication per Extension
yaml91% (826 lines)
py8% (650 lines)
cu36% (206 lines)
js14% (94 lines)
h32% (34 lines)
html31% (18 lines)
pyx48% (12 lines)
Duplication per Component (primary)
MaskRCNNDetection20% (1,272 lines)
SealDetectionRCNN11% (238 lines)
dataset-generator55% (150 lines)
viewer31% (86 lines)
archive8% (68 lines)
parse-labels5% (26 lines)
CopyImageFiles0% (0 lines)
SealDetectionAPI0% (0 lines)
UploadBlobs0% (0 lines)
image_registration0% (0 lines)
ir-normalization0% (0 lines)
utilities0% (0 lines)

Duplication Between Components (50+ lines)

G MaskRCNNDetection MaskRCNNDetection SealDetectionRCNN SealDetectionRCNN MaskRCNNDetection--SealDetectionRCNN 207

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
See data for all 391 duplicates...
Size#FoldersFilesLinesCode
35 x 2 src/dataset-generator
src/dataset-generator
create_dataset_from_raw_csv.py
create_dataset_from_updated_csv.py
127:169 (26%)
125:167 (25%)
view
35 x 2 src/MaskRCNNDetection/configs
src/MaskRCNNDetection/configs
e2e_mask_rcnn_R_101_FPN_1x.yaml
e2e_mask_rcnn_R_50_FPN_1x.yaml
6:40 (87%)
6:40 (87%)
view
32 x 2 src/MaskRCNNDetection/configs/caffe2
src/MaskRCNNDetection/configs
e2e_mask_rcnn_X_101_32x8d_FPN_1x_caff...
e2e_mask_rcnn_X_101_32x8d_FPN_1x.yaml
4:35 (84%)
4:35 (71%)
view
29 x 2 src/MaskRCNNDetection/configs/caffe2
src/MaskRCNNDetection/configs/caffe2
e2e_mask_rcnn_R_101_FPN_1x_caffe2.yaml
e2e_mask_rcnn_R_50_FPN_1x_caffe2.yaml
6:34 (85%)
6:34 (85%)
view
28 x 2 src/SealDetectionRCNN/data
src/SealDetectionRCNN/data
seals_dataset.py
vott_dataset.py
92:131 (29%)
87:126 (35%)
view
28 x 2 src/MaskRCNNDetection/configs/caffe2
src/MaskRCNNDetection/configs
e2e_mask_rcnn_R_101_FPN_1x_caffe2.yaml
e2e_mask_rcnn_R_101_FPN_1x.yaml
4:31 (82%)
4:31 (70%)
view
28 x 2 src/MaskRCNNDetection/configs/caffe2
src/MaskRCNNDetection/configs
e2e_mask_rcnn_R_50_FPN_1x_caffe2.yaml
e2e_mask_rcnn_R_50_FPN_1x.yaml
4:31 (82%)
4:31 (70%)
view
26 x 2 src/MaskRCNNDetection/configs/caffe2
src/MaskRCNNDetection/configs
e2e_mask_rcnn_R_50_FPN_1x_caffe2.yaml
e2e_mask_rcnn_R_101_FPN_1x.yaml
6:31 (76%)
6:31 (65%)
view
26 x 2 src/MaskRCNNDetection/configs/caffe2
src/MaskRCNNDetection/configs
e2e_mask_rcnn_R_101_FPN_1x_caffe2.yaml
e2e_mask_rcnn_R_50_FPN_1x.yaml
6:31 (76%)
6:31 (65%)
view
26 x 2 src/MaskRCNNDetection/configs
src/MaskRCNNDetection/configs
e2e_mask_rcnn_R_101_FPN_1x.yaml
e2e_mask_rcnn_X_101_32x8d_FPN_1x.yaml
4:29 (65%)
4:29 (57%)
view
26 x 2 src/MaskRCNNDetection/configs/caffe2
src/MaskRCNNDetection/configs/caffe2
e2e_mask_rcnn_R_101_FPN_1x_caffe2.yaml
e2e_mask_rcnn_X_101_32x8d_FPN_1x_caff...
4:29 (76%)
4:29 (68%)
view
26 x 2 src/MaskRCNNDetection/configs
src/MaskRCNNDetection/configs
e2e_faster_rcnn_R_101_FPN_1x.yaml
e2e_faster_rcnn_R_50_FPN_1x.yaml
6:31 (83%)
6:31 (83%)
view
26 x 2 src/MaskRCNNDetection/configs/caffe2
src/MaskRCNNDetection/configs
e2e_mask_rcnn_R_101_FPN_1x_caffe2.yaml
e2e_mask_rcnn_X_101_32x8d_FPN_1x.yaml
4:29 (76%)
4:29 (57%)
view
26 x 2 src/MaskRCNNDetection/configs/caffe2
src/MaskRCNNDetection/configs
e2e_mask_rcnn_X_101_32x8d_FPN_1x_caff...
e2e_mask_rcnn_R_101_FPN_1x.yaml
4:29 (68%)
4:29 (65%)
view
25 x 2 src/MaskRCNNDetection/configs/quick_schedules
src/MaskRCNNDetection/configs/quick_schedules
e2e_mask_rcnn_R_50_FPN_quick.yaml
e2e_mask_rcnn_X_101_32x8d_FPN_quick.yaml
6:30 (51%)
6:30 (47%)
view
24 x 2 src/MaskRCNNDetection/configs/caffe2
src/MaskRCNNDetection/configs/caffe2
e2e_mask_rcnn_R_50_FPN_1x_caffe2.yaml
e2e_mask_rcnn_X_101_32x8d_FPN_1x_caff...
6:29 (70%)
6:29 (63%)
view
24 x 2 src/MaskRCNNDetection/configs/caffe2
src/MaskRCNNDetection/configs
e2e_mask_rcnn_R_50_FPN_1x_caffe2.yaml
e2e_mask_rcnn_X_101_32x8d_FPN_1x.yaml
6:29 (70%)
6:29 (53%)
view
24 x 2 src/MaskRCNNDetection/configs
src/MaskRCNNDetection/configs
e2e_mask_rcnn_R_50_FPN_1x.yaml
e2e_mask_rcnn_X_101_32x8d_FPN_1x.yaml
6:29 (60%)
6:29 (53%)
view
24 x 2 src/dataset-generator
src/dataset-generator
create_dataset_from_raw_csv.py
create_dataset_from_updated_csv.py
171:201 (18%)
169:201 (17%)
view
24 x 2 src/MaskRCNNDetection/configs/caffe2
src/MaskRCNNDetection/configs
e2e_mask_rcnn_X_101_32x8d_FPN_1x_caff...
e2e_mask_rcnn_R_50_FPN_1x.yaml
6:29 (63%)
6:29 (60%)
view
Duplicated Units
The list of top 4 duplicated units.
See data for all 4 unit duplicates...
Size#FoldersFilesLinesCode
29 x 2 src/archive/ir-hotspot-rfc
src/archive/ir-hotspot-rfc
hotspot_classifier.py
hotspot_training.py
0:0 
0:0 
view
6 x 2 src/dataset-generator
src/dataset-generator
create_dataset_from_raw_csv.py
create_dataset_from_updated_csv.py
0:0 
0:0 
view
9 x 2 src/SealDetectionRCNN/model
src/SealDetectionRCNN/model
faster_rcnn_vgg16.py
region_proposal_network.py
0:0 
0:0 
view
7 x 2 src/MaskRCNNDetection/maskrcnn_benchmark/modeling
src/MaskRCNNDetection/ma...nn_benchmark/structures
utils.py
boxlist_ops.py
0:0 
0:0 
view