aws-samples / aws-secrets-manager-acm-certificate-rotation
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
  • 15% duplication:
    • 28,303 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 4,309 duplicated lines
  • 319 duplicates
system15% (4,309 lines)
Duplication per Extension
py12% (3,300 lines)
yaml83% (939 lines)
h13% (70 lines)
Duplication per Component (primary)
Lambda/Layer/crypto/python/lib/python3.8/site-packages/cryptography/hazmat11% (1,112 lines)
CloudFormation_Templates83% (939 lines)
Lambda/Layer/crypto/python/lib/python3.8/site-packages/cffi10% (735 lines)
Lambda/Layer/crypto/python/lib/python3.8/site-packages/pycparser/ply17% (625 lines)
Lambda/Layer/crypto/python/lib/python3.8/site-packages/cryptography/x50915% (454 lines)
Lambda/Layer/crypto/python/lib/python3.8/site-packages/pycparser15% (412 lines)
Lambda/Layer/crypto/python/lib/python3.8/site-packages/cryptography6% (20 lines)
Lambda/Function4% (12 lines)
Lambda/Layer/crypto/python/lib/python3.8/site-packages0% (0 lines)
Lambda/Layer/crypto/python/lib/python3.8/site-packages/pem0% (0 lines)

Duplication Between Components (50+ lines)

