Duplication Overall
- 59% duplication:
- 21,370 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
- 12,716 duplicated lines
- 2,451 duplicates
Duplication per Extension
Duplication per Component (primary)
Duplication Between Components (50+ lines)
flowchart TB
n0["doc"]
n1["lib"]
n0 ---|"1993"| n1
classDef default fill:#00b2ee,stroke:#ffffff,color:#000000;
classDef highlighted fill:#00b2ee,stroke:#ffffff,color:#000000;
linkStyle 0 stroke:#DC143CFF,stroke-width:10px
Download:
Mermaid (.mmd)
(open online Mermaid editor)
2D force graph
|
3D force graph
Show more details on duplication between components...
From Component
--> To Component
Duplicated
Lines
File Pairs
Details
doc (9%)
  --> lib (27%)
1993
35 file pairs
details...
flowchart TB
n0["doc"]
n1["lib"]
n0 ---|"1993"| n1
classDef default fill:#00b2ee,stroke:#ffffff,color:#000000;
classDef highlighted fill:#00b2ee,stroke:#ffffff,color:#000000;
linkStyle 0 stroke:#DC143CFF,stroke-width:10px
Show more details on duplication between components...
| From Component --> To Component |
Duplicated Lines |
File Pairs | Details |
|---|---|---|---|
| doc (9%)   --> lib (27%) |
1993 | 35 file pairs | details... |
Longest Duplicates
The list of 50 longest duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 436 | x 2 | performance/models/legacyperformance/models/legacy | 1359:1879 (8%)2147:2667 (8%) | view | |
| 150 | x 2 | performance/models/legacyperformance/models/legacy | 4736:4917 (2%)5088:5269 (2%) | view | |
| 149 | x 2 | docdoc | 156:541 (56%)172:557 (53%) | view | |
| 135 | x 2 | docdoc | 42:410 (79%)27:395 (87%) | view | |
| 135 | x 2 | docdoc | 42:410 (79%)63:431 (71%) | view | |
| 135 | x 2 | docdoc | 63:431 (71%)27:395 (87%) | view | |
| 135 | x 2 | docdoc | 173:541 (50%)234:602 (42%) | view | |
| 135 | x 2 | docdoc | 189:557 (48%)234:602 (42%) | view | |
| 134 | x 2 | docdoc | 52:419 (76%)72:439 (70%) | view | |
| 134 | x 2 | docdoc | 43:410 (79%)66:433 (70%) | view | |
| 134 | x 2 | docdoc | 72:439 (70%)24:391 (89%) | view | |
| 134 | x 2 | docdoc | 32:399 (84%)28:395 (87%) | view | |
| 134 | x 2 | docdoc | 88:455 (66%)70:437 (71%) | view | |
| 134 | x 2 | docdoc | 52:419 (76%)24:391 (89%) | view | |
| 134 | x 2 | docdoc | 190:557 (47%)228:595 (40%) | view | |
| 134 | x 2 | docdoc | 21:388 (91%)29:396 (86%) | view | |
| 134 | x 2 | docdoc | 32:399 (84%)21:388 (91%) | view | |
| 134 | x 2 | docdoc | 146:513 (53%)235:602 (41%) | view | |
| 134 | x 2 | docdoc | 21:388 (91%)28:395 (87%) | view | |
| 134 | x 2 | docdoc | 174:541 (50%)261:628 (39%) | view | |
| 134 | x 2 | docdoc | 32:399 (84%)66:433 (70%) | view | |
| 134 | x 2 | docdoc | 70:437 (71%)235:602 (41%) | view | |
| 134 | x 2 | docdoc | 21:388 (91%)24:391 (89%) | view | |
| 134 | x 2 | docdoc | 174:541 (50%)253:620 (39%) | view | |
| 134 | x 2 | docdoc | 43:410 (79%)32:399 (84%) | view | |
| 134 | x 2 | docdoc | 66:433 (70%)28:395 (87%) | view | |
| 134 | x 2 | docdoc | 88:455 (66%)235:602 (41%) | view | |
| 134 | x 2 | docdoc | 24:391 (89%)29:396 (86%) | view | |
| 134 | x 2 | docdoc | 66:433 (70%)21:388 (91%) | view | |
| 134 | x 2 | docdoc | 70:437 (71%)146:513 (53%) | view | |
| 134 | x 2 | docdoc | 253:620 (39%)261:628 (39%) | view | |
| 134 | x 2 | docdoc | 88:455 (66%)146:513 (53%) | view | |
| 134 | x 2 | docdoc | 43:410 (79%)21:388 (91%) | view | |
| 134 | x 2 | docdoc | 64:431 (70%)66:433 (70%) | view | |
| 134 | x 2 | docdoc | 21:388 (91%)24:391 (89%) | view | |
| 134 | x 2 | docdoc | 52:419 (76%)21:388 (91%) | view | |
| 134 | x 2 | docdoc | 228:595 (40%)261:628 (39%) | view | |
| 134 | x 2 | docdoc | 21:388 (91%)72:439 (70%) | view | |
| 134 | x 2 | docdoc | 174:541 (50%)228:595 (40%) | view | |
| 134 | x 2 | docdoc | 24:391 (89%)29:396 (86%) | view | |
| 134 | x 2 | docdoc | 52:419 (76%)29:396 (86%) | view | |
| 134 | x 2 | docdoc | 190:557 (47%)261:628 (39%) | view | |
| 134 | x 2 | docdoc | 72:439 (70%)29:396 (86%) | view | |
| 134 | x 2 | docdoc | 32:399 (84%)64:431 (70%) | view | |
| 134 | x 2 | docdoc | 190:557 (47%)253:620 (39%) | view | |
| 134 | x 2 | docdoc | 24:391 (89%)24:391 (89%) | view | |
| 134 | x 2 | docdoc | 52:419 (76%)24:391 (89%) | view | |
| 134 | x 2 | docdoc | 72:439 (70%)24:391 (89%) | view | |
| 134 | x 2 | docdoc | 64:431 (70%)21:388 (91%) | view | |
| 134 | x 2 | docdoc | 228:595 (40%)253:620 (39%) | view |
Most Frequent Duplicates
The list of 50 most frequently found duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 192:203 (3%)158:169 (4%)363:374 (3%)165:176 (3%)169:180 (3%)165:176 (4%)311:322 (2%)202:213 (3%)201:212 (3%)276:287 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 295:311 (3%)261:277 (4%)466:482 (3%)268:284 (3%)272:288 (3%)268:284 (4%)414:430 (2%)305:321 (3%)304:320 (3%)379:395 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 207:221 (3%)173:187 (4%)378:392 (3%)180:194 (3%)184:198 (3%)180:194 (4%)326:340 (2%)217:231 (3%)216:230 (3%)291:305 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 508:518 (3%)310:320 (3%)337:347 (3%)303:313 (4%)314:324 (3%)310:320 (4%)456:466 (2%)347:357 (3%)346:356 (3%)421:431 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 576:585 (3%)378:387 (3%)405:414 (3%)371:380 (4%)382:391 (3%)378:387 (4%)524:533 (2%)415:424 (3%)414:423 (3%)489:498 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 131:140 (2%)98:107 (3%)259:268 (3%)61:70 (3%)88:97 (3%)54:63 (4%)65:74 (3%)61:70 (4%)207:216 (2%)97:106 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 204:218 (3%)170:184 (4%)375:389 (3%)177:191 (3%)181:195 (3%)177:191 (4%)323:337 (2%)214:228 (3%)213:227 (3%)288:302 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 301:311 (3%)103:113 (3%)173:183 (2%)140:150 (3%)130:140 (3%)96:106 (4%)107:117 (3%)103:113 (4%)249:259 (2%)139:149 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 289:299 (3%)255:265 (4%)460:470 (3%)262:272 (3%)266:276 (3%)262:272 (4%)408:418 (2%)299:309 (3%)298:308 (3%)373:383 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 326:335 (3%)128:137 (3%)198:207 (2%)165:174 (3%)155:164 (3%)121:130 (4%)132:141 (3%)128:137 (4%)274:283 (2%)164:173 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 299:313 (3%)265:279 (4%)470:484 (3%)272:286 (3%)276:290 (3%)272:286 (4%)418:432 (2%)309:323 (3%)308:322 (3%)383:397 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 315:326 (3%)117:128 (3%)187:198 (2%)154:165 (3%)144:155 (3%)110:121 (4%)121:132 (3%)117:128 (4%)263:274 (2%)153:164 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 218:229 (3%)184:195 (4%)389:400 (3%)191:202 (3%)195:206 (3%)191:202 (4%)337:348 (2%)228:239 (3%)227:238 (3%)302:313 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 584:593 (3%)386:395 (3%)413:422 (3%)379:388 (4%)390:399 (3%)386:395 (4%)532:541 (2%)423:432 (3%)422:431 (3%)497:506 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 314:323 (3%)116:125 (3%)186:195 (2%)153:162 (3%)143:152 (3%)109:118 (4%)120:129 (3%)116:125 (4%)262:271 (2%)152:161 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 319:330 (3%)121:132 (3%)191:202 (2%)158:169 (3%)148:159 (3%)114:125 (4%)125:136 (3%)121:132 (4%)267:278 (2%)157:168 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 221:230 (3%)187:196 (4%)392:401 (3%)194:203 (3%)198:207 (3%)194:203 (4%)340:349 (2%)231:240 (3%)230:239 (3%)305:314 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 208:222 (3%)174:188 (4%)379:393 (3%)181:195 (3%)185:199 (3%)181:195 (4%)327:341 (2%)218:232 (3%)217:231 (3%)292:306 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 251:260 (3%)217:226 (4%)422:431 (3%)224:233 (3%)228:237 (3%)224:233 (4%)370:379 (2%)261:270 (3%)260:269 (3%)335:344 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 556:565 (3%)358:367 (3%)385:394 (3%)351:360 (4%)362:371 (3%)358:367 (4%)504:513 (2%)395:404 (3%)394:403 (3%)469:478 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 560:569 (3%)362:371 (3%)389:398 (3%)355:364 (4%)366:375 (3%)362:371 (4%)508:517 (2%)399:408 (3%)398:407 (3%)473:482 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 135:144 (2%)102:111 (3%)263:272 (3%)65:74 (3%)92:101 (3%)58:67 (4%)69:78 (3%)65:74 (4%)211:220 (2%)101:110 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 318:327 (3%)120:129 (3%)190:199 (2%)157:166 (3%)147:156 (3%)113:122 (4%)124:133 (3%)120:129 (4%)266:275 (2%)156:165 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 342:351 (3%)144:153 (3%)171:180 (3%)137:146 (4%)148:157 (3%)144:153 (4%)290:299 (2%)181:190 (3%)180:189 (3%)255:264 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 581:592 (3%)383:394 (3%)410:421 (3%)376:387 (4%)387:398 (3%)383:394 (4%)529:540 (2%)420:431 (3%)419:430 (3%)494:505 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 294:303 (3%)260:269 (4%)465:474 (3%)267:276 (3%)271:280 (3%)267:276 (4%)413:422 (2%)304:313 (3%)303:312 (3%)378:387 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 247:256 (3%)213:222 (4%)418:427 (3%)220:229 (3%)224:233 (3%)220:229 (4%)366:375 (2%)257:266 (3%)256:265 (3%)331:340 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 552:561 (3%)354:363 (3%)381:390 (3%)347:356 (4%)358:367 (3%)354:363 (4%)500:509 (2%)391:400 (3%)390:399 (3%)465:474 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 298:312 (3%)264:278 (4%)469:483 (3%)271:285 (3%)275:289 (3%)271:285 (4%)417:431 (2%)308:322 (3%)307:321 (3%)382:396 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 191:200 (3%)157:166 (4%)362:371 (3%)164:173 (3%)168:177 (3%)164:173 (4%)310:319 (2%)201:210 (3%)200:209 (3%)275:284 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 338:347 (3%)140:149 (3%)167:176 (3%)133:142 (4%)144:153 (3%)140:149 (4%)286:295 (2%)177:186 (3%)176:185 (3%)251:260 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 203:217 (3%)169:183 (4%)374:388 (3%)176:190 (3%)180:194 (3%)176:190 (4%)322:336 (2%)213:227 (3%)212:226 (3%)287:301 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 310:319 (3%)112:121 (3%)182:191 (2%)149:158 (3%)139:148 (3%)105:114 (4%)116:125 (3%)112:121 (4%)258:267 (2%)148:157 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 132:143 (2%)99:110 (3%)260:271 (3%)62:73 (3%)89:100 (3%)55:66 (4%)66:77 (3%)62:73 (4%)208:219 (2%)98:109 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 549:557 (3%)351:359 (3%)378:386 (3%)344:352 (4%)355:363 (3%)351:359 (4%)497:505 (2%)388:396 (3%)387:395 (3%)462:470 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 335:346 (3%)137:148 (3%)164:175 (3%)130:141 (4%)141:152 (3%)137:148 (4%)283:294 (2%)174:185 (3%)173:184 (3%)248:259 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 307:318 (3%)109:120 (3%)179:190 (2%)146:157 (3%)136:147 (3%)102:113 (4%)113:124 (3%)109:120 (4%)255:266 (2%)145:156 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 246:255 (3%)212:221 (4%)417:426 (3%)219:228 (3%)223:232 (3%)219:228 (4%)365:374 (2%)256:265 (3%)255:264 (3%)330:339 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 346:355 (3%)148:157 (3%)175:184 (3%)141:150 (4%)152:161 (3%)148:157 (4%)294:303 (2%)185:194 (3%)184:193 (3%)259:268 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 126:136 (2%)93:103 (3%)254:264 (3%)56:66 (3%)83:93 (3%)49:59 (4%)60:70 (3%)56:66 (4%)202:212 (2%)92:102 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 302:316 (3%)268:282 (4%)473:487 (3%)275:289 (3%)279:293 (3%)275:289 (4%)421:435 (2%)312:326 (3%)311:325 (3%)386:400 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 306:315 (3%)108:117 (3%)178:187 (2%)145:154 (3%)135:144 (3%)101:110 (4%)112:121 (3%)108:117 (4%)254:263 (2%)144:153 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 580:589 (3%)382:391 (3%)409:418 (3%)375:384 (4%)386:395 (3%)382:391 (4%)528:537 (2%)419:428 (3%)418:427 (3%)493:502 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 577:588 (3%)379:390 (3%)406:417 (3%)372:383 (4%)383:394 (3%)379:390 (4%)525:536 (2%)416:427 (3%)415:426 (3%)490:501 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 196:207 (3%)162:173 (4%)367:378 (3%)169:180 (3%)173:184 (3%)169:180 (4%)315:326 (2%)206:217 (3%)205:216 (3%)280:291 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 216:225 (3%)182:191 (4%)387:396 (3%)189:198 (3%)193:202 (3%)189:198 (4%)335:344 (2%)226:235 (3%)225:234 (3%)300:309 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 217:226 (3%)183:192 (4%)388:397 (3%)190:199 (3%)194:203 (3%)190:199 (4%)336:345 (2%)227:236 (3%)226:235 (3%)301:310 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 200:216 (3%)166:182 (4%)371:387 (3%)173:189 (3%)177:193 (3%)173:189 (4%)319:335 (2%)210:226 (3%)209:225 (3%)284:300 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 565:576 (3%)367:378 (3%)394:405 (3%)360:371 (4%)371:382 (3%)367:378 (4%)513:524 (2%)404:415 (3%)403:414 (3%)478:489 (3%)... | view | |
| 6 | x 43 | docdocdocdocdocdocdocdocdocdoc... | 311:320 (3%)277:286 (4%)482:491 (3%)284:293 (3%)288:297 (3%)284:293 (4%)430:439 (2%)321:330 (3%)320:329 (3%)395:404 (3%)... | view |
About This Analysis
- 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...
- To learn more about duplications and techniques for eliminating duplication, Sokrates recommends the following resources:
- Avoid Repetition, MartinFlower.com (IEEE Software article)
- Refactoring duplicated code, sourcemaking.com
- Beck Design Rules, MartinFowler.com
- DRY (Don't Repeat Yourself) Principle, Wikipedia
- The Cut-and-Paste Programming Software Development Anti-Pattern, sourcemaking.com
- Code Smells / Duplicated Code, Jeff Atwood, codinghorror.com:
- "Duplicated code is the bane of software development. Stamp out duplication whenever possible. You should always be on the lookout for more subtle cases of near-duplication, too. Don't Repeat Yourself!"
- Reducing Coupling, MartinFlower.com (IEEE Software article):
- "There are several ways to describe coupling, but it boils down to this: If changing one module in a program requires changing another module, then coupling exists. ... Duplication always implies coupling, because changing one piece of duplicate code implies changing the other."