facebookresearch / muss
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
  • 9% duplication:
    • 3,519 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 343 duplicated lines
  • 18 duplicates
system9% (343 lines)
Duplication per Extension
py9% (343 lines)
Duplication per Component (primary)
muss11% (106 lines)
muss/utils15% (94 lines)
muss/mining8% (77 lines)
scripts15% (54 lines)
muss/fairseq2% (12 lines)
ROOT0% (0 lines)
muss/resources0% (0 lines)
muss/evaluation0% (0 lines)

Duplication Between Components (50+ lines)

G muss muss muss/utils muss/utils muss--muss/utils 188

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 18 longest duplicates.
See data for all 18 duplicates...
Size#FoldersFilesLinesCode
94 x 2 muss
muss/utils
slurm.py
submitit.py
20:136 (100%)
20:136 (100%)
view
8 x 2 scripts
scripts
mine_sequences.py
mine_sequences.py
128:135 (3%)
153:161 (3%)
view
8 x 2 muss/mining
muss/mining
training.py
training.py
122:129 (2%)
183:190 (2%)
view
8 x 2 muss/mining
scripts
nn_search.py
mine_sequences.py
392:399 (2%)
201:208 (3%)
view
8 x 2 muss/mining
muss/mining
training.py
training.py
140:147 (2%)
195:202 (2%)
view
7 x 2 muss/mining
muss/mining
training.py
training.py
141:147 (2%)
238:244 (2%)
view
7 x 2 muss/mining
muss/mining
training.py
training.py
196:202 (2%)
238:244 (2%)
view
6 x 2 muss/mining
scripts
nn_search.py
mine_sequences.py
186:191 (1%)
168:173 (2%)
view
6 x 2 scripts
scripts
mine_sequences.py
mine_sequences.py
77:82 (2%)
214:219 (2%)
view
6 x 2 scripts
scripts
mine_sequences.py
mine_sequences.py
128:133 (2%)
214:219 (2%)
view
6 x 2 scripts
scripts
create_base_index.py
mine_sequences.py
20:25 (42%)
107:112 (2%)
view
6 x 2 muss/mining
muss/mining
training.py
training.py
158:163 (1%)
212:217 (1%)
view
6 x 2 muss/fairseq
muss/fairseq
base.py
base.py
148:153 (3%)
199:204 (3%)
view
6 x 2 scripts
scripts
mine_sequences.py
mine_sequences.py
77:82 (2%)
128:133 (2%)
view
6 x 2 muss/mining
muss/mining
training.py
training.py
320:325 (1%)
336:341 (1%)
view
6 x 2 scripts
scripts
mine_sequences.py
mine_sequences.py
77:82 (2%)
153:158 (2%)
view
6 x 2 scripts
scripts
mine_sequences.py
mine_sequences.py
153:158 (2%)
214:219 (2%)
view
6 x 2 muss
muss
preprocessors.py
preprocessors.py
284:290 (1%)
309:315 (1%)
view
Duplicated Units
The list of top 4 duplicated units.
See data for all 4 unit duplicates...
Size#FoldersFilesLinesCode
18 x 2 muss
muss/utils
slurm.py
submitit.py
0:0 
0:0 
view
13 x 2 muss
muss/utils
slurm.py
submitit.py
0:0 
0:0 
view
7 x 2 muss
muss/utils
slurm.py
submitit.py
0:0 
0:0 
view
6 x 2 muss
muss/utils
slurm.py
submitit.py
0:0 
0:0 
view