facebookresearch / UNLU
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
  • 58% duplication:
    • 9,251 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 5,399 duplicated lines
  • 435 duplicates
system58% (5,399 lines)
Duplication per Extension
py59% (5,335 lines)
yaml30% (64 lines)
Duplication per Component (primary)
anli/src77% (2,782 lines)
codes/rnn_training74% (749 lines)
infersent_comp64% (583 lines)
infersent_comp/encoder92% (554 lines)
codes18% (352 lines)
dataset_utils87% (272 lines)
ROOT29% (76 lines)
dataset_utils/mnli19% (15 lines)
dataset_utils/snli19% (9 lines)
dataset_utils/ocnli20% (7 lines)
anli0% (0 lines)
utils0% (0 lines)
infersent_comp/dataset0% (0 lines)

Duplication Between Components (50+ lines)

G infersent_comp/encoder infersent_comp/encoder infersent_comp infersent_comp infersent_comp/encoder--infersent_comp 1108 codes codes codes/rnn_training codes/rnn_training codes--codes/rnn_training 229 dataset_utils dataset_utils codes--dataset_utils 200 codes/rnn_training--infersent_comp 69 anli/src anli/src anli/src--codes 111

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 435 duplicates...
Size#FoldersFilesLinesCode
554 x 2 infersent_comp/encoder
infersent_comp
models.py
models.py
18:894 (100%)
18:894 (100%)
view
370 x 2 anli/src/nli
anli/src/nli
train_with_confidence.py
training.py
64:502 (41%)
58:496 (40%)
view
275 x 2 anli/src/nli
anli/src/nli
train_with_confidence.py
training.py
596:934 (30%)
501:839 (30%)
view
205 x 2 anli/src/nli
anli/src/nli
train_with_scramble.py
training.py
163:415 (20%)
173:425 (22%)
view
205 x 2 anli/src/nli
anli/src/nli
train_with_confidence.py
train_with_scramble.py
179:431 (22%)
163:415 (20%)
view
167 x 2 anli/src/nli
anli/src/nli
train_with_scramble.py
training.py
1040:1253 (16%)
928:1142 (18%)
view
105 x 2 anli/src/nli
anli/src/nli
train_with_confidence.py
training.py
1019:1151 (11%)
1030:1162 (11%)
view
104 x 2 anli/src/nli
anli/src/nli
train_with_scramble.py
training.py
738:861 (10%)
680:803 (11%)
view
104 x 2 anli/src/nli
anli/src/nli
train_with_confidence.py
train_with_scramble.py
775:898 (11%)
738:861 (10%)
view
89 x 2 anli/src/nli
anli/src/nli
train_with_scramble.py
training.py
25:141 (9%)
27:142 (9%)
view
86 x 2 anli/src/nli
anli/src/nli
train_with_confidence.py
train_with_scramble.py
1019:1131 (9%)
1141:1253 (8%)
view
85 x 2 anli/src/nli
anli/src/nli
train_with_scramble.py
training.py
477:591 (8%)
476:590 (9%)
view
82 x 2 anli/src/nli
anli/src/nli
train_with_confidence.py
train_with_scramble.py
64:148 (9%)
57:141 (8%)
view
76 x 2 codes/rnn_training
codes/rnn_training
train_nli_ray.py
train_nli_w2v.py
145:229 (17%)
144:228 (19%)
view
71 x 2 codes/rnn_training
codes/rnn_training
train_nli_ray.py
train_nli_w2v.py
52:143 (16%)
52:143 (17%)
view
69 x 2 anli/src/nli
anli/src/nli
train_with_confidence.py
train_with_scramble.py
596:685 (7%)
502:591 (7%)
view
56 x 2 dataset_utils
dataset_utils
data_iterator.py
data_iterator.py
86:145 (18%)
222:281 (18%)
view
52 x 2 codes/rnn_training
codes/rnn_training
train_nli_ray.py
train_nli_w2v.py
233:296 (12%)
231:294 (13%)
view
44 x 2 anli/src/nli
anli/src/nli
train_with_scramble.py
training.py
975:1036 (4%)
863:924 (4%)
view
40 x 2 anli/src/nli
anli/src/nli
train_with_confidence.py
train_with_scramble.py
719:764 (4%)
665:710 (4%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 47 unit duplicates...
Size#FoldersFilesLinesCode
143 x 2 anli/src/nli
anli/src/nli
train_with_confidence.py
training.py
0:0 
0:0 
view
47 x 2 infersent_comp
infersent_comp/encoder
models.py
models.py
0:0 
0:0 
view
53 x 2 infersent_comp
infersent_comp/encoder
models.py
models.py
0:0 
0:0 
view
36 x 3 anli/src/nli
anli/src/nli
anli/src/nli
train_with_confidence.py
train_with_scramble.py
training.py
0:0 
0:0 
0:0 
view
25 x 2 infersent_comp
infersent_comp/encoder
models.py
models.py
0:0 
0:0 
view
35 x 2 infersent_comp
infersent_comp/encoder
models.py
models.py
0:0 
0:0 
view
37 x 2 infersent_comp
infersent_comp/encoder
models.py
models.py
0:0 
0:0 
view
24 x 2 infersent_comp
infersent_comp/encoder
models.py
models.py
0:0 
0:0 
view
29 x 2 infersent_comp
infersent_comp/encoder
models.py
models.py
0:0 
0:0 
view
20 x 2 infersent_comp
infersent_comp/encoder
models.py
models.py
0:0 
0:0 
view
20 x 3 anli/src/nli
anli/src/nli
anli/src/nli
train_with_confidence.py
train_with_scramble.py
training.py
0:0 
0:0 
0:0 
view
20 x 3 anli/src/nli
anli/src/nli
anli/src/nli
train_with_confidence.py
train_with_scramble.py
training.py
0:0 
0:0 
0:0 
view
21 x 2 infersent_comp
infersent_comp/encoder
models.py
models.py
0:0 
0:0 
view
20 x 2 infersent_comp
infersent_comp/encoder
models.py
models.py
0:0 
0:0 
view
27 x 2 infersent_comp
infersent_comp/encoder
models.py
models.py
0:0 
0:0 
view
17 x 3 anli/src/nli
anli/src/nli
anli/src/nli
train_with_confidence.py
train_with_scramble.py
training.py
0:0 
0:0 
0:0 
view
16 x 2 infersent_comp
infersent_comp/encoder
models.py
models.py
0:0 
0:0 
view
15 x 2 infersent_comp
infersent_comp/encoder
models.py
models.py
0:0 
0:0 
view
16 x 2 infersent_comp
infersent_comp/encoder
models.py
models.py
0:0 
0:0 
view
16 x 3 anli/src/nli
anli/src/nli
anli/src/nli
train_with_confidence.py
train_with_scramble.py
training.py
0:0 
0:0 
0:0 
view