aws-quickstart / quickstart-ribbon-sbc
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
  • 14% duplication:
    • 38,493 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 5,733 duplicated lines
  • 1,338 duplicates
system14% (5,733 lines)
Duplication per Extension
py12% (4,374 lines)
yaml29% (790 lines)
yml61% (525 lines)
h9% (44 lines)
Duplication per Component (primary)
functions/source/KeyGen/cryptography11% (1,407 lines)
functions/source/KeyGen/asn1crypto13% (1,251 lines)
functions/source/KeyGen/pycparser17% (1,037 lines)
templates29% (790 lines)
functions/source/KeyGen/cffi10% (669 lines)
scripts/ansible/tasks70% (489 lines)
scripts/ansible/scripts11% (54 lines)
scripts/ansible23% (36 lines)
functions/source/KeyGen0% (0 lines)
scripts/ansible/vars0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 1,338 duplicates...
Size#FoldersFilesLinesCode
64 x 2 functions/source/KeyGen/pycparser/ply
functions/source/KeyGen/pycparser/ply
yacc.py
yacc.py
849:954 (3%)
1141:1246 (3%)
view
64 x 2 functions/source/KeyGen/pycparser/ply
functions/source/KeyGen/pycparser/ply
yacc.py
yacc.py
591:683 (3%)
897:989 (3%)
view
63 x 2 functions/source/KeyGen/pycparser/ply
functions/source/KeyGen/pycparser/ply
yacc.py
yacc.py
697:798 (3%)
1003:1104 (3%)
view
52 x 2 templates
templates
ribbon-custom-vpc.template.yaml
ribbon-custom-vpc.template.yaml
295:346 (6%)
417:468 (6%)
view
52 x 2 templates
templates
ribbon-custom-vpc.template.yaml
ribbon-custom-vpc.template.yaml
295:346 (6%)
356:407 (6%)
view
52 x 2 templates
templates
ribbon-custom-vpc.template.yaml
ribbon-custom-vpc.template.yaml
234:285 (6%)
356:407 (6%)
view
52 x 2 templates
templates
ribbon-custom-vpc.template.yaml
ribbon-custom-vpc.template.yaml
356:407 (6%)
417:468 (6%)
view
52 x 2 templates
templates
ribbon-custom-vpc.template.yaml
ribbon-custom-vpc.template.yaml
234:285 (6%)
417:468 (6%)
view
52 x 2 templates
templates
ribbon-custom-vpc.template.yaml
ribbon-custom-vpc.template.yaml
234:285 (6%)
295:346 (6%)
view
46 x 2 functions/source/KeyGen/cffi
functions/source/KeyGen/cffi
vengine_cpy.py
vengine_gen.py
810:855 (5%)
629:674 (8%)
view
41 x 2 functions/source/KeyGen/pycparser/ply
functions/source/KeyGen/pycparser/ply
yacc.py
yacc.py
591:648 (1%)
1189:1246 (1%)
view
38 x 2 functions/source/KeyGen/cffi
functions/source/KeyGen/cffi
vengine_cpy.py
vengine_gen.py
531:573 (4%)
325:367 (6%)
view
29 x 2 functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
x25519.py
x448.py
102:135 (25%)
82:115 (30%)
view
28 x 2 functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
ed25519.py
ed448.py
16:48 (22%)
19:51 (22%)
view
28 x 2 functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
ed25519.py
x448.py
16:48 (22%)
19:51 (29%)
view
28 x 2 functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
ed448.py
x448.py
19:51 (22%)
19:51 (29%)
view
27 x 2 functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
ed25519.py
ed448.py
112:143 (21%)
115:146 (21%)
view
27 x 2 templates
templates
ribbon-custom-vpc.template.yaml
ribbon-custom-vpc.template.yaml
478:504 (3%)
514:540 (3%)
view
26 x 2 functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
ed448.py
x25519.py
117:146 (20%)
106:135 (22%)
view
26 x 2 functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
ed25519.py
x448.py
114:143 (20%)
86:115 (27%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 30 unit duplicates...
Size#FoldersFilesLinesCode
40 x 2 functions/source/KeyGen/pycparser
functions/source/KeyGen/pycparser
_ast_gen.py
c_ast.py
0:0 
0:0 
view
27 x 2 functions/source/KeyGen/cffi
functions/source/KeyGen/cffi
vengine_gen.py
vengine_cpy.py
0:0 
0:0 
view
24 x 4 functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
ed25519.py
x448.py
x25519.py
ed448.py
0:0 
0:0 
0:0 
0:0 
view
23 x 3 functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
ed25519.py
x448.py
ed448.py
0:0 
0:0 
0:0 
view
16 x 2 functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
ed25519.py
ed448.py
0:0 
0:0 
view
24 x 2 functions/source/KeyGen/asn1crypto
functions/source/KeyGen/asn1crypto
core.py
core.py
0:0 
0:0 
view
21 x 2 functions/source/KeyGen/asn1crypto
functions/source/KeyGen/asn1crypto
core.py
core.py
0:0 
0:0 
view
13 x 2 functions/source/KeyGen/pycparser
functions/source/KeyGen/pycparser
_ast_gen.py
c_ast.py
0:0 
0:0 
view
10 x 2 functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
rsa.py
rsa.py
0:0 
0:0 
view
11 x 2 functions/source/KeyGen/...zmat/primitives/ciphers
functions/source/KeyGen/...zmat/primitives/ciphers
aead.py
aead.py
0:0 
0:0 
view
9 x 2 functions/source/KeyGen/cryptography/x509
functions/source/KeyGen/cryptography/x509
extensions.py
extensions.py
0:0 
0:0 
view
9 x 2 functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
dsa.py
dsa.py
0:0 
0:0 
view
7 x 2 functions/source/KeyGen/pycparser
functions/source/KeyGen/pycparser
_ast_gen.py
c_ast.py
0:0 
0:0 
view
7 x 2 functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
ocsp.py
x509.py
0:0 
0:0 
view
6 x 2 functions/source/KeyGen/pycparser
functions/source/KeyGen/pycparser
c_ast.py
c_ast.py
0:0 
0:0 
view
6 x 2 functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
ec.py
ec.py
0:0 
0:0 
view
6 x 2 functions/source/KeyGen/...zmat/primitives/ciphers
functions/source/KeyGen/...zmat/primitives/ciphers
aead.py
aead.py
0:0 
0:0 
view
11 x 2 functions/source/KeyGen/asn1crypto
functions/source/KeyGen/asn1crypto
core.py
core.py
0:0 
0:0 
view
9 x 2 functions/source/KeyGen/asn1crypto
functions/source/KeyGen/asn1crypto
core.py
core.py
0:0 
0:0 
view
9 x 2 functions/source/KeyGen/asn1crypto
functions/source/KeyGen/asn1crypto
core.py
core.py
0:0 
0:0 
view