awslabs / disco
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
  • 3% duplication:
    • 4,525 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 145 duplicated lines
  • 13 duplicates
system3% (145 lines)
Duplication per Extension
java2% (119 lines)
kts7% (26 lines)
Duplication per Component (primary)
disco-java-agent2% (90 lines)
disco-java-agent-sql24% (31 lines)
disco-java-agent-aws5% (18 lines)
disco-java-agent-web2% (6 lines)
disco-toolkit-bom0% (0 lines)
disco-java-agent-example0% (0 lines)
disco-java-agent-example-test0% (0 lines)
ROOT0% (0 lines)
disco-java-agent-instrumentation-preprocess0% (0 lines)
disco-java-agent-example-injector-test0% (0 lines)
Longest Duplicates
The list of 13 longest duplicates.
See data for all 13 duplicates...
Size#FoldersFilesLinesCode
11 x 2 disco-java-agent-aws/src...mazon/disco/agent/awsv1
disco-java-agent-sql/src.../amazon/disco/agent/sql
AWSClientInvokeInterceptor.java
ConnectionInterceptor.java
100:116 (22%)
84:104 (25%)
view
9 x 2 disco-java-agent/disco-j...nt/integtest/concurrent
disco-java-agent/disco-j...nt/integtest/concurrent
ThreadCreationTests.java
ThreadCreationTests.java
40:54 (20%)
66:80 (20%)
view
9 x 2 disco-java-agent/disco-j...ent/concurrent/decorate
disco-java-agent/disco-j...ent/concurrent/decorate
DecoratedRunnable.java
DecoratedRunnableScheduledFuture.java
56:64 (45%)
64:72 (20%)
view
7 x 2 disco-java-agent-aws/disco-java-agent-aws-plugin
disco-java-agent-sql/disco-java-agent-sql-plugin
build.gradle.kts
build.gradle.kts
16:24 (21%)
16:24 (77%)
view
7 x 2 disco-java-agent-aws/src...mazon/disco/agent/awsv1
disco-java-agent-sql/src.../amazon/disco/agent/sql
AWSClientInvokeInterceptor.java
JdbcExecuteInterceptor.java
100:112 (14%)
115:131 (11%)
view
7 x 2 disco-java-agent-sql/src.../amazon/disco/agent/sql
disco-java-agent-sql/src.../amazon/disco/agent/sql
ConnectionInterceptor.java
JdbcExecuteInterceptor.java
84:100 (15%)
115:131 (11%)
view
6 x 2 disco-java-agent/disco-j...nt/integtest/concurrent
disco-java-agent/disco-j...nt/integtest/concurrent
ThreadSubclassCreationTests.java
ThreadSubclassCreationTests.java
53:59 (11%)
71:77 (11%)
view
6 x 2 disco-java-agent/disco-j.../disco/agent/concurrent
disco-java-agent/disco-j.../disco/agent/concurrent
ForkJoinTaskInterceptor.java
ForkJoinTaskInterceptor.java
94:105 (10%)
121:133 (10%)
view
6 x 2 disco-java-agent/disco-j...gtest/concurrent/source
disco-java-agent/disco-j...gtest/concurrent/source
TestCallableFactory.java
TestRunnableFactory.java
43:48 (6%)
50:55 (5%)
view
6 x 2 disco-java-agent/disco-j...nt/integtest/concurrent
disco-java-agent/disco-j...nt/integtest/concurrent
ThreadCreationTests.java
ThreadSubclassCreationTests.java
43:50 (13%)
30:37 (11%)
view
6 x 2 disco-java-agent/disco-j...nt/integtest/concurrent
disco-java-agent/disco-j...nt/integtest/concurrent
ThreadCreationTests.java
ThreadSubclassCreationTests.java
69:76 (13%)
30:37 (11%)
view
6 x 2 disco-java-agent/disco-j...nt/integtest/concurrent
disco-java-agent/disco-j...nt/integtest/concurrent
ExecutorServiceTests.java
ExecutorServiceTests.java
79:85 (2%)
102:108 (2%)
view
6 x 2 disco-java-agent-sql
disco-java-agent-web
build.gradle.kts
build.gradle.kts
16:23 (85%)
16:23 (75%)
view
Duplicated Units
The list of top 3 duplicated units.
See data for all 3 unit duplicates...
Size#FoldersFilesLinesCode
9 x 2 disco-java-agent/disco-j...ent/concurrent/decorate
disco-java-agent/disco-j...ent/concurrent/decorate
DecoratedRunnable.java
DecoratedRunnableScheduledFuture.java
57:66 
65:74 
view
7 x 2 disco-java-agent/disco-j...sco/agent/reflect/event
disco-java-agent/disco-j...sco/agent/reflect/event
EventBus.java
EventBus.java
41:48 
54:61 
view
6 x 2 disco-java-agent/disco-j...gtest/concurrent/source
disco-java-agent/disco-j...gtest/concurrent/source
TestRunnableFactory.java
TestCallableFactory.java
51:57 
44:50 
view