awslabs / compliant-framework-for-federal-and-dod-workloads-in-aws-govcloud-us
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
  • 48% duplication:
    • 13,433 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 6,480 duplicated lines
  • 2,060 duplicates
system48% (6,480 lines)
Duplication per Extension
yml55% (5,085 lines)
ts29% (707 lines)
py35% (676 lines)
js27% (12 lines)
Duplication per Component (primary)
source/repositories/compliant-framework-management-services-core65% (1,739 lines)
source/repositories/compliant-framework-central-core83% (1,482 lines)
source/repositories/compliant-framework-transit-core43% (1,120 lines)
source/repositories/compliant-framework-security-baseline39% (744 lines)
source/repositories/compliant-framework-central-pipeline33% (593 lines)
source/lib33% (336 lines)
source/lambda/avm_invite_govcloud_account81% (79 lines)
source/lambda/avm_move_account81% (60 lines)
source/lambda/avm_get_ou65% (57 lines)
source/lib/account-vending-machine18% (54 lines)
source/lambda/avm_create_govcloud_account54% (52 lines)
deployment/framework-nuke13% (50 lines)
source/lambda/invite_accounts71% (49 lines)
source/lambda/execute_state_machine52% (28 lines)
source/lambda/create_accounts24% (14 lines)
source/lambda/initialize_organization14% (10 lines)
source/repositories2% (7 lines)
source100% (6 lines)
source/lib/solution-helper0% (0 lines)
source/lambda/verify_govcloud_api_keys0% (0 lines)
source/lambda/solution_helper0% (0 lines)
source/lambda/verify_sns_subscription0% (0 lines)
source/lambda/notify_success0% (0 lines)
source/lambda/notify_failure0% (0 lines)
deployment/cdk-solution-helper0% (0 lines)

Duplication Between Components (50+ lines)

