pytorch / ossci-job-dsl
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
  • 97% duplication:
    • 7,372 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 7,190 duplicated lines
  • 908 duplicates
system97% (7,190 lines)
Duplication per Extension
groovy98% (7,190 lines)
Duplication per Component (primary)
src/jobs100% (2,478 lines)
jobs100% (2,459 lines)
src/main94% (1,117 lines)
ossci100% (767 lines)
ossci/caffe298% (161 lines)
ossci/pytorch97% (141 lines)
ossci/tensorcomp92% (25 lines)
jobs/seed100% (19 lines)
ossci/horizon68% (15 lines)
ossci/detectron100% (8 lines)
resources/ecr-gc0% (0 lines)
ossci/translate0% (0 lines)
src/scripts0% (0 lines)

Duplication Between Components (50+ lines)

G jobs jobs src/jobs src/jobs jobs--src/jobs 4924 ossci ossci src/main src/main ossci--src/main 1534 ossci/caffe2 ossci/caffe2 ossci/caffe2--src/main 373 ossci/pytorch ossci/pytorch ossci/caffe2--ossci/pytorch 102 ossci/pytorch--src/main 333 jobs/seed jobs/seed jobs/seed--src/jobs 74 ossci/tensorcomp ossci/tensorcomp ossci/tensorcomp--src/main 50

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 908 duplicates...
Size#FoldersFilesLinesCode
700 x 2 jobs
src/jobs
pytorch.groovy
pytorch.groovy
14:1149 (100%)
14:1149 (100%)
view
490 x 2 jobs
src/jobs
caffe2.groovy
caffe2.groovy
12:820 (100%)
12:820 (100%)
view
246 x 2 jobs
src/jobs
skeleton.groovy
skeleton.groovy
7:471 (100%)
7:471 (100%)
view
223 x 2 ossci
src/main/groovy/ossci
DockerUtil.groovy
DockerUtil.groovy
3:293 (100%)
3:293 (100%)
view
169 x 2 ossci
src/main/groovy/ossci
ParametersUtil.groovy
ParametersUtil.groovy
8:245 (100%)
8:245 (100%)
view
153 x 2 jobs
src/jobs
caffe2_docker.groovy
caffe2_docker.groovy
3:234 (100%)
3:234 (100%)
view
141 x 2 ossci/pytorch
src/main/groovy/ossci/pytorch
Users.groovy
Users.groovy
3:148 (100%)
3:148 (100%)
view
131 x 2 jobs
src/jobs
detectron.groovy
detectron.groovy
7:224 (100%)
7:224 (100%)
view
126 x 2 jobs
src/jobs
translate_docker.groovy
translate_docker.groovy
4:196 (100%)
4:196 (100%)
view
126 x 2 jobs
src/jobs
horizon_docker.groovy
horizon_docker.groovy
4:196 (100%)
4:196 (100%)
view
124 x 2 ossci
src/main/groovy/ossci
MacOSUtil.groovy
MacOSUtil.groovy
3:171 (100%)
3:171 (100%)
view
122 x 2 jobs
src/jobs
pytorch_docker.groovy
pytorch_docker.groovy
4:216 (100%)
4:216 (100%)
view
108 x 2 ossci/caffe2
src/main/groovy/ossci/caffe2
Images.groovy
Images.groovy
3:319 (100%)
3:319 (100%)
view
105 x 2 jobs
src/jobs
horizon.groovy
horizon.groovy
13:187 (100%)
13:187 (100%)
view
101 x 2 jobs
src/jobs
translate.groovy
translate.groovy
13:178 (100%)
13:178 (100%)
view
101 x 2 ossci
src/main/groovy/ossci
JobUtil.groovy
JobUtil.groovy
6:243 (100%)
6:243 (100%)
view
90 x 2 jobs
src/jobs
tensorcomp.groovy
tensorcomp.groovy
7:173 (100%)
7:173 (100%)
view
72 x 2 ossci
src/main/groovy/ossci
GitUtil.groovy
GitUtil.groovy
9:120 (100%)
9:120 (100%)
view
53 x 2 ossci/caffe2
src/main/groovy/ossci/caffe2
Users.groovy
Users.groovy
3:60 (100%)
3:60 (100%)
view
48 x 2 ossci
src/main/groovy/ossci
EmailUtil.groovy
EmailUtil.groovy
3:70 (100%)
3:70 (100%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 39 unit duplicates...
Size#FoldersFilesLinesCode
233 x 2 ossci
src/main/groovy/ossci
DockerUtil.groovy
DockerUtil.groovy
17:296 
17:296 
view
56 x 2 ossci
src/main/groovy/ossci
JobUtil.groovy
JobUtil.groovy
130:248 
130:248 
view
56 x 2 jobs
src/jobs
caffe2.groovy
caffe2.groovy
256:326 
256:326 
view
44 x 2 ossci
src/main/groovy/ossci
GitUtil.groovy
GitUtil.groovy
68:122 
68:122 
view
41 x 2 jobs
src/jobs
pytorch.groovy
pytorch.groovy
613:662 
613:662 
view
36 x 2 ossci
src/main/groovy/ossci
MacOSUtil.groovy
MacOSUtil.groovy
18:65 
18:65 
view
32 x 2 jobs
src/jobs
detectron.groovy
detectron.groovy
185:224 
185:224 
view
28 x 2 jobs
src/jobs
caffe2.groovy
caffe2.groovy
626:669 
626:669 
view
26 x 2 ossci
src/main/groovy/ossci
EmailUtil.groovy
EmailUtil.groovy
13:44 
13:44 
view
26 x 2 jobs
src/jobs
caffe2.groovy
caffe2.groovy
498:532 
498:532 
view
23 x 2 jobs
src/jobs
pytorch.groovy
pytorch.groovy
534:563 
534:563 
view
20 x 2 jobs
src/jobs
caffe2.groovy
caffe2.groovy
388:414 
388:414 
view
19 x 2 ossci
src/main/groovy/ossci
JobUtil.groovy
JobUtil.groovy
106:125 
106:125 
view
17 x 2 ossci
src/main/groovy/ossci
WindowsUtil.groovy
WindowsUtil.groovy
4:24 
4:24 
view
16 x 2 ossci
src/main/groovy/ossci
JobUtil.groovy
JobUtil.groovy
46:64 
46:64 
view
15 x 2 ossci
src/main/groovy/ossci
JobUtil.groovy
JobUtil.groovy
9:26 
9:26 
view
14 x 2 ossci
src/main/groovy/ossci
JobUtil.groovy
JobUtil.groovy
82:104 
82:104 
view
13 x 2 jobs
src/jobs
skeleton.groovy
skeleton.groovy
379:397 
379:397 
view
12 x 2 jobs
src/jobs
pytorch.groovy
pytorch.groovy
837:852 
837:852 
view
12 x 2 jobs
src/jobs
pytorch.groovy
pytorch.groovy
882:897 
882:897 
view