microsoft / OMS-Auditd-Plugin
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
  • 15% duplication:
    • 20,851 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 3,222 duplicated lines
  • 281 duplicates
system15% (3,222 lines)
Duplication per Extension
cpp18% (3,167 lines)
h1% (55 lines)
Duplication per Component (primary)
ROOT15% (3,222 lines)
build0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 281 duplicates...
Size#FoldersFilesLinesCode
60 x 2 ROOT
ROOT
FluentEventWriterTests.cpp
FluentEventWriterTests.cpp
50:152 (37%)
186:288 (37%)
view
47 x 2 ROOT
ROOT
OutputInputTests.cpp
OutputInputTests.cpp
65:126 (12%)
164:225 (12%)
view
35 x 2 ROOT
ROOT
PriorityQueueTests.cpp
PriorityQueueTests.cpp
1165:1217 (2%)
1260:1312 (2%)
view
31 x 2 ROOT
ROOT
PriorityQueueTests.cpp
PriorityQueueTests.cpp
949:979 (2%)
987:1017 (2%)
view
27 x 2 ROOT
ROOT
TranslateSyscall.cpp
TranslateSyscall.cpp
211:237 (1%)
902:928 (1%)
view
26 x 2 ROOT
ROOT
auoms.cpp
auomscollect.cpp
306:339 (7%)
494:527 (5%)
view
24 x 2 ROOT
ROOT
PriorityQueueTests.cpp
PriorityQueueTests.cpp
260:298 (1%)
387:425 (1%)
view
22 x 2 ROOT
ROOT
auoms.cpp
auomscollect.cpp
61:88 (6%)
61:88 (4%)
view
22 x 2 ROOT
ROOT
OutputInputTests.cpp
OutputInputTests.cpp
164:189 (5%)
389:414 (5%)
view
22 x 2 ROOT
ROOT
OutputInputTests.cpp
OutputInputTests.cpp
65:90 (5%)
389:414 (5%)
view
22 x 2 ROOT
ROOT
PriorityQueueTests.cpp
PriorityQueueTests.cpp
74:107 (1%)
171:204 (1%)
view
20 x 2 ROOT
ROOT
PriorityQueueTests.cpp
PriorityQueueTests.cpp
1852:1881 (1%)
1885:1914 (1%)
view
20 x 2 ROOT
ROOT
TranslateSyscall.cpp
TranslateSyscall.cpp
243:262 (1%)
933:952 (1%)
view
20 x 2 ROOT
ROOT
TranslateSyscall.cpp
TranslateSyscall.cpp
189:208 (1%)
882:901 (1%)
view
19 x 2 ROOT
ROOT
OutputInputTests.cpp
OutputInputTests.cpp
161:184 (4%)
261:284 (4%)
view
19 x 2 ROOT
ROOT
PriorityQueueTests.cpp
PriorityQueueTests.cpp
486:513 (1%)
809:836 (1%)
view
18 x 2 ROOT
ROOT
PriorityQueueTests.cpp
PriorityQueueTests.cpp
1188:1217 (1%)
1352:1381 (1%)
view
18 x 2 ROOT
ROOT
PriorityQueueTests.cpp
PriorityQueueTests.cpp
1283:1312 (1%)
1352:1381 (1%)
view
17 x 2 ROOT
ROOT
OutputInputTests.cpp
OutputInputTests.cpp
264:284 (4%)
389:409 (4%)
view
17 x 2 ROOT
ROOT
TranslateSyscall.cpp
TranslateSyscall.cpp
1383:1400 (1%)
1410:1427 (1%)
view
Duplicated Units
The list of top 8 duplicated units.
See data for all 8 unit duplicates...
Size#FoldersFilesLinesCode
22 x 2 ROOT
ROOT
auoms.cpp
auomscollect.cpp
67:89 
67:89 
view
13 x 2 ROOT
ROOT
OutputInputTests.cpp
OutputInputTests.cpp
105:118 
204:217 
view
11 x 2 ROOT
ROOT
UserDB.cpp
UserDB.cpp
269:280 
282:293 
view
11 x 2 ROOT
ROOT
fakeaudispd.cpp
file2sock.cpp
33:44 
34:45 
view
9 x 3 ROOT
ROOT
ROOT
EventProcessorTests.cpp
EventQueue.h
ExecveConverterTests.cpp
52:61 
26:35 
40:49 
view
9 x 2 ROOT
ROOT
auoms.cpp
auomscollect.cpp
56:65 
56:65 
view
7 x 2 ROOT
ROOT
AuditRulesMonitor.cpp
auomsctl.cpp
160:167 
1458:1465 
view
6 x 2 ROOT
ROOT
EventProcessorTests.cpp
UserDBTests.cpp
40:46 
56:62 
view