microsoft / PQCrypto-LWEKE
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
  • 37% duplication:
    • 3,362 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,251 duplicated lines
  • 76 duplicates
system37% (1,251 lines)
Duplication per Extension
c26% (542 lines)
vcxproj86% (504 lines)
filters96% (147 lines)
py11% (58 lines)
Duplication per Component (primary)
VisualStudio88% (651 lines)
src/sha3/keccak4x35% (284 lines)
src30% (182 lines)
src/aes23% (60 lines)
python311% (58 lines)
src/sha33% (16 lines)
src/random0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 76 duplicates...
Size#FoldersFilesLinesCode
74 x 2 VisualStudio
VisualStudio
vcxproj
frodoKEM-1344.vcxproj
frodoKEM-640.vcxproj
157:262 (38%)
157:262 (38%)
view
74 x 2 VisualStudio
VisualStudio
vcxproj
frodoKEM-1344.vcxproj
frodoKEM-976.vcxproj
157:262 (38%)
157:262 (38%)
view
74 x 2 VisualStudio
VisualStudio
vcxproj
frodoKEM-640.vcxproj
frodoKEM-976.vcxproj
157:262 (38%)
157:262 (38%)
view
51 x 2 src
src
frodo_macrify.c
frodo_macrify_reference.c
269:369 (23%)
124:224 (44%)
view
36 x 2 VisualStudio
VisualStudio
vcxproj
frodoKEM-1344.vcxproj
frodoKEM-976.vcxproj
88:133 (18%)
88:133 (18%)
view
36 x 2 VisualStudio
VisualStudio
vcxproj
frodoKEM-1344.vcxproj
frodoKEM-640.vcxproj
88:133 (18%)
88:133 (18%)
view
36 x 2 VisualStudio
VisualStudio
vcxproj
frodoKEM-640.vcxproj
frodoKEM-976.vcxproj
88:133 (18%)
88:133 (18%)
view
30 x 2 src/aes
src/aes
aes_c.c
aes_c.c
66:125 (19%)
139:198 (19%)
view
28 x 2 VisualStudio
VisualStudio
vcxproj
frodoKEM-1344.vcxproj
frodoKEM-640.vcxproj
44:81 (14%)
44:81 (14%)
view
28 x 2 VisualStudio
VisualStudio
vcxproj
frodoKEM-1344.vcxproj
frodoKEM-976.vcxproj
44:81 (14%)
44:81 (14%)
view
28 x 2 src
src
frodo_macrify_reference.c
frodo_macrify_reference.c
18:58 (24%)
76:116 (24%)
view
28 x 2 VisualStudio
VisualStudio
vcxproj
frodoKEM-640.vcxproj
frodoKEM-976.vcxproj
44:81 (14%)
44:81 (14%)
view
25 x 2 src/sha3/keccak4x
src/sha3/keccak4x
KeccakP-1600-times4-SIMD256.c
KeccakP-1600-times4-SIMD256.c
877:903 (3%)
979:1005 (3%)
view
23 x 2 VisualStudio
VisualStudio
filters
frodoKEM-1344.vcxproj.filters
frodoKEM-640.vcxproj.filters
1:32 (45%)
1:32 (45%)
view
23 x 2 VisualStudio
VisualStudio
filters
frodoKEM-640.vcxproj.filters
frodoKEM-976.vcxproj.filters
1:32 (45%)
1:32 (45%)
view
23 x 2 VisualStudio
VisualStudio
filters
frodoKEM-1344.vcxproj.filters
frodoKEM-976.vcxproj.filters
1:32 (45%)
1:32 (45%)
view
19 x 2 src/sha3/keccak4x
src/sha3/keccak4x
KeccakP-1600-times4-SIMD256.c
KeccakP-1600-times4-SIMD256.c
474:492 (2%)
595:613 (2%)
view
18 x 2 VisualStudio
VisualStudio
vcxproj
frodoKEM-1344.vcxproj
frodoKEM-976.vcxproj
1:23 (9%)
1:23 (9%)
view
18 x 2 VisualStudio
VisualStudio
vcxproj
frodoKEM-640.vcxproj
frodoKEM-976.vcxproj
1:23 (9%)
1:23 (9%)
view
18 x 2 VisualStudio
VisualStudio
vcxproj
frodoKEM-1344.vcxproj
frodoKEM-640.vcxproj
1:23 (9%)
1:23 (9%)
view
Duplicated Units
The list of top 5 duplicated units.
See data for all 5 unit duplicates...
Size#FoldersFilesLinesCode
17 x 2 src
src
frodo_macrify.c
frodo_macrify_reference.c
353:371 
208:226 
view
16 x 2 src
src
frodo_macrify.c
frodo_macrify_reference.c
333:350 
188:205 
view
12 x 2 src
src
frodo_macrify.c
frodo_macrify_reference.c
275:290 
130:145 
view
12 x 2 src
src
frodo_macrify.c
frodo_macrify_reference.c
293:308 
148:163 
view
7 x 2 src/sha3
src/sha3
fips202.c
fips202x4.c
22:30 
10:18 
view