facebookresearch / Private-ID
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
  • 41% duplication:
    • 10,205 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 4,202 duplicated lines
  • 495 duplicates
system41% (4,202 lines)
Duplication per Extension
rs42% (4,104 lines)
proto32% (98 lines)
Duplication per Component (primary)
protocol-rpc/src63% (2,835 lines)
protocol/src37% (1,163 lines)
protocol-rpc/proto32% (98 lines)
crypto/src5% (64 lines)
crypto/benches12% (30 lines)
common/src1% (12 lines)
ROOT0% (0 lines)
crypto0% (0 lines)
protocol-rpc0% (0 lines)
protocol0% (0 lines)
common0% (0 lines)
common/datagen0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 495 duplicates...
Size#FoldersFilesLinesCode
150 x 2 protocol-rpc/src/rpc/cross-psi-xor
protocol-rpc/src/rpc/cross-psi
client.rs
client.rs
161:368 (52%)
166:373 (51%)
view
115 x 2 protocol-rpc/src/rpc/cross-psi-xor
protocol-rpc/src/rpc/cross-psi
rpc_server.rs
rpc_server.rs
75:223 (65%)
84:232 (62%)
view
96 x 2 protocol-rpc/src/rpc/private-id-multi-key
protocol-rpc/src/rpc/suid-create
server.rs
server.rs
26:128 (69%)
23:125 (72%)
view
89 x 2 protocol-rpc/src/rpc/cross-psi-xor
protocol-rpc/src/rpc/cross-psi
client.rs
client.rs
42:133 (30%)
43:134 (30%)
view
85 x 2 protocol-rpc/src/rpc/cross-psi-xor
protocol-rpc/src/rpc/cross-psi
server.rs
server.rs
33:123 (64%)
33:123 (65%)
view
65 x 2 protocol-rpc/src/rpc/cross-psi
protocol-rpc/src/rpc/pjc
client.rs
client.rs
50:115 (22%)
46:111 (35%)
view
65 x 2 protocol-rpc/src/rpc/cross-psi-xor
protocol-rpc/src/rpc/pjc
client.rs
client.rs
49:114 (22%)
46:111 (35%)
view
64 x 2 protocol-rpc/src/rpc/private-id-multi-key
protocol-rpc/src/rpc/private-id
client.rs
client.rs
40:103 (22%)
40:103 (20%)
view
64 x 2 protocol-rpc/src/rpc/private-id-multi-key
protocol-rpc/src/rpc/suid-create
client.rs
client.rs
51:115 (22%)
53:117 (22%)
view
61 x 2 protocol-rpc/src/rpc/cross-psi
protocol-rpc/src/rpc/pjc
server.rs
server.rs
39:100 (46%)
36:97 (48%)
view
61 x 2 protocol-rpc/src/rpc/cross-psi-xor
protocol-rpc/src/rpc/pjc
server.rs
server.rs
39:100 (46%)
36:97 (48%)
view
60 x 2 protocol-rpc/src/rpc/cross-psi
protocol-rpc/src/rpc/private-id-multi-key
client.rs
client.rs
55:115 (20%)
56:116 (21%)
view
60 x 2 protocol-rpc/src/rpc/cross-psi-xor
protocol-rpc/src/rpc/private-id-multi-key
client.rs
client.rs
54:114 (20%)
56:116 (21%)
view
60 x 2 protocol-rpc/src/rpc/pjc
protocol-rpc/src/rpc/private-id-multi-key
client.rs
client.rs
51:111 (32%)
56:116 (21%)
view
59 x 2 protocol-rpc/src/rpc/cross-psi-xor
protocol-rpc/src/rpc/suid-create
client.rs
client.rs
54:113 (20%)
58:117 (21%)
view
59 x 2 protocol-rpc/src/rpc/cross-psi
protocol-rpc/src/rpc/suid-create
client.rs
client.rs
55:114 (20%)
58:117 (21%)
view
59 x 2 protocol-rpc/src/rpc/private-id-multi-key
protocol-rpc/src/rpc/private-id
server.rs
server.rs
33:91 (42%)
32:90 (35%)
view
59 x 2 protocol-rpc/src/rpc/pjc
protocol-rpc/src/rpc/suid-create
client.rs
client.rs
51:110 (32%)
58:117 (21%)
view
59 x 2 protocol-rpc/src/rpc/private-id
protocol-rpc/src/rpc/suid-create
server.rs
server.rs
32:90 (35%)
30:88 (44%)
view
57 x 2 protocol/src/cross_psi
protocol/src/cross_psi_xor
company.rs
company.rs
160:228 (21%)
143:211 (23%)
view
Duplicated Units
The list of top 15 duplicated units.
See data for all 15 unit duplicates...
Size#FoldersFilesLinesCode
29 x 2 protocol/src/private_id
protocol/src/private_id
partner.rs
company.rs
79:110 
181:211 
view
21 x 2 protocol/src/cross_psi_xor
protocol/src/cross_psi
partner.rs
partner.rs
165:187 
183:205 
view
18 x 2 protocol/src/cross_psi_xor
protocol/src/cross_psi
company.rs
company.rs
143:162 
160:179 
view
18 x 2 protocol/src/cross_psi_xor
protocol/src/cross_psi
company.rs
company.rs
164:184 
181:201 
view
16 x 2 protocol/src/cross_psi_xor
protocol/src/cross_psi
partner.rs
partner.rs
146:163 
164:181 
view
14 x 2 protocol/src/private_id
protocol/src/private_id
partner.rs
company.rs
197:211 
330:344 
view
12 x 2 protocol/src/cross_psi_xor
protocol/src/cross_psi
company.rs
company.rs
303:315 
317:329 
view
11 x 6 protocol/src/pjc
protocol/src/pjc
protocol/src/cross_psi_xor
protocol/src/cross_psi_xor
protocol/src/cross_psi
protocol/src/cross_psi
partner.rs
company.rs
partner.rs
company.rs
partner.rs
company.rs
82:93 
79:90 
131:142 
128:139 
143:154 
139:150 
view
11 x 2 protocol/src/cross_psi_xor
protocol/src/cross_psi
partner.rs
partner.rs
189:201 
207:219 
view
10 x 2 protocol/src/private_id
protocol/src/private_id
partner.rs
company.rs
185:195 
318:328 
view
10 x 2 protocol/src/private_id_multi_key
protocol/src/private_id_multi_key
partner.rs
company.rs
248:258 
483:493 
view
8 x 2 protocol/src/private_id
protocol/src/private_id
partner.rs
company.rs
213:221 
346:354 
view
7 x 3 protocol/src/pjc
protocol/src/cross_psi_xor
protocol/src/cross_psi
company.rs
company.rs
company.rs
109:116 
186:193 
203:210 
view
7 x 2 protocol/src/private_id_multi_key
protocol/src/private_id_multi_key
partner.rs
company.rs
239:246 
474:481 
view
6 x 2 crypto/src
crypto/src
he.rs
eccipher.rs
121:127 
282:288 
view