facebookresearch / dynabench
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
  • 27% duplication:
    • 43,719 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 11,918 duplicated lines
  • 2,054 duplicates
system27% (11,918 lines)
Duplication per Extension
py27% (6,039 lines)
js26% (5,017 lines)
jsx31% (786 lines)
css7% (60 lines)
html33% (16 lines)
Duplication per Component (primary)
frontends/web26% (5,879 lines)
legacy/torchserve71% (3,096 lines)
api/migrations46% (1,017 lines)
legacy/modelservers78% (695 lines)
api/models13% (453 lines)
api/controllers14% (390 lines)
api/tools32% (148 lines)
annotators16% (72 lines)
builder/utils13% (63 lines)
api/common7% (34 lines)
evaluation/utils3% (27 lines)
api<1% (26 lines)
evaluation/scripts1% (12 lines)
builder4% (6 lines)
ROOT0% (0 lines)
annotators/conf0% (0 lines)
api/cron0% (0 lines)
evaluation/metrics0% (0 lines)
evaluation/datasets0% (0 lines)
evaluation0% (0 lines)
builder/dockerfiles0% (0 lines)

Duplication Between Components (50+ lines)

G legacy/modelservers legacy/modelservers legacy/torchserve legacy/torchserve legacy/modelservers--legacy/torchserve 1395

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 2,054 duplicates...
Size#FoldersFilesLinesCode
224 x 2 legacy/torchserve/tasks/dkqa/r3
legacy/torchserve/tasks/dkqa/r4
qa_utils.py
qa_utils.py
11:301 (100%)
11:301 (100%)
view
224 x 2 legacy/modelservers/qa
legacy/torchserve/tasks/dkqa/r4
qa_utils.py
qa_utils.py
11:300 (100%)
11:301 (100%)
view
224 x 2 legacy/modelservers/qa
legacy/torchserve/tasks/dkqa/r3
qa_utils.py
qa_utils.py
11:300 (100%)
11:301 (100%)
view
224 x 2 legacy/modelservers/qa
legacy/torchserve/tasks/qa/r1
qa_utils.py
qa_utils.py
11:300 (100%)
12:301 (100%)
view
224 x 2 legacy/torchserve/tasks/dkqa/r3
legacy/torchserve/tasks/qa/r2
qa_utils.py
qa_utils.py
11:301 (100%)
11:300 (100%)
view
224 x 2 legacy/torchserve/tasks/dkqa/r3
legacy/torchserve/tasks/qa/r1
qa_utils.py
qa_utils.py
11:301 (100%)
12:301 (100%)
view
224 x 2 legacy/torchserve/tasks/qa/r1
legacy/torchserve/tasks/qa/r2
qa_utils.py
qa_utils.py
12:301 (100%)
11:300 (100%)
view
224 x 2 legacy/modelservers/qa
legacy/torchserve/tasks/qa/r2
qa_utils.py
qa_utils.py
11:300 (100%)
11:300 (100%)
view
224 x 2 legacy/torchserve/tasks/dkqa/r4
legacy/torchserve/tasks/qa/r2
qa_utils.py
qa_utils.py
11:301 (100%)
11:300 (100%)
view
224 x 2 legacy/torchserve/tasks/dkqa/r4
legacy/torchserve/tasks/qa/r1
qa_utils.py
qa_utils.py
11:301 (100%)
12:301 (100%)
view
210 x 2 legacy/torchserve/tasks/qa/r1
legacy/torchserve/tasks/qa/r2
handler.py
handler.py
14:320 (100%)
14:320 (100%)
view
189 x 2 legacy/torchserve/tasks/nli/r2
legacy/torchserve/tasks/nli/r3
handler.py
handler.py
20:279 (100%)
20:279 (100%)
view
163 x 2 legacy/torchserve/tasks/dkqa/r3
legacy/torchserve/tasks/dkqa/r4
handler.py
handler.py
11:255 (100%)
11:255 (100%)
view
142 x 2 legacy/torchserve/tasks/hs/r2
legacy/torchserve/tasks/hs/r4
handler.py
handler.py
13:226 (100%)
13:226 (100%)
view
142 x 2 legacy/torchserve/tasks/sentiment/r1
legacy/torchserve/tasks/sentiment/r3
handler.py
handler.py
13:226 (100%)
13:226 (100%)
view
142 x 2 legacy/torchserve/tasks/hs/r1
legacy/torchserve/tasks/hs/r2
handler.py
handler.py
13:226 (100%)
13:226 (100%)
view
142 x 2 legacy/torchserve/tasks/sentiment/r2
legacy/torchserve/tasks/sentiment/r3
handler.py
handler.py
13:226 (100%)
13:226 (100%)
view
142 x 2 legacy/torchserve/tasks/sentiment/r1
legacy/torchserve/tasks/sentiment/r2
handler.py
handler.py
13:226 (100%)
13:226 (100%)
view
142 x 2 legacy/torchserve/tasks/hs/r1
legacy/torchserve/tasks/hs/r4
handler.py
handler.py
13:226 (100%)
13:226 (100%)
view
112 x 2 legacy/modelservers/qa
legacy/modelservers/qa
run_round1.py
run_round2.py
43:185 (83%)
42:184 (84%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 40 unit duplicates...
Size#FoldersFilesLinesCode
63 x 2 legacy/torchserve/tasks/dkqa/r3
legacy/torchserve/tasks/dkqa/r4
handler.py
handler.py
0:0 
0:0 
view
65 x 2 legacy/torchserve/tasks/qa/r1
legacy/torchserve/tasks/qa/r2
handler.py
handler.py
0:0 
0:0 
view
41 x 2 legacy/torchserve/tasks/qa/r1
legacy/torchserve/tasks/qa/r2
handler.py
handler.py
0:0 
0:0 
view
41 x 2 legacy/torchserve/tasks/nli/r3
legacy/torchserve/tasks/nli/r2
handler.py
handler.py
0:0 
0:0 
view
32 x 2 frontends/web/mturk-src
frontends/web/src
serviceWorker.js
serviceWorker.js
63:105 
63:105 
view
23 x 2 frontends/web/mturk-src/components
frontends/web/mturk-src/components/divyansh/qa-1
CreateInterfaceNoModel.js
CreateInterfaceNoModel.js
27:58 
27:58 
view
23 x 2 frontends/web/mturk-src/components/divyansh/qa-1
frontends/web/mturk-src/components
CreateInterface.js
CreateInterface.js
28:59 
28:59 
view
41 x 2 legacy/torchserve/tasks/nli/r3
legacy/torchserve/tasks/nli/r2
handler.py
handler.py
0:0 
0:0 
view
36 x 2 legacy/torchserve/tasks/hs/r4
legacy/torchserve/tasks/hs/r2
handler.py
handler.py
0:0 
0:0 
view
36 x 3 legacy/torchserve/tasks/sentiment/r1
legacy/torchserve/tasks/sentiment/r3
legacy/torchserve/tasks/sentiment/r2
handler.py
handler.py
handler.py
0:0 
0:0 
0:0 
view
39 x 3 legacy/torchserve/tasks/hs/r1
legacy/torchserve/tasks/hs/r4
legacy/torchserve/tasks/hs/r2
handler.py
handler.py
handler.py
0:0 
0:0 
0:0 
view
39 x 3 legacy/torchserve/tasks/sentiment/r1
legacy/torchserve/tasks/sentiment/r3
legacy/torchserve/tasks/sentiment/r2
handler.py
handler.py
handler.py
0:0 
0:0 
0:0 
view
35 x 2 legacy/torchserve/tasks/dkqa/r3
legacy/torchserve/tasks/dkqa/r4
handler.py
handler.py
0:0 
0:0 
view
24 x 2 frontends/web/mturk-src
frontends/web/src
serviceWorker.js
serviceWorker.js
107:135 
107:135 
view
30 x 6 legacy/torchserve/tasks/hs/r1
legacy/torchserve/tasks/hs/r4
legacy/torchserve/tasks/hs/r2
legacy/torchserve/tasks/sentiment/r1
legacy/torchserve/tasks/sentiment/r3
legacy/torchserve/tasks/sentiment/r2
handler.py
handler.py
handler.py
handler.py
handler.py
handler.py
0:0 
0:0 
0:0 
0:0 
0:0 
0:0 
view
22 x 2 frontends/web/mturk-src/components
frontends/web/mturk-src/components
CreateInterfaceNoModel.js
CreateInterface.js
88:110 
90:112 
view
21 x 2 frontends/web/mturk-src
frontends/web/src
serviceWorker.js
serviceWorker.js
29:61 
29:61 
view
20 x 2 frontends/web/mturk-src/...ts/divyansh/qa-1-verify
frontends/web/mturk-src/...ts/divyansh/qa-1-verify
VerifyInterfaceQA.js
VerifyInterface.js
73:93 
38:58 
view
26 x 2 legacy/torchserve/tasks/dkqa/r3
legacy/torchserve/tasks/dkqa/r4
handler.py
handler.py
0:0 
0:0 
view
28 x 2 legacy/torchserve/tasks/qa/r1
legacy/torchserve/tasks/qa/r2
handler.py
handler.py
0:0 
0:0 
view