Apache Commons Lang
Duplication

Intro
  • For duplication, we look at places in code where there are six 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
  • 11% duplication:
    • 21,820 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,483 duplicated lines
  • 86 duplicates
system11% (2,483 lines)
Duplication per Extension
java11% (2,483 lines)
Duplication per Component (primary)
lang316% (1,455 lines)
lang3/builder19% (525 lines)
lang3/text4% (133 lines)
lang3/time3% (90 lines)
lang3/mutable11% (73 lines)
lang3/tuple25% (60 lines)
lang3/function8% (45 lines)
lang3/exception11% (44 lines)
lang3/math4% (38 lines)
lang3/stream27% (20 lines)
lang3/reflect0% (0 lines)
lang3/arch0% (0 lines)
lang3/concurrent0% (0 lines)
lang3/compare0% (0 lines)
lang3/event0% (0 lines)

Duplication Between Components (50+ lines)

G lang3 lang3 lang3/function lang3/function lang3--lang3/function 90

Download: SVG DOT (open online Graphviz editor)

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
Size#FoldersFilesLinesCode
27 x 9 src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
6960:6995 (1%)
7039:7074 (1%)
7118:7153 (1%)
7197:7232 (1%)
7276:7311 (1%)
7355:7390 (1%)
7434:7469 (1%)
7515:7550 (1%)
7594:7629 (1%)
view
26 x 2 src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3/function
Functions.java
Failable.java
636:691 (19%)
506:560 (21%)
view
22 x 2 src/main/java/org/apache/commons/lang3/exception
src/main/java/org/apache/commons/lang3/exception
ContextedException.java
ContextedRuntimeException.java
191:254 (45%)
191:254 (45%)
view
16 x 8 src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
CompareToBuilder.java
CompareToBuilder.java
CompareToBuilder.java
CompareToBuilder.java
CompareToBuilder.java
CompareToBuilder.java
CompareToBuilder.java
CompareToBuilder.java
701:722 (5%)
741:762 (5%)
781:802 (5%)
821:842 (5%)
861:882 (5%)
901:922 (5%)
941:962 (5%)
981:1002 (5%)
view
16 x 2 src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
CompareToBuilder.java
EqualsBuilder.java
444:459 (5%)
672:687 (4%)
view
14 x 2 src/main/java/org/apache/commons/lang3/stream
src/main/java/org/apache/commons/lang3
Streams.java
Streams.java
87:104 (19%)
464:481 (18%)
view
13 x 9 src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
EqualsBuilder.java
EqualsBuilder.java
EqualsBuilder.java
EqualsBuilder.java
EqualsBuilder.java
EqualsBuilder.java
EqualsBuilder.java
EqualsBuilder.java
EqualsBuilder.java
841:858 (3%)
872:889 (3%)
903:920 (3%)
934:951 (3%)
965:982 (3%)
996:1013 (3%)
1027:1044 (3%)
1058:1075 (3%)
1089:1106 (3%)
view
13 x 2 src/main/java/org/apache/commons/lang3/mutable
src/main/java/org/apache/commons/lang3/mutable
MutableByte.java
MutableShort.java
289:329 (13%)
289:329 (13%)
view
13 x 2 src/main/java/org/apache/commons/lang3/tuple
src/main/java/org/apache/commons/lang3/tuple
MutableTriple.java
ImmutableTriple.java
100:128 (39%)
118:146 (44%)
view
12 x 4 src/main/java/org/apache/commons/lang3/text
src/main/java/org/apache/commons/lang3/text
src/main/java/org/apache/commons/lang3/text
src/main/java/org/apache/commons/lang3/text
StrBuilder.java
StrBuilder.java
StrBuilder.java
StrBuilder.java
597:612 (1%)
715:730 (1%)
766:781 (1%)
815:830 (1%)
view
12 x 3 src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
StringUtils.java
StringUtils.java
StringUtils.java
7966:7980 (<1%)
7987:8001 (<1%)
8007:8021 (<1%)
view
12 x 3 src/main/java/org/apache/commons/lang3/mutable
src/main/java/org/apache/commons/lang3/mutable
src/main/java/org/apache/commons/lang3/mutable
MutableInt.java
MutableShort.java
MutableByte.java
287:319 (13%)
297:329 (12%)
297:329 (12%)
view
12 x 2 src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3/function
Functions.java
Failable.java
491:531 (8%)
362:403 (9%)
view
11 x 7 src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
StringUtils.java
StringUtils.java
StringUtils.java
StringUtils.java
StringUtils.java
StringUtils.java
StringUtils.java
3901:3914 (<1%)
3981:3994 (<1%)
4061:4074 (<1%)
4141:4154 (<1%)
4221:4234 (<1%)
4510:4523 (<1%)
4762:4775 (<1%)
view
11 x 3 src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
Conversion.java
Conversion.java
Conversion.java
1292:1304 (1%)
1331:1343 (1%)
1370:1382 (1%)
view
11 x 2 src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
StringUtils.java
StringUtils.java
4585:4599 (<1%)
4677:4695 (<1%)
view
10 x 8 src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
1757:1774 (<1%)
1808:1825 (<1%)
1859:1876 (<1%)
1931:1948 (<1%)
2024:2041 (<1%)
2075:2092 (<1%)
2126:2143 (<1%)
2228:2245 (<1%)
view
10 x 5 src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
3820:3833 (<1%)
3867:3880 (<1%)
4056:4069 (<1%)
4101:4114 (<1%)
4199:4212 (<1%)
view
10 x 3 src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
3775:3788 (<1%)
3929:3942 (<1%)
4011:4024 (<1%)
view
10 x 2 src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
ToStringStyle.java
ToStringStyle.java
2432:2447 (1%)
2480:2495 (1%)
view
Most Frequent Duplicates
The list of 20 most frequently found duplicates.
Size#FoldersFilesLinesCode
6 x 9 src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
2747:2754 (<1%)
2789:2796 (<1%)
2831:2838 (<1%)
2873:2880 (<1%)
2915:2922 (<1%)
2957:2964 (<1%)
2999:3006 (<1%)
3041:3048 (<1%)
3096:3103 (<1%)
view
13 x 9 src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
EqualsBuilder.java
EqualsBuilder.java
EqualsBuilder.java
EqualsBuilder.java
EqualsBuilder.java
EqualsBuilder.java
EqualsBuilder.java
EqualsBuilder.java
EqualsBuilder.java
841:858 (3%)
872:889 (3%)
903:920 (3%)
934:951 (3%)
965:982 (3%)
996:1013 (3%)
1027:1044 (3%)
1058:1075 (3%)
1089:1106 (3%)
view
6 x 9 src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
6532:6537 (<1%)
6579:6584 (<1%)
6626:6631 (<1%)
6673:6678 (<1%)
6720:6725 (<1%)
6767:6772 (<1%)
6814:6819 (<1%)
6865:6870 (<1%)
6912:6917 (<1%)
view
8 x 9 src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
ToStringStyle.java
ToStringStyle.java
ToStringStyle.java
ToStringStyle.java
ToStringStyle.java
ToStringStyle.java
ToStringStyle.java
ToStringStyle.java
ToStringStyle.java
894:906 (1%)
995:1007 (1%)
1056:1068 (1%)
1117:1129 (1%)
1178:1190 (1%)
1239:1251 (1%)
1300:1312 (1%)
1361:1373 (1%)
1422:1434 (1%)
view
6 x 9 src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
2735:2742 (<1%)
2777:2784 (<1%)
2819:2826 (<1%)
2861:2868 (<1%)
2903:2910 (<1%)
2945:2952 (<1%)
2987:2994 (<1%)
3029:3036 (<1%)
3081:3088 (<1%)
view
27 x 9 src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
6960:6995 (1%)
7039:7074 (1%)
7118:7153 (1%)
7197:7232 (1%)
7276:7311 (1%)
7355:7390 (1%)
7434:7469 (1%)
7515:7550 (1%)
7594:7629 (1%)
view
16 x 8 src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
CompareToBuilder.java
CompareToBuilder.java
CompareToBuilder.java
CompareToBuilder.java
CompareToBuilder.java
CompareToBuilder.java
CompareToBuilder.java
CompareToBuilder.java
701:722 (5%)
741:762 (5%)
781:802 (5%)
821:842 (5%)
861:882 (5%)
901:922 (5%)
941:962 (5%)
981:1002 (5%)
view
10 x 8 src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
1757:1774 (<1%)
1808:1825 (<1%)
1859:1876 (<1%)
1931:1948 (<1%)
2024:2041 (<1%)
2075:2092 (<1%)
2126:2143 (<1%)
2228:2245 (<1%)
view
6 x 8 src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
MultilineRecursiveToStringStyle.java
MultilineRecursiveToStringStyle.java
MultilineRecursiveToStringStyle.java
MultilineRecursiveToStringStyle.java
MultilineRecursiveToStringStyle.java
MultilineRecursiveToStringStyle.java
MultilineRecursiveToStringStyle.java
MultilineRecursiveToStringStyle.java
130:137 (6%)
148:155 (6%)
157:164 (6%)
166:173 (6%)
175:182 (6%)
184:191 (6%)
193:200 (6%)
202:209 (6%)
view
8 x 8 src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
7880:7890 (<1%)
7920:7930 (<1%)
7960:7970 (<1%)
8000:8010 (<1%)
8040:8050 (<1%)
8080:8090 (<1%)
8120:8130 (<1%)
8160:8170 (<1%)
view
6 x 8 src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
src/main/java/org/apache/commons/lang3/builder
ToStringStyle.java
ToStringStyle.java
ToStringStyle.java
ToStringStyle.java
ToStringStyle.java
ToStringStyle.java
ToStringStyle.java
ToStringStyle.java
1020:1027 (<1%)
1081:1088 (<1%)
1142:1149 (<1%)
1203:1210 (<1%)
1264:1271 (<1%)
1325:1332 (<1%)
1386:1393 (<1%)
1447:1454 (<1%)
view
7 x 8 src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
6030:6038 (<1%)
6085:6093 (<1%)
6140:6148 (<1%)
6195:6203 (<1%)
6250:6258 (<1%)
6305:6313 (<1%)
6360:6368 (<1%)
6415:6423 (<1%)
view
8 x 8 src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
8287:8297 (<1%)
8358:8368 (<1%)
8428:8438 (<1%)
8498:8508 (<1%)
8568:8578 (<1%)
8639:8649 (<1%)
8710:8720 (<1%)
8782:8792 (<1%)
view
11 x 7 src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
StringUtils.java
StringUtils.java
StringUtils.java
StringUtils.java
StringUtils.java
StringUtils.java
StringUtils.java
3901:3914 (<1%)
3981:3994 (<1%)
4061:4074 (<1%)
4141:4154 (<1%)
4221:4234 (<1%)
4510:4523 (<1%)
4762:4775 (<1%)
view
6 x 5 src/main/java/org/apache/commons/lang3/mutable
src/main/java/org/apache/commons/lang3/mutable
src/main/java/org/apache/commons/lang3/mutable
src/main/java/org/apache/commons/lang3/mutable
src/main/java/org/apache/commons/lang3/mutable
MutableLong.java
MutableFloat.java
MutableInt.java
MutableByte.java
MutableShort.java
307:319 (6%)
324:336 (6%)
307:319 (6%)
317:329 (6%)
317:329 (6%)
view
8 x 5 src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
2325:2336 (<1%)
2372:2383 (<1%)
2558:2569 (<1%)
2603:2614 (<1%)
2701:2712 (<1%)
view
10 x 5 src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
src/main/java/org/apache/commons/lang3
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
ArrayUtils.java
3820:3833 (<1%)
3867:3880 (<1%)
4056:4069 (<1%)
4101:4114 (<1%)
4199:4212 (<1%)
view
9 x 4 src/main/java/org/apache/commons/lang3/mutable
src/main/java/org/apache/commons/lang3/mutable
src/main/java/org/apache/commons/lang3/mutable
src/main/java/org/apache/commons/lang3/mutable
MutableByte.java
MutableLong.java
MutableInt.java
MutableShort.java
307:329 (9%)
297:319 (10%)
297:319 (10%)
307:329 (9%)
view
12 x 4 src/main/java/org/apache/commons/lang3/text
src/main/java/org/apache/commons/lang3/text
src/main/java/org/apache/commons/lang3/text
src/main/java/org/apache/commons/lang3/text
StrBuilder.java
StrBuilder.java
StrBuilder.java
StrBuilder.java
597:612 (1%)
715:730 (1%)
766:781 (1%)
815:830 (1%)
view
6 x 4 src/main/java/org/apache/commons/lang3/time
src/main/java/org/apache/commons/lang3/time
src/main/java/org/apache/commons/lang3/time
src/main/java/org/apache/commons/lang3/time
FastDatePrinter.java
FastDatePrinter.java
FastDatePrinter.java
FastDatePrinter.java
1174:1189 (<1%)
1219:1234 (<1%)
1258:1267 (<1%)
1285:1294 (<1%)
view