awslabs / bike-kem
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
  • 10% duplication:
    • 2,536 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 254 duplicated lines
  • 20 duplicates
system10% (254 lines)
Duplication per Extension
c13% (254 lines)
Duplication per Component (primary)
src/gf2x32% (173 lines)
src/decode26% (81 lines)
cmake0% (0 lines)
src/third_party_src0% (0 lines)
src/common0% (0 lines)
src/random0% (0 lines)
src0% (0 lines)
include0% (0 lines)
include/internal0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 20 duplicates...
Size#FoldersFilesLinesCode
16 x 2 src/gf2x
src/gf2x
gf2x_mul_avx512.c
gf2x_mul_portable.c
55:75 (29%)
55:75 (29%)
view
16 x 2 src/gf2x
src/gf2x
gf2x_mul_avx2.c
gf2x_mul_portable.c
55:75 (29%)
55:75 (29%)
view
16 x 2 src/gf2x
src/gf2x
gf2x_mul_avx2.c
gf2x_mul_avx512.c
55:75 (29%)
55:75 (29%)
view
15 x 2 src/decode
src/decode
decode.c
decode.c
123:153 (12%)
182:209 (12%)
view
13 x 2 src/gf2x
src/gf2x
gf2x_mul_avx2.c
gf2x_mul_avx512.c
17:33 (23%)
17:33 (23%)
view
13 x 2 src/gf2x
src/gf2x
gf2x_mul_avx2.c
gf2x_mul_portable.c
17:33 (23%)
17:33 (23%)
view
13 x 2 src/gf2x
src/gf2x
gf2x_mul_avx512.c
gf2x_mul_portable.c
17:33 (23%)
17:33 (23%)
view
13 x 2 src/gf2x
src/gf2x
gf2x_mul_avx2.c
gf2x_mul_avx512.c
82:102 (23%)
82:102 (23%)
view
13 x 2 src/gf2x
src/gf2x
gf2x_mul_avx2.c
gf2x_mul_portable.c
82:102 (23%)
82:102 (23%)
view
13 x 2 src/gf2x
src/gf2x
gf2x_mul_avx512.c
gf2x_mul_portable.c
82:102 (23%)
82:102 (23%)
view
10 x 2 src/gf2x
src/gf2x
gf2x_ksqr_avx2.c
gf2x_ksqr_avx512.c
164:181 (21%)
111:128 (27%)
view
10 x 2 src/decode
src/decode
decode_avx2.c
decode_avx512.c
140:164 (14%)
134:158 (15%)
view
10 x 2 src/decode
src/decode
decode_avx2.c
decode_portable.c
140:164 (14%)
99:123 (19%)
view
10 x 2 src/decode
src/decode
decode_avx512.c
decode_portable.c
134:158 (15%)
99:123 (19%)
view
9 x 2 src/gf2x
src/gf2x
gf2x_mul_avx512.c
gf2x_mul_portable.c
38:50 (16%)
38:50 (16%)
view
9 x 2 src/gf2x
src/gf2x
gf2x_mul_avx2.c
gf2x_mul_portable.c
38:50 (16%)
38:50 (16%)
view
9 x 2 src/gf2x
src/gf2x
gf2x_mul_avx2.c
gf2x_mul_avx512.c
38:50 (16%)
38:50 (16%)
view
7 x 2 src/decode
src/decode
decode_avx2.c
decode_avx512.c
124:132 (9%)
118:126 (11%)
view
7 x 2 src/decode
src/decode
decode_avx2.c
decode_portable.c
124:132 (9%)
83:91 (13%)
view
7 x 2 src/decode
src/decode
decode_avx512.c
decode_portable.c
118:126 (11%)
83:91 (13%)
view
Duplicated Units
The list of top 8 duplicated units.
See data for all 8 unit duplicates...
Size#FoldersFilesLinesCode
19 x 3 src/gf2x
src/gf2x
src/gf2x
gf2x_mul_avx2.c
gf2x_mul_avx512.c
gf2x_mul_portable.c
54:77 
54:77 
54:77 
view
16 x 3 src/gf2x
src/gf2x
src/gf2x
gf2x_mul_avx2.c
gf2x_mul_avx512.c
gf2x_mul_portable.c
16:35 
16:35 
16:35 
view
16 x 3 src/gf2x
src/gf2x
src/gf2x
gf2x_mul_avx2.c
gf2x_mul_avx512.c
gf2x_mul_portable.c
80:103 
80:103 
80:103 
view
14 x 3 src/decode
src/decode
src/decode
decode_portable.c
decode_avx2.c
decode_avx512.c
96:126 
137:167 
131:161 
view
13 x 2 src/gf2x
src/gf2x
gf2x_ksqr_avx512.c
gf2x_ksqr_avx2.c
109:129 
162:182 
view
12 x 3 src/gf2x
src/gf2x
src/gf2x
gf2x_mul_avx2.c
gf2x_mul_avx512.c
gf2x_mul_portable.c
37:52 
37:52 
37:52 
view
11 x 3 src/decode
src/decode
src/decode
decode_portable.c
decode_avx2.c
decode_avx512.c
82:94 
123:135 
117:129 
view
8 x 3 src/decode
src/decode
src/decode
decode_portable.c
decode_avx2.c
decode_avx512.c
70:79 
111:120 
105:114 
view