aws / aws-encryption-sdk-java
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
  • 12% duplication:
    • 6,604 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 810 duplicated lines
  • 73 duplicates
system12% (810 lines)
Duplication per Extension
java8% (493 lines)
yml35% (317 lines)
Duplication per Component (primary)
src/main/java/com/amazonaws/encryptionsdk13% (156 lines)
cfn33% (120 lines)
src/main/java/com/amazonaws/encryptionsdk/model11% (112 lines)
src/main/java/com/amazonaws/encryptionsdk/kms12% (109 lines)
codebuild/release31% (108 lines)
codebuild/ci45% (89 lines)
src/main/java/com/amazonaws/encryptionsdk/internal4% (84 lines)
src/main/java/com/amazonaws/encryptionsdk/jce9% (18 lines)
src/main/java/com/amazonaws/encryptionsdk/caching3% (14 lines)
src/main/java/com/amazonaws/encryptionsdk/exception0% (0 lines)
src/main/java/com/amazonaws/encryptionsdk/multi0% (0 lines)
compliance_exceptions0% (0 lines)

Duplication Between Components (50+ lines)

G codebuild/ci codebuild/ci codebuild/release codebuild/release codebuild/ci--codebuild/release 118

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 73 duplicates...
Size#FoldersFilesLinesCode
18 x 2 codebuild/ci
codebuild/release
validate-ci.yml
validate-staging.yml
21:38 (50%)
24:41 (50%)
view
16 x 2 codebuild/ci
codebuild/release
release-ci.yml
release-staging.yml
20:36 (27%)
21:37 (39%)
view
15 x 2 src/main/java/com/amazonaws/encryptionsdk/model
src/main/java/com/amazonaws/encryptionsdk/model
DecryptionMaterialsRequest.java
EncryptionMaterials.java
66:90 (30%)
138:162 (15%)
view
14 x 2 src/main/java/com/amazonaws/encryptionsdk
src/main/java/com/amazonaws/encryptionsdk
CryptoAlgorithm.java
CryptoAlgorithm.java
201:216 (4%)
235:250 (4%)
view
13 x 2 cfn
cfn
ci_cd.yml
ci_cd.yml
74:86 (4%)
119:131 (4%)
view
13 x 2 src/main/java/com/amazonaws/encryptionsdk/kms
src/main/java/com/amazonaws/encryptionsdk/kms
AwsKmsMrkAwareMasterKeyProvider.java
KmsMasterKeyProvider.java
318:334 (4%)
194:210 (4%)
view
12 x 2 src/main/java/com/amazonaws/encryptionsdk
src/main/java/com/amazonaws/encryptionsdk
CryptoAlgorithm.java
CryptoAlgorithm.java
188:199 (3%)
218:229 (3%)
view
12 x 2 src/main/java/com/amazonaws/encryptionsdk/internal
src/main/java/com/amazonaws/encryptionsdk/internal
DecryptionHandler.java
DecryptionHandler.java
171:183 (3%)
206:218 (3%)
view
11 x 2 src/main/java/com/amazonaws/encryptionsdk/kms
src/main/java/com/amazonaws/encryptionsdk/kms
AwsKmsMrkAwareMasterKey.java
KmsMasterKey.java
125:149 (6%)
111:127 (9%)
view
11 x 2 src/main/java/com/amazonaws/encryptionsdk
src/main/java/com/amazonaws/encryptionsdk
CryptoAlgorithm.java
CryptoAlgorithm.java
176:186 (3%)
204:214 (3%)
view
11 x 2 src/main/java/com/amazonaws/encryptionsdk
src/main/java/com/amazonaws/encryptionsdk
CryptoAlgorithm.java
CryptoAlgorithm.java
176:186 (3%)
238:248 (3%)
view
11 x 2 codebuild/ci
codebuild/release
validate-ci.yml
validate-staging.yml
8:19 (30%)
11:22 (30%)
view
10 x 2 cfn
cfn
ci_cd.yml
ci_cd.yml
57:66 (3%)
102:111 (3%)
view
10 x 2 src/main/java/com/amazonaws/encryptionsdk/model
src/main/java/com/amazonaws/encryptionsdk/model
CiphertextHeaders.java
CiphertextHeaders.java
622:635 (2%)
641:654 (2%)
view
10 x 2 src/main/java/com/amazonaws/encryptionsdk/internal
src/main/java/com/amazonaws/encryptionsdk/internal
FrameEncryptionHandler.java
FrameEncryptionHandler.java
157:181 (7%)
220:244 (7%)
view
9 x 2 src/main/java/com/amazonaws/encryptionsdk/jce
src/main/java/com/amazonaws/encryptionsdk/jce
JceMasterKey.java
KeyStoreProvider.java
151:160 (9%)
175:183 (8%)
view
8 x 2 cfn
cfn
ci_cd.yml
ci_cd.yml
299:306 (2%)
323:330 (2%)
view
8 x 2 cfn
cfn
ci_cd.yml
ci_cd.yml
172:179 (2%)
197:204 (2%)
view
8 x 2 codebuild/release
codebuild/release
release-staging.yml
validate-staging.yml
4:12 (19%)
4:12 (22%)
view
8 x 2 cfn
cfn
ci_cd.yml
ci_cd.yml
172:179 (2%)
299:306 (2%)
view
Duplicated Units
The list of top 3 duplicated units.
See data for all 3 unit duplicates...
Size#FoldersFilesLinesCode
16 x 2 src/main/java/com/amazonaws/encryptionsdk/kms
src/main/java/com/amazonaws/encryptionsdk/kms
AwsKmsMrkAwareMasterKeyProvider.java
KmsMasterKeyProvider.java
314:335 
190:211 
view
8 x 2 src/main/java/com/amazonaws/encryptionsdk/model
src/main/java/com/amazonaws/encryptionsdk/model
CipherBlockHeaders.java
CipherFrameHeaders.java
140:148 
142:150 
view
6 x 3 src/main/java/com/amazon...encryptionsdk/exception
src/main/java/com/amazon...encryptionsdk/exception
src/main/java/com/amazon...encryptionsdk/exception
AwsCryptoException.java
NoSuchMasterKeyException.java
UnsupportedProviderException.java
52:58 
60:66 
60:66 
view