aws-samples / policy-as-code
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
  • 34% duplication:
    • 2,523 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 872 duplicated lines
  • 80 duplicates
system34% (872 lines)
Duplication per Extension
py35% (336 lines)
rego49% (306 lines)
yml38% (212 lines)
ts4% (18 lines)
Duplication per Component (primary)
terraform/app/custom-rules49% (306 lines)
terraform/cicd77% (128 lines)
cdk/cicd75% (125 lines)
cdk/ide32% (125 lines)
cdk/ide/lambda_functions39% (83 lines)
cdk/cicd/pipeline_delivery59% (26 lines)
terraform/cicd/pipeline_delivery66% (26 lines)
cdk/ide/lib4% (18 lines)
cdk/app/awsconfig4% (14 lines)
content/pac_tools/checkov24% (14 lines)
cdk/app/rules38% (7 lines)
ROOT0% (0 lines)
cdk/app0% (0 lines)
terraform/app0% (0 lines)
utils0% (0 lines)

Duplication Between Components (50+ lines)

G cdk/cicd cdk/cicd terraform/cicd terraform/cicd cdk/cicd--terraform/cicd 253 cdk/cicd/pipeline_delivery cdk/cicd/pipeline_delivery terraform/cicd/pipeline_delivery terraform/cicd/pipeline_delivery cdk/cicd/pipeline_delivery--terraform/cicd/pipeline_delivery 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 80 duplicates...
Size#FoldersFilesLinesCode
34 x 2 terraform/app/custom-rules/s3
terraform/app/custom-rules/s3
rego
bucket_config_public_read.rego
bucket_is_public.rego
58:97 (34%)
81:120 (27%)
view
24 x 2 cdk/cicd
terraform/cicd
Pipeline.py
Pipeline.py
17:51 (28%)
17:41 (34%)
view
20 x 2 cdk/cicd
terraform/cicd
Base.py
Base.py
3:28 (27%)
3:28 (22%)
view
16 x 2 cdk/cicd
terraform/cicd
Base.py
Base.py
62:80 (21%)
48:66 (17%)
view
16 x 2 cdk/cicd
terraform/cicd
Base.py
Base.py
82:104 (21%)
68:90 (17%)
view
14 x 2 terraform/app/custom-rules/s3
terraform/app/custom-rules/s3
rego
bucketpolicy_allowall.rego
bucketpolicy_allowlist.rego
64:79 (21%)
63:78 (21%)
view
14 x 2 cdk/app/awsconfig/rules/checkov
content/pac_tools/checkov/scanning
checkov-config.yml
config.yml
1:15 (77%)
1:15 (82%)
view
14 x 2 cdk/ide
cdk/ide
buildspec-destroy.yml
buildspec.yml
1:16 (42%)
1:16 (34%)
view
13 x 2 terraform/app/custom-rules/kms
terraform/app/custom-rules/s3
rego
key_not_public.rego
bucket_is_public.rego
1:13 (23%)
1:13 (10%)
view
13 x 2 terraform/app/custom-rules/s3
terraform/app/custom-rules/s3
rego
block_public_access.rego
https_access.rego
1:13 (21%)
1:13 (18%)
view
13 x 2 terraform/app/custom-rules/kms
terraform/app/custom-rules/s3
rego
key_not_public.rego
block_public_access.rego
1:13 (23%)
1:13 (21%)
view
13 x 2 terraform/app/custom-rules/s3
terraform/app/custom-rules/s3
rego
bucketpolicy_allowall.rego
https_access.rego
1:13 (19%)
1:13 (18%)
view
13 x 2 terraform/app/custom-rules/s3
terraform/app/custom-rules/s3
rego
bucket_config_public_read.rego
https_access.rego
1:13 (13%)
1:13 (18%)
view
13 x 2 terraform/app/custom-rules/kms
terraform/app/custom-rules/s3
rego
key_not_public.rego
https_access.rego
1:13 (23%)
1:13 (18%)
view
13 x 2 terraform/app/custom-rules/kms
terraform/app/custom-rules/s3
rego
key_not_public.rego
bucketpolicy_allowlist.rego
1:13 (23%)
1:13 (20%)
view
13 x 2 terraform/app/custom-rules/kms
terraform/app/custom-rules/s3
rego
key_not_public.rego
bucket_config_public_read.rego
1:13 (23%)
1:13 (13%)
view
13 x 2 terraform/app/custom-rules/kms
terraform/app/custom-rules/s3
rego
key_not_public.rego
bucketpolicy_allowall.rego
1:13 (23%)
1:13 (19%)
view
13 x 2 terraform/app/custom-rules/s3
terraform/app/custom-rules/s3
rego
block_public_access.rego
bucketpolicy_allowall.rego
1:13 (21%)
1:13 (19%)
view
13 x 2 terraform/app/custom-rules/s3
terraform/app/custom-rules/s3
rego
bucketpolicy_allowall.rego
bucketpolicy_allowlist.rego
1:13 (19%)
1:13 (20%)
view
13 x 2 terraform/app/custom-rules/s3
terraform/app/custom-rules/s3
rego
bucket_config_public_read.rego
bucketpolicy_allowlist.rego
1:13 (13%)
1:13 (20%)
view
Duplicated Units
The list of top 1 duplicated units.
See data for all 1 unit duplicate
Size#FoldersFilesLinesCode
7 x 2 cdk/ide/lambda_functions/c9bootstrap
cdk/ide/lambda_functions/c9DiskResize
lambda_function.py
lambda_function.py
0:0 
0:0 
view