microsoft / PQCrypto-SIDH
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
  • 30% duplication:
    • 58,274 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 17,821 duplicated lines
  • 35,153 duplicates
system30% (17,821 lines)
Duplication per Extension
vcxproj96% (10,797 lines)
S36% (3,849 lines)
c6% (2,421 lines)
filters78% (714 lines)
h11% (40 lines)
Duplication per Component (primary)
Visual Studio/SIDH91% (3,944 lines)
Visual Studio/kem_tests97% (3,118 lines)
Visual Studio/kex_tests97% (3,118 lines)
src/P75112% (2,074 lines)
src/P50316% (1,408 lines)
src/P61012% (1,364 lines)
Visual Studio/arith_tests93% (1,331 lines)
src/P43417% (1,147 lines)
src/compression12% (180 lines)
src7% (137 lines)
src/random0% (0 lines)
src/sha30% (0 lines)

Duplication Between Components (50+ lines)

G Visual Studio/kem_tests Visual Studio/kem_tests Visual Studio/kex_tests Visual Studio/kex_tests Visual Studio/kem_tests--Visual Studio/kex_tests 6192 Visual Studio/arith_tests Visual Studio/arith_tests Visual Studio/arith_tests--Visual Studio/kex_tests 3452 Visual Studio/arith_tests--Visual Studio/kem_tests 3452 src/P610 src/P610 src/P751 src/P751 src/P610--src/P751 1912 src/P434 src/P434 src/P503 src/P503 src/P434--src/P503 1824 src/P434--src/P610 1041 src/P434--src/P751 935 src/P503--src/P751 1147 src/P503--src/P610 1097 Visual Studio/SIDH Visual Studio/SIDH Visual Studio/SIDH--Visual Studio/kem_tests 1764 Visual Studio/SIDH--Visual Studio/kex_tests 1764 Visual Studio/SIDH--Visual Studio/arith_tests 1194 src/compression src/compression src src src/compression--src 162

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 35,153 duplicates...
Size#FoldersFilesLinesCode
313 x 2 Visual Studio/kem_tests
Visual Studio/kex_tests
vcxproj
test-SIKEp610_compressed.vcxproj
test-SIDHp610_compressed.vcxproj
86:485 (82%)
86:485 (82%)
view
313 x 2 Visual Studio/kem_tests
Visual Studio/kex_tests
vcxproj
test-SIKEp503.vcxproj
test-SIDHp503.vcxproj
86:485 (82%)
86:485 (82%)
view
313 x 2 Visual Studio/kem_tests
Visual Studio/kex_tests
vcxproj
test-SIKEp503_compressed.vcxproj
test-SIDHp503_compressed.vcxproj
86:485 (82%)
86:485 (82%)
view
313 x 2 Visual Studio/kem_tests
Visual Studio/kex_tests
vcxproj
test-SIKEp610.vcxproj
test-SIDHp610.vcxproj
86:485 (82%)
86:485 (82%)
view
313 x 2 Visual Studio/kem_tests
Visual Studio/kex_tests
vcxproj
test-SIKEp434_compressed.vcxproj
test-SIDHp434_compressed.vcxproj
86:485 (82%)
86:485 (82%)
view
313 x 2 Visual Studio/kem_tests
Visual Studio/kex_tests
vcxproj
test-SIKEp434.vcxproj
test-SIDHp434.vcxproj
86:485 (82%)
86:485 (82%)
view
313 x 2 Visual Studio/kem_tests
Visual Studio/kex_tests
vcxproj
test-SIKEp751.vcxproj
test-SIDHp751.vcxproj
86:485 (82%)
86:485 (82%)
view
313 x 2 Visual Studio/kem_tests
Visual Studio/kex_tests
vcxproj
test-SIKEp751_compressed.vcxproj
test-SIDHp751_compressed.vcxproj
86:485 (82%)
86:485 (82%)
view
268 x 2 Visual Studio/SIDH
Visual Studio/SIDH
vcxproj
SIDHp503_compressed.vcxproj
SIDHp751_compressed.vcxproj
231:569 (54%)
231:569 (54%)
view
268 x 2 Visual Studio/SIDH
Visual Studio/SIDH
vcxproj
SIDHp503_compressed.vcxproj
SIDHp610_compressed.vcxproj
231:569 (54%)
231:569 (55%)
view
268 x 2 Visual Studio/SIDH
Visual Studio/SIDH
vcxproj
SIDHp610_compressed.vcxproj
SIDHp751_compressed.vcxproj
231:569 (55%)
231:569 (54%)
view
233 x 2 Visual Studio/SIDH
Visual Studio/SIDH
vcxproj
SIDHp434.vcxproj
SIDHp751.vcxproj
231:529 (50%)
231:529 (49%)
view
233 x 2 Visual Studio/SIDH
Visual Studio/SIDH
vcxproj
SIDHp503.vcxproj
SIDHp610.vcxproj
231:529 (49%)
231:529 (51%)
view
233 x 2 Visual Studio/SIDH
Visual Studio/SIDH
vcxproj
SIDHp503.vcxproj
SIDHp751.vcxproj
231:529 (49%)
231:529 (49%)
view
233 x 2 Visual Studio/SIDH
Visual Studio/SIDH
vcxproj
SIDHp610.vcxproj
SIDHp751.vcxproj
231:529 (51%)
231:529 (49%)
view
233 x 2 Visual Studio/SIDH
Visual Studio/SIDH
vcxproj
SIDHp434.vcxproj
SIDHp503.vcxproj
231:529 (50%)
231:529 (49%)
view
233 x 2 Visual Studio/SIDH
Visual Studio/SIDH
vcxproj
SIDHp434.vcxproj
SIDHp610.vcxproj
231:529 (50%)
231:529 (51%)
view
209 x 2 Visual Studio/SIDH
Visual Studio/SIDH
vcxproj
SIDHp434_compressed.vcxproj
SIDHp503_compressed.vcxproj
231:504 (39%)
231:504 (42%)
view
209 x 2 Visual Studio/SIDH
Visual Studio/SIDH
vcxproj
SIDHp434_compressed.vcxproj
SIDHp751_compressed.vcxproj
231:504 (39%)
231:504 (42%)
view
209 x 2 Visual Studio/SIDH
Visual Studio/SIDH
vcxproj
SIDHp434_compressed.vcxproj
SIDHp610_compressed.vcxproj
231:504 (39%)
231:504 (43%)
view
Duplicated Units
The list of top 16 duplicated units.
See data for all 16 unit duplicates...
Size#FoldersFilesLinesCode
30 x 4 src/P434/generic
src/P503/generic
src/P610/generic
src/P751/generic
fp_generic.c
fp_generic.c
fp_generic.c
fp_generic.c
169:201 
169:201 
169:201 
169:201 
view
27 x 4 src/P434/generic
src/P503/generic
src/P610/generic
src/P751/generic
fp_generic.c
fp_generic.c
fp_generic.c
fp_generic.c
135:166 
135:166 
135:166 
135:166 
view
12 x 3 src/P434/AMD64
src/P434/ARM64
src/P434/generic
fp_x64.c
fp_arm64.c
fp_generic.c
148:162 
75:89 
118:132 
view
12 x 3 src/P503/AMD64
src/P503/ARM64
src/P503/generic
fp_x64.c
fp_arm64.c
fp_generic.c
148:162 
75:89 
118:132 
view
12 x 3 src/P610/AMD64
src/P610/ARM64
src/P610/generic
fp_x64.c
fp_arm64.c
fp_generic.c
148:162 
75:89 
118:132 
view
12 x 3 src/P751/AMD64
src/P751/ARM64
src/P751/generic
fp_x64.c
fp_arm64.c
fp_generic.c
148:162 
75:89 
118:132 
view
9 x 3 src/P434/AMD64
src/P434/ARM64
src/P434/generic
fp_x64.c
fp_arm64.c
fp_generic.c
132:145 
59:72 
102:115 
view
9 x 3 src/P503/AMD64
src/P503/ARM64
src/P503/generic
fp_x64.c
fp_arm64.c
fp_generic.c
132:145 
59:72 
102:115 
view
9 x 3 src/P610/AMD64
src/P610/ARM64
src/P610/generic
fp_x64.c
fp_arm64.c
fp_generic.c
132:145 
59:72 
102:115 
view
9 x 3 src/P751/AMD64
src/P751/ARM64
src/P751/generic
fp_x64.c
fp_arm64.c
fp_generic.c
132:145 
59:72 
102:115 
view
8 x 2 src/compression
src
sidh_compressed.c
sidh.c
13:22 
10:19 
view
7 x 2 src
src
fpx.c
fpx.c
826:835 
837:846 
view
6 x 3 src/P434/AMD64
src/P434/ARM64
src/P434/generic
fp_x64.c
fp_arm64.c
fp_generic.c
121:129 
48:56 
91:99 
view
6 x 3 src/P503/AMD64
src/P503/ARM64
src/P503/generic
fp_x64.c
fp_arm64.c
fp_generic.c
121:129 
48:56 
91:99 
view
6 x 3 src/P610/AMD64
src/P610/ARM64
src/P610/generic
fp_x64.c
fp_arm64.c
fp_generic.c
121:129 
48:56 
91:99 
view
6 x 3 src/P751/AMD64
src/P751/ARM64
src/P751/generic
fp_x64.c
fp_arm64.c
fp_generic.c
121:129 
48:56 
91:99 
view