aws-cloudformation / aws-cloudformation-resource-providers-iot
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
  • 43% duplication:
    • 5,541 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,408 duplicated lines
  • 1,137 duplicates
system43% (2,408 lines)
Duplication per Extension
java41% (1,943 lines)
yaml68% (341 lines)
yml34% (124 lines)
Duplication per Component (primary)
aws-iot-mitigationaction48% (257 lines)
aws-iot-custommetric58% (230 lines)
aws-iot-scheduledaudit58% (230 lines)
aws-iot-dimension55% (215 lines)
aws-iot-securityprofile28% (202 lines)
aws-iot-accountauditconfiguration41% (195 lines)
aws-iot-resourcespecificlogging55% (168 lines)
aws-iot-provisioningtemplate42% (148 lines)
aws-iot-authorizer39% (145 lines)
aws-iot-domainconfiguration35% (132 lines)
aws-iot-logging48% (129 lines)
aws-iot-jobtemplate35% (124 lines)
aws-iot-certificate35% (122 lines)
aws-iot-policy38% (111 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G aws-iot-mitigationaction aws-iot-mitigationaction aws-iot-scheduledaudit aws-iot-scheduledaudit aws-iot-mitigationaction--aws-iot-scheduledaudit 460 aws-iot-securityprofile aws-iot-securityprofile aws-iot-mitigationaction--aws-iot-securityprofile 372 aws-iot-resourcespecificlogging aws-iot-resourcespecificlogging aws-iot-mitigationaction--aws-iot-resourcespecificlogging 78 aws-iot-scheduledaudit--aws-iot-securityprofile 370 aws-iot-custommetric aws-iot-custommetric aws-iot-custommetric--aws-iot-mitigationaction 460 aws-iot-custommetric--aws-iot-scheduledaudit 460 aws-iot-dimension aws-iot-dimension aws-iot-custommetric--aws-iot-dimension 430 aws-iot-custommetric--aws-iot-securityprofile 370 aws-iot-logging aws-iot-logging aws-iot-custommetric--aws-iot-logging 78 aws-iot-custommetric--aws-iot-resourcespecificlogging 78 aws-iot-dimension--aws-iot-mitigationaction 430 aws-iot-dimension--aws-iot-scheduledaudit 430 aws-iot-dimension--aws-iot-securityprofile 356 aws-iot-dimension--aws-iot-logging 76 aws-iot-dimension--aws-iot-resourcespecificlogging 76 aws-iot-accountauditconfiguration aws-iot-accountauditconfiguration aws-iot-accountauditconfiguration--aws-iot-mitigationaction 240 aws-iot-accountauditconfiguration--aws-iot-scheduledaudit 214 aws-iot-accountauditconfiguration--aws-iot-custommetric 214 aws-iot-accountauditconfiguration--aws-iot-dimension 210 aws-iot-accountauditconfiguration--aws-iot-securityprofile 214 aws-iot-accountauditconfiguration--aws-iot-logging 118 aws-iot-accountauditconfiguration--aws-iot-resourcespecificlogging 82 aws-iot-authorizer aws-iot-authorizer aws-iot-policy aws-iot-policy aws-iot-authorizer--aws-iot-policy 221 aws-iot-certificate aws-iot-certificate aws-iot-authorizer--aws-iot-certificate 100 aws-iot-provisioningtemplate aws-iot-provisioningtemplate aws-iot-authorizer--aws-iot-provisioningtemplate 86 aws-iot-domainconfiguration aws-iot-domainconfiguration aws-iot-authorizer--aws-iot-domainconfiguration 138 aws-iot-policy--aws-iot-provisioningtemplate 72 aws-iot-logging--aws-iot-mitigationaction 80 aws-iot-logging--aws-iot-scheduledaudit 78 aws-iot-logging--aws-iot-securityprofile 80 aws-iot-logging--aws-iot-resourcespecificlogging 220 aws-iot-logging--aws-iot-provisioningtemplate 114 aws-iot-resourcespecificlogging--aws-iot-scheduledaudit 78 aws-iot-resourcespecificlogging--aws-iot-securityprofile 78 aws-iot-certificate--aws-iot-policy 86 aws-iot-certificate--aws-iot-logging 113 aws-iot-certificate--aws-iot-resourcespecificlogging 113 aws-iot-certificate--aws-iot-provisioningtemplate 219 aws-iot-certificate--aws-iot-domainconfiguration 197 aws-iot-jobtemplate aws-iot-jobtemplate aws-iot-certificate--aws-iot-jobtemplate 137 aws-iot-provisioningtemplate--aws-iot-resourcespecificlogging 114 aws-iot-domainconfiguration--aws-iot-policy 106 aws-iot-domainconfiguration--aws-iot-logging 115 aws-iot-domainconfiguration--aws-iot-resourcespecificlogging 115 aws-iot-domainconfiguration--aws-iot-provisioningtemplate 202 aws-iot-domainconfiguration--aws-iot-jobtemplate 109 aws-iot-jobtemplate--aws-iot-securityprofile 50 aws-iot-jobtemplate--aws-iot-logging 145 aws-iot-jobtemplate--aws-iot-resourcespecificlogging 149 aws-iot-jobtemplate--aws-iot-provisioningtemplate 181

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 1,137 duplicates...
Size#FoldersFilesLinesCode
45 x 2 aws-iot-mitigationaction...ws/iot/mitigationaction
aws-iot-scheduledaudit/s...naws/iot/scheduledaudit
Translator.java
Translator.java
32:99 (32%)
31:98 (81%)
view
45 x 2 aws-iot-custommetric/src...zonaws/iot/custommetric
aws-iot-scheduledaudit/s...naws/iot/scheduledaudit
Translator.java
Translator.java
31:94 (81%)
31:98 (81%)
view
45 x 2 aws-iot-custommetric/src...zonaws/iot/custommetric
aws-iot-mitigationaction...ws/iot/mitigationaction
Translator.java
Translator.java
31:94 (81%)
32:99 (32%)
view
43 x 2 aws-iot-custommetric/src...zonaws/iot/custommetric
aws-iot-dimension/src/ma...amazonaws/iot/dimension
Translator.java
Translator.java
34:94 (78%)
27:92 (78%)
view
43 x 2 aws-iot-dimension/src/ma...amazonaws/iot/dimension
aws-iot-mitigationaction...ws/iot/mitigationaction
UpdateHandler.java
UpdateHandler.java
76:145 (55%)
93:162 (48%)
view
43 x 2 aws-iot-mitigationaction...ws/iot/mitigationaction
aws-iot-scheduledaudit/s...naws/iot/scheduledaudit
UpdateHandler.java
UpdateHandler.java
93:162 (48%)
89:158 (49%)
view
43 x 2 aws-iot-custommetric/src...zonaws/iot/custommetric
aws-iot-scheduledaudit/s...naws/iot/scheduledaudit
UpdateHandler.java
UpdateHandler.java
87:155 (51%)
89:158 (49%)
view
43 x 2 aws-iot-dimension/src/ma...amazonaws/iot/dimension
aws-iot-mitigationaction...ws/iot/mitigationaction
Translator.java
Translator.java
27:92 (78%)
35:99 (31%)
view
43 x 2 aws-iot-custommetric/src...zonaws/iot/custommetric
aws-iot-dimension/src/ma...amazonaws/iot/dimension
UpdateHandler.java
UpdateHandler.java
87:155 (51%)
76:145 (55%)
view
43 x 2 aws-iot-dimension/src/ma...amazonaws/iot/dimension
aws-iot-scheduledaudit/s...naws/iot/scheduledaudit
UpdateHandler.java
UpdateHandler.java
76:145 (55%)
89:158 (49%)
view
43 x 2 aws-iot-dimension/src/ma...amazonaws/iot/dimension
aws-iot-scheduledaudit/s...naws/iot/scheduledaudit
Translator.java
Translator.java
27:92 (78%)
34:98 (78%)
view
43 x 2 aws-iot-custommetric/src...zonaws/iot/custommetric
aws-iot-mitigationaction...ws/iot/mitigationaction
UpdateHandler.java
UpdateHandler.java
87:155 (51%)
93:162 (48%)
view
35 x 2 aws-iot-scheduledaudit/s...naws/iot/scheduledaudit
aws-iot-securityprofile/...aws/iot/securityprofile
Translator.java
Translator.java
33:83 (63%)
329:380 (13%)
view
35 x 2 aws-iot-mitigationaction...ws/iot/mitigationaction
aws-iot-securityprofile/...aws/iot/securityprofile
Translator.java
Translator.java
34:84 (25%)
329:380 (13%)
view
35 x 2 aws-iot-custommetric/src...zonaws/iot/custommetric
aws-iot-securityprofile/...aws/iot/securityprofile
Translator.java
Translator.java
33:79 (63%)
329:380 (13%)
view
34 x 2 aws-iot-dimension/src/ma...amazonaws/iot/dimension
aws-iot-securityprofile/...aws/iot/securityprofile
Translator.java
Translator.java
27:77 (61%)
330:380 (13%)
view
25 x 2 aws-iot-resourcespecific...resourcespecificlogging
aws-iot-resourcespecific...resourcespecificlogging
DeleteHandler.java
UpdateHandler.java
23:62 (65%)
24:63 (59%)
view
25 x 2 aws-iot-mitigationaction
aws-iot-securityprofile
resource-role.yaml
resource-role.yaml
1:26 (65%)
1:26 (60%)
view
25 x 2 aws-iot-jobtemplate
aws-iot-securityprofile
resource-role.yaml
resource-role.yaml
1:26 (71%)
1:26 (60%)
view
25 x 2 aws-iot-jobtemplate
aws-iot-mitigationaction
resource-role.yaml
resource-role.yaml
1:26 (71%)
1:26 (65%)
view
Duplicated Units
The list of top 9 duplicated units.
See data for all 9 unit duplicates...
Size#FoldersFilesLinesCode
41 x 4 aws-iot-mitigationaction...ws/iot/mitigationaction
aws-iot-custommetric/src...zonaws/iot/custommetric
aws-iot-scheduledaudit/s...naws/iot/scheduledaudit
aws-iot-dimension/src/ma...amazonaws/iot/dimension
UpdateHandler.java
UpdateHandler.java
UpdateHandler.java
UpdateHandler.java
94:153 
88:146 
90:149 
77:136 
view
24 x 5 aws-iot-mitigationaction...ws/iot/mitigationaction
aws-iot-custommetric/src...zonaws/iot/custommetric
aws-iot-securityprofile/...aws/iot/securityprofile
aws-iot-scheduledaudit/s...naws/iot/scheduledaudit
aws-iot-dimension/src/ma...amazonaws/iot/dimension
Translator.java
Translator.java
Translator.java
Translator.java
Translator.java
51:86 
50:81 
345:382 
50:85 
42:79 
view
19 x 4 aws-iot-mitigationaction...ws/iot/mitigationaction
aws-iot-custommetric/src...zonaws/iot/custommetric
aws-iot-scheduledaudit/s...naws/iot/scheduledaudit
aws-iot-dimension/src/ma...amazonaws/iot/dimension
HandlerUtils.java
HandlerUtils.java
HandlerUtils.java
HandlerUtils.java
15:37 
15:36 
15:36 
18:39 
view
13 x 8 aws-iot-mitigationaction...ws/iot/mitigationaction
aws-iot-custommetric/src...zonaws/iot/custommetric
aws-iot-securityprofile/...aws/iot/securityprofile
aws-iot-logging/src/main...ware/amazon/iot/logging
aws-iot-resourcespecific...resourcespecificlogging
aws-iot-scheduledaudit/s...naws/iot/scheduledaudit
aws-iot-dimension/src/ma...amazonaws/iot/dimension
aws-iot-accountauditconf...countauditconfiguration
Translator.java
Translator.java
Translator.java
ExceptionTranslator.java
ExceptionTranslator.java
Translator.java
Translator.java
Translator.java
34:48 
33:47 
329:343 
20:34 
21:35 
33:47 
26:40 
21:35 
view
12 x 5 aws-iot-certificate/src/...azonaws/iot/certificate
aws-iot-policy/src/main/...om/amazonaws/iot/policy
aws-iot-provisioningtemp...ot/provisioningtemplate
aws-iot-domainconfigurat...iot/domainconfiguration
aws-iot-authorizer/src/m...mazonaws/iot/authorizer
ClientBuilder.java
ClientBuilder.java
ClientBuilder.java
ClientBuilder.java
ClientBuilder.java
10:23 
10:23 
10:23 
10:23 
10:23 
view
11 x 2 aws-iot-policy/src/main/...om/amazonaws/iot/policy
aws-iot-authorizer/src/m...mazonaws/iot/authorizer
BaseHandlerStd.java
BaseHandlerStd.java
18:30 
18:30 
view
10 x 4 aws-iot-mitigationaction...ws/iot/mitigationaction
aws-iot-custommetric/src...zonaws/iot/custommetric
aws-iot-scheduledaudit/s...naws/iot/scheduledaudit
aws-iot-dimension/src/ma...amazonaws/iot/dimension
Translator.java
Translator.java
Translator.java
Translator.java
88:100 
83:95 
87:99 
81:93 
view
7 x 5 aws-iot-mitigationaction...ws/iot/mitigationaction
aws-iot-custommetric/src...zonaws/iot/custommetric
aws-iot-securityprofile/...aws/iot/securityprofile
aws-iot-scheduledaudit/s...naws/iot/scheduledaudit
aws-iot-dimension/src/ma...amazonaws/iot/dimension
Configuration.java
Configuration.java
Configuration.java
Configuration.java
Configuration.java
13:20 
13:20 
13:20 
13:20 
13:20 
view
7 x 3 aws-iot-provisioningtemp...ot/provisioningtemplate
aws-iot-domainconfigurat...iot/domainconfiguration
aws-iot-authorizer/src/m...mazonaws/iot/authorizer
CreateHandler.java
CreateHandler.java
Translator.java
87:94 
60:67 
111:118 
view