microsoft / MSIX-PackageSupportFramework
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
  • 8% duplication:
    • 36,409 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 3,233 duplicated lines
  • 579 duplicates
system8% (3,233 lines)
Duplication per Extension
h5% (1,338 lines)
cpp11% (1,140 lines)
cs25% (431 lines)
vcxproj41% (258 lines)
xsl20% (38 lines)
filters7% (16 lines)
xaml4% (12 lines)
Duplication per Component (primary)
Detours12% (877 lines)
include/rapidjson8% (718 lines)
include/wil3% (467 lines)
PsfShimMonitor23% (443 lines)
fixups/RegLegacyFixups17% (200 lines)
fixups/FileRedirectionFixup7% (153 lines)
include7% (103 lines)
fixups/DynamicLibraryFixup35% (89 lines)
PsfLauncher8% (49 lines)
PsfRuntime5% (42 lines)
xmlToJsonConverter20% (38 lines)
PsfRunDll37% (27 lines)
fixups/ElectronFixup7% (27 lines)
ROOT0% (0 lines)
PsfShimMonitor/Properties0% (0 lines)

Duplication Between Components (50+ lines)

G Detours Detours include include Detours--include 164 fixups/DynamicLibraryFixup fixups/DynamicLibraryFixup fixups/FileRedirectionFixup fixups/FileRedirectionFixup fixups/DynamicLibraryFixup--fixups/FileRedirectionFixup 150 fixups/RegLegacyFixups fixups/RegLegacyFixups fixups/DynamicLibraryFixup--fixups/RegLegacyFixups 142 fixups/FileRedirectionFixup--fixups/RegLegacyFixups 110 PsfLauncher PsfLauncher PsfRuntime PsfRuntime PsfLauncher--PsfRuntime 78 PsfLauncher--fixups/FileRedirectionFixup 58 PsfRunDll PsfRunDll PsfLauncher--PsfRunDll 52 PsfRuntime--fixups/FileRedirectionFixup 58 PsfRuntime--fixups/DynamicLibraryFixup 56 PsfRuntime--fixups/RegLegacyFixups 52 fixups/ElectronFixup fixups/ElectronFixup fixups/ElectronFixup--fixups/FileRedirectionFixup 54

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 579 duplicates...
Size#FoldersFilesLinesCode
72 x 2 Detours
Detours
detours.cpp
detours.cpp
211:320 (5%)
436:545 (5%)
view
45 x 2 fixups/DynamicLibraryFixup
fixups/FileRedirectionFixup
InitializeFixup.cpp
PathRedirection.cpp
31:102 (49%)
202:276 (6%)
view
29 x 2 PsfShimMonitor
PsfShimMonitor
Application_EventLog.cs
System_EventLog.cs
94:129 (30%)
96:131 (30%)
view
22 x 2 fixups/FileRedirectionFixup
fixups/RegLegacyFixups
PathRedirection.cpp
InitializeFixup.cpp
202:234 (2%)
27:58 (19%)
view
22 x 2 fixups/DynamicLibraryFixup
fixups/RegLegacyFixups
InitializeFixup.cpp
InitializeFixup.cpp
31:63 (24%)
27:58 (19%)
view
20 x 2 fixups/FileRedirectionFixup
fixups/RegLegacyFixups
PathRedirection.cpp
InitializeFixup.cpp
238:267 (2%)
67:94 (17%)
view
20 x 2 fixups/DynamicLibraryFixup
fixups/RegLegacyFixups
InitializeFixup.cpp
InitializeFixup.cpp
66:95 (21%)
67:94 (17%)
view
19 x 2 fixups/ElectronFixup
fixups/FileRedirectionFixup
vcxproj
ElectronFixup.vcxproj
FileRedirectionFixup.vcxproj
1:26 (14%)
1:26 (26%)
view
19 x 2 PsfShimMonitor
PsfShimMonitor
KernelTrace.cs
KernelTrace.cs
632:661 (2%)
668:696 (2%)
view
19 x 2 include/wil
include/wil
wistd_memory.h
wistd_memory.h
386:408 (2%)
641:663 (2%)
view
18 x 2 include/rapidjson
include/rapidjson
reader.h
reader.h
1886:1909 (1%)
1926:1949 (1%)
view
18 x 2 fixups/DynamicLibraryFixup
fixups/ElectronFixup
vcxproj
DynamicLibraryFixup.vcxproj
ElectronFixup.vcxproj
2:26 (33%)
2:26 (13%)
view
18 x 2 Detours
Detours
creatwth.cpp
creatwth.cpp
1404:1426 (1%)
1527:1549 (1%)
view
18 x 2 include/wil
include/wil
wistd_memory.h
wistd_memory.h
358:380 (2%)
605:627 (2%)
view
18 x 2 include/rapidjson
include/rapidjson
writer.h
writer.h
576:597 (4%)
637:658 (4%)
view
18 x 2 fixups/DynamicLibraryFixup
fixups/FileRedirectionFixup
vcxproj
DynamicLibraryFixup.vcxproj
FileRedirectionFixup.vcxproj
2:26 (33%)
2:26 (25%)
view
18 x 2 Detours
Detours
creatwth.cpp
creatwth.cpp
1343:1365 (1%)
1466:1488 (1%)
view
17 x 2 include/rapidjson
include/rapidjson
reader.h
reader.h
1114:1139 (1%)
1278:1303 (1%)
view
17 x 2 include/wil
include/wil
wistd_memory.h
wistd_memory.h
543:564 (2%)
820:843 (2%)
view
16 x 2 Detours
fixups/FileRedirectionFixup
vcxproj
Detours.vcxproj
FileRedirectionFixup.vcxproj
1:21 (30%)
1:21 (22%)
view
Duplicated Units
The list of top 12 duplicated units.
See data for all 12 unit duplicates...
Size#FoldersFilesLinesCode
54 x 2 Detours
Detours
detours.cpp
detours.cpp
255:312 
480:537 
view
31 x 2 fixups/DynamicLibraryFixup
fixups/FileRedirectionFixup
InitializeFixup.cpp
PathRedirection.cpp
31:65 
202:236 
view
29 x 2 fixups/DynamicLibraryFixup
fixups/FileRedirectionFixup
InitializeFixup.cpp
PathRedirection.cpp
66:97 
238:269 
view
27 x 2 Detours
Detours
detours.cpp
detours.cpp
226:253 
451:478 
view
13 x 2 PsfShimMonitor
PsfShimMonitor
MainWindow.xaml.cs
MainWindow.xaml.cs
879:892 
893:906 
view
8 x 2 include/wil
include/wil
com.h
resource.h
340:348 
1512:1520 
view
6 x 2 Detours
Detours
detours.cpp
detours.cpp
130:136 
342:348 
view
6 x 2 Detours
Detours
detours.cpp
detours.cpp
146:152 
359:365 
view
6 x 2 include/rapidjson
include/rapidjson
document.h
document.h
2453:2459 
2461:2467 
view
6 x 2 include/wil
include/wil
resource.h
resource.h
3861:3867 
4107:4113 
view
6 x 2 include/wil
include/wil
resource.h
resource.h
3869:3875 
4115:4121 
view
6 x 2 include/wil
include/wil
resource.h
resource.h
3896:3902 
4124:4130 
view