G source/repositories/compliant-framework-central-core source/repositories/compliant-framework-central-core source/repositories/compliant-framework-security-baseline source/repositories/compliant-framework-security-baseline source/repositories/compliant-framework-central-core--source/repositories/compliant-framework-security-baseline 1465 source/repositories/compliant-framework-management-services-core source/repositories/compliant-framework-management-services-core source/repositories/compliant-framework-central-core--source/repositories/compliant-framework-management-services-core 1434 source/repositories/compliant-framework-transit-core source/repositories/compliant-framework-transit-core source/repositories/compliant-framework-central-core--source/repositories/compliant-framework-transit-core 302 source/repositories/compliant-framework-security-baseline--source/repositories/compliant-framework-transit-core 67 source/repositories/compliant-framework-management-services-core--source/repositories/compliant-framework-security-baseline 247 source/repositories/compliant-framework-management-services-core--source/repositories/compliant-framework-transit-core 1060 source/lambda/avm_get_ou source/lambda/avm_get_ou source/lambda/avm_move_account source/lambda/avm_move_account source/lambda/avm_get_ou--source/lambda/avm_move_account 110 source/lambda/avm_invite_govcloud_account source/lambda/avm_invite_govcloud_account source/lambda/avm_get_ou--source/lambda/avm_invite_govcloud_account 84 source/lambda/execute_state_machine source/lambda/execute_state_machine source/lambda/avm_get_ou--source/lambda/execute_state_machine 56 source/lambda/avm_move_account--source/lambda/execute_state_machine 56 source/lib/account-vending-machine source/lib/account-vending-machine source/lib source/lib source/lib/account-vending-machine--source/lib 108 source/lambda/avm_invite_govcloud_account--source/lambda/avm_move_account 102 source/lambda/invite_accounts source/lambda/invite_accounts source/lambda/avm_invite_govcloud_account--source/lambda/invite_accounts 70 source/lambda/avm_invite_govcloud_account--source/lambda/execute_state_machine 56 source/lambda/avm_create_govcloud_account source/lambda/avm_create_govcloud_account source/lambda/avm_create_govcloud_account--source/lambda/avm_get_ou 76 source/lambda/avm_create_govcloud_account--source/lambda/avm_move_account 72 source/lambda/avm_create_govcloud_account--source/lambda/avm_invite_govcloud_account 56 source/lambda/avm_create_govcloud_account--source/lambda/execute_state_machine 56

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 2,060 duplicates...
Size#FoldersFilesLinesCode
220 x 2 source/repositories/comp...services-core/templates
source/repositories/comp...services-core/templates
management-services-directory-vpc.yml
management-services-vpc.yml
52:297 (59%)
52:313 (43%)
view
148 x 2 source/repositories/comp...-core/templates/logging
source/repositories/comp...services-core/templates
logging-assets.yml
management-services-logging-assets.yml
18:167 (26%)
24:173 (30%)
view
87 x 2 source/repositories/comp...services-core/templates
source/repositories/comp...services-core/templates
management-services-assets-bucket.yml
management-services-logging-assets.yml
29:115 (47%)
35:121 (18%)
view
87 x 2 source/repositories/comp...-core/templates/logging
source/repositories/comp...services-core/templates
logging-assets.yml
management-services-assets-bucket.yml
29:115 (15%)
29:115 (47%)
view
83 x 2 source/repositories/comp...core/templates/security
source/repositories/comp...rity-baseline/templates
security-hub.yml
security-baseline.yml
163:249 (12%)
254:340 (5%)
view
78 x 2 source/repositories/comp...-transit-core/templates
source/repositories/comp...-transit-core/templates
transit-dmz-vpc.yml
transit-inspection-vpc.yml
49:133 (31%)
51:135 (18%)
view
64 x 2 source/repositories/comp...-core/templates/logging
source/repositories/comp...services-core/templates
logging-assets.yml
management-services-logging-assets.yml
284:349 (11%)
294:359 (13%)
view
60 x 2 source/repositories/comp...services-core/templates
source/repositories/comp...-transit-core/templates
management-services-directory-vpc.yml
transit-inspection-vpc.yml
52:117 (16%)
45:109 (14%)
view
60 x 2 source/repositories/comp...services-core/templates
source/repositories/comp...-transit-core/templates
management-services-vpc.yml
transit-inspection-vpc.yml
52:117 (11%)
45:109 (14%)
view
57 x 2 source/repositories/comp...services-core/templates
source/repositories/comp...services-core/templates
management-services-directory-vpc.yml
management-services-vpc.yml
336:392 (15%)
413:469 (11%)
view
56 x 2 source/repositories/comp...services-core/templates
source/repositories/comp...-transit-core/templates
management-services-directory-vpc.yml
transit-dmz-vpc.yml
59:117 (15%)
49:107 (22%)
view
56 x 2 source/repositories/comp...services-core/templates
source/repositories/comp...-transit-core/templates
management-services-vpc.yml
transit-dmz-vpc.yml
59:117 (11%)
49:107 (22%)
view
55 x 2 source/repositories/comp...-core/templates/logging
source/repositories/comp...services-core/templates
logging-assets.yml
management-services-logging-assets.yml
203:259 (9%)
211:267 (11%)
view
51 x 2 source/repositories/comp...services-core/templates
source/repositories/comp...services-core/templates
management-services-directory-vpc.yml
management-services-external-access-v...
67:117 (13%)
59:109 (16%)
view
51 x 2 source/repositories/comp...services-core/templates
source/repositories/comp...-transit-core/templates
management-services-external-access-v...
transit-dmz-vpc.yml
59:109 (16%)
57:107 (20%)
view
51 x 2 source/repositories/comp...services-core/templates
source/repositories/comp...services-core/templates
management-services-external-access-v...
management-services-vpc.yml
59:109 (16%)
67:117 (10%)
view
51 x 2 source/repositories/comp...services-core/templates
source/repositories/comp...-transit-core/templates
management-services-external-access-v...
transit-inspection-vpc.yml
59:109 (16%)
59:109 (11%)
view
49 x 2 source/repositories/comp...-core/templates/central
source/repositories/comp...-core/templates/logging
central-init.yml
logging-init.yml
107:163 (39%)
148:204 (28%)
view
49 x 2 source/repositories/comp...services-core/templates
source/repositories/comp...ant-two-tier-vpc/V1.0.0
management-services-directory-vpc.yml
tenant-two-tier-vpc.yml
73:125 (13%)
72:125 (16%)
view
49 x 2 source/repositories/comp...services-core/templates
source/repositories/comp...ant-two-tier-vpc/V1.0.0
management-services-vpc.yml
tenant-two-tier-vpc.yml
73:125 (9%)
72:125 (16%)
view
Duplicated Units
The list of top 4 duplicated units.
See data for all 4 unit duplicates...
Size#FoldersFilesLinesCode
44 x 2 source/lib
source/lib
compliant-framework-stack.ts
compliant-framework-stack.ts
718:764 
770:816 
view
24 x 5 source/lambda/avm_create_govcloud_account
source/lambda/execute_state_machine
source/lambda/avm_invite_govcloud_account
source/lambda/avm_get_ou
source/lambda/avm_move_account
cfnresponse.py
cfnresponse.py
cfnresponse.py
cfnresponse.py
cfnresponse.py
0:0 
0:0 
0:0 
0:0 
0:0 
view
15 x 2 source/lib/account-vending-machine
source/lib/account-vending-machine
account-vending-machine-construct.ts
account-vending-machine-construct.ts
121:136 
138:153 
view
10 x 2 source/lib/account-vending-machine
source/lib
account-vending-machine-construct.ts
compliant-framework-stack.ts
73:83 
701:711 
view