microsoft / Oryx
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
  • 39% duplication:
    • 20,544 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 8,099 duplicated lines
  • 1,524 duplicates
system39% (8,099 lines)
Duplication per Extension
Dockerfile87% (5,589 lines)
cs12% (1,119 lines)
yml45% (1,040 lines)
go8% (143 lines)
toml90% (126 lines)
yaml13% (42 lines)
tpl4% (40 lines)
Duplication per Component (primary)
images/runtime91% (4,716 lines)
vsts/pipelines46% (1,040 lines)
images/build70% (873 lines)
src/BuildScriptGenerator10% (608 lines)
src/startupscriptgenerator15% (269 lines)
build/tools34% (193 lines)
src/BuildScriptGenerator.Common40% (164 lines)
src/BuildScriptGeneratorCli9% (148 lines)
src/Detector3% (46 lines)
build13% (42 lines)
actions/oryx-dockerfile0% (0 lines)
build/detector0% (0 lines)
images/pack-builder0% (0 lines)
src/CommonFiles0% (0 lines)
src/Oryx.Common0% (0 lines)

Duplication Between Components (50+ lines)

G build/tools build/tools src/BuildScriptGenerator.Common src/BuildScriptGenerator.Common build/tools--src/BuildScriptGenerator.Common 327 src/BuildScriptGenerator src/BuildScriptGenerator src/Detector src/Detector src/BuildScriptGenerator--src/Detector 92

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 1,524 duplicates...
Size#FoldersFilesLinesCode
190 x 2 images/runtime/php-fpm/7.4
images/runtime/php-fpm/8.0
7.4.Dockerfile
8.0.Dockerfile
52:251 (81%)
52:251 (81%)
view
165 x 2 images/runtime/php-fpm/7.2
images/runtime/php-fpm/7.3
7.2.Dockerfile
7.3.Dockerfile
51:221 (71%)
51:221 (70%)
view
146 x 2 images/runtime/php/7.4
images/runtime/php/8.0
7.4.Dockerfile
8.0.Dockerfile
108:261 (60%)
108:261 (60%)
view
146 x 2 images/runtime/php/7.4
images/runtime/php/8.1
7.4.Dockerfile
8.1.Dockerfile
108:261 (60%)
108:261 (60%)
view
146 x 2 images/runtime/php/8.0
images/runtime/php/8.1
8.0.Dockerfile
8.1.Dockerfile
108:261 (60%)
108:261 (60%)
view
122 x 2 images/runtime/php/7.4
images/runtime/php/8.0
base.buster.Dockerfile
base.buster.Dockerfile
5:139 (97%)
5:139 (97%)
view
114 x 2 images/runtime/php-fpm/7.2
images/runtime/php-fpm/7.3
base.stretch.Dockerfile
base.stretch.Dockerfile
5:127 (97%)
5:127 (97%)
view
111 x 2 images/runtime/php/7.2
images/runtime/php/7.3
7.2.Dockerfile
7.3.Dockerfile
143:255 (43%)
143:255 (43%)
view
110 x 2 images/runtime/php-fpm/7.2
images/runtime/php/7.3
7.2.Dockerfile
7.3.Dockerfile
85:195 (47%)
145:255 (43%)
view
110 x 2 images/runtime/php-fpm/7.2
images/runtime/php/7.2
7.2.Dockerfile
7.2.Dockerfile
85:195 (47%)
145:255 (43%)
view
110 x 2 images/runtime/php-fpm/7.3
images/runtime/php/7.2
7.3.Dockerfile
7.2.Dockerfile
85:195 (47%)
145:255 (43%)
view
110 x 2 images/runtime/php-fpm/7.3
images/runtime/php/7.3
7.3.Dockerfile
7.3.Dockerfile
85:195 (47%)
145:255 (43%)
view
106 x 2 images/runtime/php/7.2
images/runtime/php/7.3
base.stretch.Dockerfile
base.stretch.Dockerfile
5:121 (97%)
5:121 (97%)
view
106 x 2 images/runtime/php/7.0
images/runtime/php/7.3
base.stretch.Dockerfile
base.stretch.Dockerfile
5:121 (97%)
5:121 (97%)
view
106 x 2 images/runtime/php/8.1
images/runtime/php
base.buster.Dockerfile
template.base.Dockerfile
23:139 (84%)
29:145 (80%)
view
106 x 2 images/runtime/php/7.0
images/runtime/php/7.2
base.stretch.Dockerfile
base.stretch.Dockerfile
5:121 (97%)
5:121 (97%)
view
98 x 2 images/runtime/php/7.4
images/runtime/php/8.1
base.buster.Dockerfile
base.buster.Dockerfile
32:139 (78%)
32:139 (78%)
view
98 x 2 images/runtime/php/8.0
images/runtime/php/8.1
base.buster.Dockerfile
base.buster.Dockerfile
32:139 (78%)
32:139 (78%)
view
98 x 2 images/runtime/php/8.0
images/runtime/php
base.buster.Dockerfile
template.base.Dockerfile
32:139 (78%)
38:145 (74%)
view
98 x 2 images/runtime/php/7.4
images/runtime/php
base.buster.Dockerfile
template.base.Dockerfile
32:139 (78%)
38:145 (74%)
view
Duplicated Units
The list of top 15 duplicated units.
See data for all 15 unit duplicates...
Size#FoldersFilesLinesCode
50 x 2 build/tools/AutoUpdater
src/BuildScriptGenerator.Common
ProcessHelper.cs
ProcessHelper.cs
96:155 
97:156 
view
42 x 2 build/tools/AutoUpdater
src/BuildScriptGenerator.Common
ProcessHelper.cs
ProcessHelper.cs
43:94 
44:95 
view
29 x 2 src/BuildScriptGenerator/Hugo
src/BuildScriptGenerator/Node
HugoPlatform.cs
NodePlatform.cs
116:148 
465:497 
view
22 x 2 build/tools/AutoUpdater
src/BuildScriptGenerator.Common
ProcessHelper.cs
ProcessHelper.cs
15:41 
16:42 
view
12 x 6 src/BuildScriptGenerator/Golang
src/BuildScriptGenerator/Java
src/BuildScriptGenerator/Node
src/BuildScriptGenerator/Php
src/BuildScriptGenerator/Python
src/BuildScriptGenerator/Ruby
GolangPlatform.cs
JavaPlatform.cs
NodePlatform.cs
PhpPlatform.cs
PythonPlatform.cs
RubyPlatform.cs
63:77 
80:94 
129:143 
88:102 
123:137 
80:94 
view
11 x 8 src/BuildScriptGenerator/Golang/VersionProviders
src/BuildScriptGenerator/Java/VersionProviders
src/BuildScriptGenerator/Java/VersionProviders
src/BuildScriptGenerator/Node/VersionProviders
src/BuildScriptGenerator/Php/VersionProviders
src/BuildScriptGenerator/Php/VersionProviders
src/BuildScriptGenerator/Python/VersionProviders
src/BuildScriptGenerator/Ruby/VersionProviders
GolangVersionProvider.cs
JavaVersionProvider.cs
MavenVersionProvider.cs
NodeVersionProvider.cs
PhpComposerVersionProvider.cs
PhpVersionProvider.cs
PythonVersionProvider.cs
RubyVersionProvider.cs
32:45 
31:44 
31:44 
31:44 
31:44 
31:44 
32:45 
32:45 
view
9 x 2 build/tools/AutoUpdater
src/BuildScriptGenerator.Common
ShellScriptBuilder.cs
ShellScriptBuilder.cs
156:167 
172:183 
view
9 x 2 src/BuildScriptGenerator/Node
src/BuildScriptGenerator/Python
NodeScriptGeneratorServiceCollectionE...
PythonScriptGeneratorServiceCollectio...
14:23 
14:23 
view
8 x 2 src/BuildScriptGenerator/Golang
src/BuildScriptGenerator/Ruby
GolangScriptGeneratorServiceCollectio...
RubyScriptGeneratorServiceCollectionE...
14:22 
14:22 
view
8 x 2 src/startupscriptgenerator/src/dotnetcore
src/startupscriptgenerator/src/node
main.go
main.go
154:169 
150:165 
view
7 x 2 build/tools/AutoUpdater
src/BuildScriptGenerator.Common
ShellScriptBuilder.cs
ShellScriptBuilder.cs
24:32 
25:33 
view
7 x 2 build/tools/AutoUpdater
src/BuildScriptGenerator.Common
ShellScriptBuilder.cs
ShellScriptBuilder.cs
34:42 
35:43 
view
7 x 7 src/Detector/Golang
src/Detector/Hugo
src/Detector/Java
src/Detector/Node
src/Detector/Php
src/Detector/Python
src/Detector/Ruby
GolangServiceCollectionExtensions.cs
HugoServiceCollectionExtensions.cs
JavaServiceCollectionExtensions.cs
NodeServiceCollectionExtensions.cs
PhpServiceCollectionExtensions.cs
PythonServiceCollectionExtensions.cs
RubyServiceCollectionExtensions.cs
15:24 
15:24 
15:24 
15:24 
15:24 
15:24 
15:24 
view
6 x 3 build/tools/AutoUpdater
build/tools/AutoUpdater
src/BuildScriptGenerator.Common
ShellScriptBuilder.cs
ShellScriptBuilder.cs
ShellScriptBuilder.cs
95:101 
103:109 
96:102 
view
6 x 9 src/BuildScriptGenerator...etCore/VersionProviders
src/BuildScriptGenerator/Golang
src/BuildScriptGenerator/Java/VersionProviders
src/BuildScriptGenerator/Java/VersionProviders
src/BuildScriptGenerator/Node/VersionProviders
src/BuildScriptGenerator/Php/VersionProviders
src/BuildScriptGenerator/Php/VersionProviders
src/BuildScriptGenerator/Python/VersionProviders
src/BuildScriptGenerator/Ruby/VersionProviders
DotNetCoreSdkStorageVersionProvider.cs
GolangSdkStorageVersionProvider.cs
JavaSdkStorageVersionProvider.cs
MavenSdkStorageVersionProvider.cs
NodeSdkStorageVersionProvider.cs
PhpComposerSdkStorageVersionProvider.cs
PhpSdkStorageVersionProvider.cs
PythonSdkStorageVersionProvider.cs
RubySdkStorageVersionProvider.cs
22:28 
14:20 
16:22 
14:20 
16:22 
14:20 
14:20 
14:20 
14:20 
view