G Lambda/Layer/crypto/python/lib/python3.8/site-packages/pycparser Lambda/Layer/crypto/python/lib/python3.8/site-packages/pycparser Lambda/Layer/crypto/python/lib/python3.8/site-packages/pycparser/ply Lambda/Layer/crypto/python/lib/python3.8/site-packages/pycparser/ply Lambda/Layer/crypto/python/lib/python3.8/site-packages/pycparser--Lambda/Layer/crypto/python/lib/python3.8/site-packages/pycparser/ply 52

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 319 duplicates...
Size#FoldersFilesLinesCode
307 x 2 CloudFormation_Templates
CloudFormation_Templates
dest_account.yaml
src_account.yaml
7:313 (67%)
8:314 (46%)
view
65 x 2 CloudFormation_Templates
CloudFormation_Templates
dest_account.yaml
src_account.yaml
402:466 (14%)
617:681 (9%)
view
64 x 2 Lambda/Layer/crypto/pyth...-packages/pycparser/ply
Lambda/Layer/crypto/pyth...-packages/pycparser/ply
yacc.py
yacc.py
591:683 (3%)
897:989 (3%)
view
64 x 2 Lambda/Layer/crypto/pyth...-packages/pycparser/ply
Lambda/Layer/crypto/pyth...-packages/pycparser/ply
yacc.py
yacc.py
849:954 (3%)
1141:1246 (3%)
view
63 x 2 Lambda/Layer/crypto/pyth...-packages/pycparser/ply
Lambda/Layer/crypto/pyth...-packages/pycparser/ply
yacc.py
yacc.py
697:798 (3%)
1003:1104 (3%)
view
62 x 2 CloudFormation_Templates
CloudFormation_Templates
dest_account.yaml
src_account.yaml
315:383 (13%)
318:386 (9%)
view
46 x 2 Lambda/Layer/crypto/pyth...n3.8/site-packages/cffi
Lambda/Layer/crypto/pyth...n3.8/site-packages/cffi
vengine_cpy.py
vengine_gen.py
818:863 (5%)
629:674 (8%)
view
41 x 2 Lambda/Layer/crypto/pyth...-packages/pycparser/ply
Lambda/Layer/crypto/pyth...-packages/pycparser/ply
yacc.py
yacc.py
591:648 (1%)
1189:1246 (1%)
view
38 x 2 Lambda/Layer/crypto/pyth...n3.8/site-packages/cffi
Lambda/Layer/crypto/pyth...n3.8/site-packages/cffi
vengine_cpy.py
vengine_gen.py
539:581 (4%)
325:367 (6%)
view
26 x 2 Lambda/Layer/crypto/pyth...n3.8/site-packages/cffi
Lambda/Layer/crypto/pyth...n3.8/site-packages/cffi
recompiler.py
vengine_cpy.py
545:575 (2%)
260:290 (2%)
view
26 x 2 Lambda/Layer/crypto/pyth...n3.8/site-packages/cffi
Lambda/Layer/crypto/pyth...n3.8/site-packages/cffi
_cffi_include.h
vengine_gen.py
41:66 (14%)
635:660 (4%)
view
26 x 2 Lambda/Layer/crypto/pyth...site-packages/pycparser
Lambda/Layer/crypto/pyth...-packages/pycparser/ply
c_lexer.py
ctokens.py
362:389 (9%)
49:77 (34%)
view
26 x 2 Lambda/Layer/crypto/pyth...n3.8/site-packages/cffi
Lambda/Layer/crypto/pyth...n3.8/site-packages/cffi
_cffi_include.h
vengine_cpy.py
41:66 (14%)
824:849 (2%)
view
25 x 2 Lambda/Layer/crypto/pyth...site-packages/pycparser
Lambda/Layer/crypto/pyth...site-packages/pycparser
_ast_gen.py
c_ast.py
251:280 (11%)
80:109 (3%)
view
24 x 2 Lambda/Layer/crypto/pyth...n3.8/site-packages/cffi
Lambda/Layer/crypto/pyth...n3.8/site-packages/cffi
vengine_cpy.py
vengine_gen.py
472:499 (2%)
260:287 (4%)
view
23 x 2 Lambda/Layer/crypto/pyth...-packages/pycparser/ply
Lambda/Layer/crypto/pyth...-packages/pycparser/ply
yacc.py
yacc.py
506:544 (1%)
823:861 (1%)
view
22 x 2 Lambda/Layer/crypto/pyth...hazmat/backends/openssl
Lambda/Layer/crypto/pyth...hazmat/backends/openssl
x25519.py
x448.py
80:105 (23%)
74:99 (27%)
view
22 x 2 Lambda/Layer/crypto/pyth...hazmat/backends/openssl
Lambda/Layer/crypto/pyth...hazmat/backends/openssl
ed25519.py
ed448.py
112:137 (18%)
113:138 (18%)
view
21 x 2 Lambda/Layer/crypto/pyth...hazmat/backends/openssl
Lambda/Layer/crypto/pyth...hazmat/backends/openssl
ed25519.py
x25519.py
114:137 (17%)
82:105 (22%)
view
21 x 2 Lambda/Layer/crypto/pyth...hazmat/backends/openssl
Lambda/Layer/crypto/pyth...hazmat/backends/openssl
ed448.py
x448.py
115:138 (17%)
76:99 (25%)
view
Duplicated Units
The list of top 17 duplicated units.
See data for all 17 unit duplicates...
Size#FoldersFilesLinesCode
40 x 2 Lambda/Layer/crypto/pyth...site-packages/pycparser
Lambda/Layer/crypto/pyth...site-packages/pycparser
_ast_gen.py
c_ast.py
0:0 
0:0 
view
27 x 2 Lambda/Layer/crypto/pyth...n3.8/site-packages/cffi
Lambda/Layer/crypto/pyth...n3.8/site-packages/cffi
vengine_gen.py
vengine_cpy.py
0:0 
0:0 
view
19 x 2 Lambda/Layer/crypto/pyth...hazmat/backends/openssl
Lambda/Layer/crypto/pyth...hazmat/backends/openssl
ed25519.py
ed448.py
0:0 
0:0 
view
19 x 4 Lambda/Layer/crypto/pyth...hazmat/backends/openssl
Lambda/Layer/crypto/pyth...hazmat/backends/openssl
Lambda/Layer/crypto/pyth...hazmat/backends/openssl
Lambda/Layer/crypto/pyth...hazmat/backends/openssl
ed25519.py
x448.py
x25519.py
ed448.py
0:0 
0:0 
0:0 
0:0 
view
15 x 4 Lambda/Layer/crypto/pyth...hazmat/backends/openssl
Lambda/Layer/crypto/pyth...hazmat/backends/openssl
Lambda/Layer/crypto/pyth...hazmat/backends/openssl
Lambda/Layer/crypto/pyth...hazmat/backends/openssl
ed25519.py
x448.py
x25519.py
ed448.py
0:0 
0:0 
0:0 
0:0 
view
13 x 2 Lambda/Layer/crypto/pyth...site-packages/pycparser
Lambda/Layer/crypto/pyth...site-packages/pycparser
_ast_gen.py
c_ast.py
0:0 
0:0 
view
12 x 2 Lambda/Layer/crypto/pyth...hazmat/backends/openssl
Lambda/Layer/crypto/pyth...hazmat/backends/openssl
rsa.py
rsa.py
0:0 
0:0 
view
10 x 2 Lambda/Layer/crypto/pyth...kages/cryptography/x509
Lambda/Layer/crypto/pyth...kages/cryptography/x509
extensions.py
extensions.py
0:0 
0:0 
view
9 x 2 Lambda/Layer/crypto/pyth...kages/cryptography/x509
Lambda/Layer/crypto/pyth...kages/cryptography/x509
ocsp.py
ocsp.py
0:0 
0:0 
view
9 x 2 Lambda/Layer/crypto/pyth...kages/cryptography/x509
Lambda/Layer/crypto/pyth...kages/cryptography/x509
extensions.py
extensions.py
0:0 
0:0 
view
9 x 2 Lambda/Layer/crypto/pyth...hazmat/backends/openssl
Lambda/Layer/crypto/pyth...hazmat/backends/openssl
dsa.py
dsa.py
0:0 
0:0 
view
9 x 2 Lambda/Layer/crypto/pyth...zmat/primitives/ciphers
Lambda/Layer/crypto/pyth...zmat/primitives/ciphers
aead.py
aead.py
0:0 
0:0 
view
7 x 2 Lambda/Layer/crypto/pyth...site-packages/pycparser
Lambda/Layer/crypto/pyth...site-packages/pycparser
_ast_gen.py
c_ast.py
0:0 
0:0 
view
7 x 2 Lambda/Layer/crypto/pyth...kages/cryptography/x509
Lambda/Layer/crypto/pyth...kages/cryptography/x509
extensions.py
extensions.py
0:0 
0:0 
view
7 x 2 Lambda/Layer/crypto/pyth...hazmat/backends/openssl
Lambda/Layer/crypto/pyth...hazmat/backends/openssl
ocsp.py
x509.py
0:0 
0:0 
view
6 x 2 Lambda/Layer/crypto/pyth...site-packages/pycparser
Lambda/Layer/crypto/pyth...site-packages/pycparser
c_ast.py
c_ast.py
0:0 
0:0 
view
6 x 2 Lambda/Layer/crypto/pyth...hazmat/backends/openssl
Lambda/Layer/crypto/pyth...hazmat/backends/openssl
ec.py
ec.py
0:0 
0:0 
view