Duplication Overall
- 5% duplication:
- 26,540 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
- 1,469 duplicated lines
- 111 duplicates
Duplication per Extension
Duplication per Component (primary)
Longest Duplicates
The list of 50 longest duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 31 | x 2 | project/paperbench/experiments/judge_evalproject/paperbench/experiments/judge_eval | 58:98 (18%)8:48 (25%) | view | |
| 25 | x 2 | project/evmbench/ploit/.configproject/evmbench/veto/.config | 1:42 (100%)1:42 (100%) | view | |
| 22 | x 2 | project/evmbench/evmbench/nanoproject/swelancer/swelancer/utils | 11:47 (64%)23:59 (55%) | view | |
| 22 | x 2 | project/evmbench/evmbench/nanoproject/paperbench/paperbench/nano | 11:47 (64%)11:47 (64%) | view | |
| 22 | x 2 | project/paperbench/paperbench/nanoproject/swelancer/swelancer/utils | 11:47 (64%)23:59 (55%) | view | |
| 19 | x 2 | project/evmbench/ploit/crates/utils/srcproject/evmbench/ploit/crates/utils/src | 54:81 (22%)131:158 (22%) | view | |
| 17 | x 2 | project/swelancer/swelancer/solvers/dummyproject/swelancer/swelan...solvers/swelancer_agent | 143:160 (15%)327:344 (6%) | view | |
| 15 | x 2 | project/evmbench/evmbench/nano/gradeproject/evmbench/evmbench/nano/grade | 53:67 (15%)75:89 (15%) | view | |
| 14 | x 2 | project/evmbench/scriptsproject/evmbench/scripts | 25:38 (9%)98:111 (1%) | view | |
| 14 | x 2 | project/common/preparedn...aredness_turn_completerproject/common/preparedn...esponses_turn_completer | 48:70 (13%)58:80 (11%) | view | |
| 13 | x 2 | project/evmbench/scriptsproject/evmbench/scripts | 160:174 (8%)1240:1254 (1%) | view | |
| 13 | x 2 | project/evmbench/evmbenchproject/paperbench/paperbench | 17:37 (13%)84:105 (8%) | view | |
| 12 | x 2 | project/evmbench/evmbenchproject/evmbench/evmbench | 137:156 (4%)166:186 (4%) | view | |
| 12 | x 2 | project/evmbench/ploit/crates/core/srcproject/evmbench/ploit/crates/core/src | 672:683 (2%)699:710 (2%) | view | |
| 12 | x 2 | project/common/alcatraz/alcatraz/clustersproject/common/nanoeval/.../solvers/computer_tasks | 19:39 (63%)10:34 (60%) | view | |
| 11 | x 2 | project/paperbench/paperbenchproject/paperbench/paperbench | 166:176 (4%)253:263 (4%) | view | |
| 11 | x 2 | project/swelancer/swelancer/solvers/dummyproject/swelancer/swelan...solvers/swelancer_agent | 118:131 (10%)208:220 (4%) | view | |
| 10 | x 2 | project/evmbench/scriptsproject/evmbench/scripts | 930:939 (<1%)1044:1053 (<1%) | view | |
| 10 | x 2 | project/common/nanoeval_alcatraz/nanoeval_alcatrazproject/common/nanoeval_alcatraz/nanoeval_alcatraz | 173:184 (7%)211:222 (7%) | view | |
| 10 | x 2 | project/swelancer/issues/16912_4project/swelancer/issues/29854_602 | 16:25 (18%)51:60 (12%) | view | |
| 10 | x 2 | project/evmbench/evmbench/nanoproject/paperbench/paperbench/nano | 56:69 (29%)56:69 (29%) | view | |
| 10 | x 2 | project/evmbench/evmbenchproject/paperbench/paperbench | 83:97 (10%)230:245 (6%) | view | |
| 9 | x 2 | project/paperbench/paperbench/gui/staticproject/paperbench/paperbench/gui/static | 235:244 (2%)370:379 (2%) | view | |
| 9 | x 2 | project/paperbench/paperbenchproject/paperbench/paperbench | 256:264 (5%)271:279 (5%) | view | |
| 9 | x 2 | project/evmbench/evmbenchproject/evmbench/evmbench | 30:38 (3%)56:64 (3%) | view | |
| 9 | x 2 | project/evmbench/ploit/crates/grader/srcproject/evmbench/ploit/crates/grader/src | 80:90 (5%)144:154 (5%) | view | |
| 9 | x 2 | project/swelancer/issues/32236_652project/swelancer/runtime_utils | 36:46 (8%)163:175 (9%) | view | |
| 9 | x 2 | project/common/nanoeval/nanoevalproject/common/nanoeval/nanoeval | 67:75 (8%)51:59 (5%) | view | |
| 9 | x 2 | project/paperbench/experiments/judge_evalproject/paperbench/experiments/judge_eval | 100:113 (5%)49:62 (7%) | view | |
| 9 | x 2 | project/evmbench/evmbench/nano/gradeproject/evmbench/evmbench/nano/grade | 45:54 (4%)155:164 (1%) | view | |
| 8 | x 2 | project/common/nanoeval/nanoevalproject/common/nanoeval/nanoeval | 91:99 (7%)128:136 (7%) | view | |
| 8 | x 2 | project/evmbench/scriptsproject/evmbench/scripts | 922:929 (<1%)1034:1041 (<1%) | view | |
| 8 | x 2 | project/paperbench/paperbench/solversproject/paperbench/paperbench/solvers | 296:303 (2%)314:321 (2%) | view | |
| 8 | x 2 | project/common/alcatraz/alcatraz/clustersproject/common/alcatraz/alcatraz/clusters | 1112:1119 (<1%)1264:1271 (<1%) | view | |
| 8 | x 2 | project/paperbench/paperbench/guiproject/paperbench/paperbench/gui | 150:159 (1%)239:248 (1%) | view | |
| 8 | x 2 | project/paperbench/paperbench/guiproject/paperbench/paperbench/gui | 150:159 (1%)269:278 (1%) | view | |
| 8 | x 2 | project/paperbench/paperbench/guiproject/paperbench/paperbench/gui | 150:159 (1%)458:467 (1%) | view | |
| 8 | x 2 | project/paperbench/paperbench/guiproject/paperbench/paperbench/gui | 186:193 (1%)527:534 (1%) | view | |
| 8 | x 2 | project/paperbench/paperbench/guiproject/paperbench/paperbench/gui | 239:248 (1%)269:278 (1%) | view | |
| 8 | x 2 | project/paperbench/paperbench/guiproject/paperbench/paperbench/gui | 239:248 (1%)458:467 (1%) | view | |
| 8 | x 2 | project/paperbench/paperbench/guiproject/paperbench/paperbench/gui | 269:278 (1%)458:467 (1%) | view | |
| 8 | x 2 | project/common/nanoeval/nanoevalproject/common/nanoeval/nanoeval | 67:74 (7%)42:49 (15%) | view | |
| 8 | x 2 | project/evmbench/evmbenchproject/swelancer/swelancer | 83:92 (8%)73:81 (1%) | view | |
| 8 | x 2 | project/common/nanoeval/nanoevalproject/common/nanoeval/nanoeval | 87:94 (7%)68:75 (5%) | view | |
| 8 | x 2 | project/common/nanoeval/nanoevalproject/common/nanoeval/nanoeval | 51:58 (5%)42:49 (15%) | view | |
| 8 | x 2 | project/evmbench/evmbench/nano/gradeproject/evmbench/evmbench/nano/grade | 218:225 (4%)477:484 (1%) | view | |
| 8 | x 2 | project/swelancer/swelancer/solvers/dummyproject/swelancer/swelan...solvers/swelancer_agent | 17:30 (7%)31:44 (3%) | view | |
| 8 | x 2 | project/evmbench/ploit/crates/exec/srcproject/evmbench/ploit/crates/grader/src | 1:10 (44%)1:13 (40%) | view | |
| 8 | x 2 | project/paperbench/paperbenchproject/swelancer/swelancer | 230:239 (5%)73:81 (1%) | view | |
| 7 | x 2 | project/paperbench/paperbench/infraproject/paperbench/paperbench/infra | 25:40 (2%)58:72 (2%) | view |
Most Frequent Duplicates
The list of 34 most frequently found duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 6 | x 6 | project/paperbench/paperbench/guiproject/paperbench/paperbench/guiproject/paperbench/paperbench/guiproject/paperbench/paperbench/guiproject/paperbench/paperbench/guiproject/paperbench/paperbench/gui | 123:129 (1%)153:159 (1%)210:216 (1%)242:248 (1%)272:278 (1%)461:467 (1%) | view | |
| 6 | x 6 | project/paperbench/paperbench/guiproject/paperbench/paperbench/guiproject/paperbench/paperbench/guiproject/paperbench/paperbench/guiproject/paperbench/paperbench/guiproject/paperbench/paperbench/gui | 122:128 (1%)152:158 (1%)209:215 (1%)241:247 (1%)271:277 (1%)460:466 (1%) | view | |
| 6 | x 4 | project/paperbench/paperbench/infraproject/paperbench/paperbench/solversproject/paperbench/paperbenchproject/paperbench/paperbench/infra | 26:40 (2%)91:96 (5%)31:36 (5%)59:72 (2%) | view | |
| 6 | x 4 | project/paperbench/paperbench/infraproject/paperbench/paperbench/solversproject/paperbench/paperbenchproject/paperbench/paperbench/infra | 25:39 (2%)90:95 (5%)30:35 (5%)58:71 (2%) | view | |
| 6 | x 4 | project/paperbench/paperbench/guiproject/paperbench/paperbench/guiproject/paperbench/paperbench/guiproject/paperbench/paperbench/gui | 150:157 (1%)239:246 (1%)269:276 (1%)458:465 (1%) | view | |
| 6 | x 4 | project/common/alcatraz/alcatraz/clustersproject/common/alcatraz/alcatraz/clustersproject/common/alcatraz/alcatraz/clustersproject/common/alcatraz/alcatraz/clusters | 515:520 (<1%)1156:1163 (<1%)1168:1175 (<1%)1202:1209 (<1%) | view | |
| 6 | x 3 | project/paperbench/paperbench/nanoproject/swelancer/swelancer/utilsproject/evmbench/evmbench/nano | 40:47 (17%)52:59 (15%)40:47 (17%) | view | |
| 6 | x 3 | project/paperbench/paperbench/nanoproject/swelancer/swelancer/utilsproject/evmbench/evmbench/nano | 11:22 (17%)23:34 (15%)11:22 (17%) | view | |
| 6 | x 3 | project/paperbench/paperbench/nanoproject/swelancer/swelancer/utilsproject/evmbench/evmbench/nano | 21:32 (17%)33:44 (15%)21:32 (17%) | view | |
| 6 | x 3 | project/common/preparedn...aredness_turn_completerproject/common/preparedn...aredness_turn_completerproject/common/preparedn...aredness_turn_completer | 41:46 (3%)62:67 (3%)80:85 (3%) | view | |
| 6 | x 3 | project/evmbench/ploit/crates/grader/srcproject/evmbench/ploit/crates/grader/srcproject/evmbench/ploit/crates/grader/src | 84:90 (3%)148:154 (3%)196:202 (3%) | view | |
| 6 | x 3 | project/paperbench/paperbenchproject/swelancer/swelancerproject/evmbench/evmbench | 231:238 (3%)74:80 (1%)84:91 (6%) | view | |
| 6 | x 3 | project/paperbench/paperbench/nanoproject/swelancer/swelancer/utilsproject/evmbench/evmbench/nano | 17:24 (17%)29:36 (15%)17:24 (17%) | view | |
| 6 | x 3 | project/paperbench/paperbench/nanoproject/swelancer/swelancer/utilsproject/evmbench/evmbench/nano | 33:39 (17%)45:51 (15%)33:39 (17%) | view | |
| 6 | x 3 | project/common/nanoeval/nanoevalproject/common/nanoeval/nanoevalproject/common/nanoeval/nanoeval | 51:56 (3%)42:47 (11%)67:72 (5%) | view | |
| 6 | x 3 | project/paperbench/paperbench/nanoproject/swelancer/swelancer/utilsproject/evmbench/evmbench/nano | 30:37 (17%)42:49 (15%)30:37 (17%) | view | |
| 6 | x 3 | project/paperbench/paperbench/nanoproject/swelancer/swelancer/utilsproject/evmbench/evmbench/nano | 34:40 (17%)46:52 (15%)34:40 (17%) | view | |
| 6 | x 3 | project/paperbench/paperbench/nanoproject/swelancer/swelancer/utilsproject/evmbench/evmbench/nano | 39:45 (17%)51:57 (15%)39:45 (17%) | view | |
| 6 | x 3 | project/common/nanoeval/nanoevalproject/common/nanoeval/nanoevalproject/common/nanoeval/nanoeval | 53:58 (3%)44:49 (11%)69:74 (5%) | view | |
| 6 | x 3 | project/paperbench/paperbenchproject/swelancer/swelancerproject/evmbench/evmbench | 232:239 (3%)75:81 (1%)85:92 (6%) | view | |
| 6 | x 3 | project/paperbench/paperbenchproject/swelancer/swelancerproject/evmbench/evmbench | 230:237 (3%)73:79 (1%)83:90 (6%) | view | |
| 6 | x 3 | project/paperbench/paperbench/nanoproject/swelancer/swelancer/utilsproject/evmbench/evmbench/nano | 38:44 (17%)50:56 (15%)38:44 (17%) | view | |
| 6 | x 3 | project/paperbench/paperbench/nanoproject/swelancer/swelancer/utilsproject/evmbench/evmbench/nano | 16:23 (17%)28:35 (15%)16:23 (17%) | view | |
| 6 | x 3 | project/evmbench/ploit/crates/grader/srcproject/evmbench/ploit/crates/grader/srcproject/evmbench/ploit/crates/grader/src | 83:88 (3%)147:152 (3%)195:200 (3%) | view | |
| 6 | x 3 | project/common/nanoeval/nanoevalproject/common/nanoeval/nanoevalproject/common/nanoeval/nanoeval | 69:74 (3%)53:58 (11%)88:93 (5%) | view | |
| 6 | x 3 | project/common/nanoeval/nanoevalproject/common/nanoeval/nanoevalproject/common/nanoeval/nanoeval | 68:73 (3%)52:57 (11%)87:92 (5%) | view | |
| 6 | x 3 | project/paperbench/paperbench/nanoproject/swelancer/swelancer/utilsproject/evmbench/evmbench/nano | 22:33 (17%)34:45 (15%)22:33 (17%) | view | |
| 6 | x 3 | project/paperbench/paperbench/nanoproject/swelancer/swelancer/utilsproject/evmbench/evmbench/nano | 24:35 (17%)36:47 (15%)24:35 (17%) | view | |
| 6 | x 3 | project/paperbench/paperbench/nanoproject/swelancer/swelancer/utilsproject/evmbench/evmbench/nano | 37:43 (17%)49:55 (15%)37:43 (17%) | view | |
| 6 | x 3 | project/common/nanoeval/nanoevalproject/common/nanoeval/nanoevalproject/common/nanoeval/nanoeval | 52:57 (3%)43:48 (11%)68:73 (5%) | view | |
| 6 | x 3 | project/paperbench/paperbench/nanoproject/swelancer/swelancer/utilsproject/evmbench/evmbench/nano | 35:42 (17%)47:54 (15%)35:42 (17%) | view | |
| 6 | x 3 | project/paperbench/paperbench/nanoproject/swelancer/swelancer/utilsproject/evmbench/evmbench/nano | 32:38 (17%)44:50 (15%)32:38 (17%) | view | |
| 6 | x 3 | project/paperbench/paperbench/nanoproject/swelancer/swelancer/utilsproject/evmbench/evmbench/nano | 20:30 (17%)32:42 (15%)20:30 (17%) | view | |
| 6 | x 3 | project/paperbench/paperbench/nanoproject/swelancer/swelancer/utilsproject/evmbench/evmbench/nano | 23:34 (17%)35:46 (15%)23:34 (17%) | view |
Duplicated Units
The list of top 3 duplicated units.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 12 | x 2 | project/evmbench/scriptsproject/evmbench/scripts | 98:111 25:38 | view | |
| 10 | x 2 | project/evmbench/evmbenchproject/paperbench/paperbench | 17:32 84:99 | view | |
| 6 | x 3 | project/common/nanoeval/nanoevalproject/common/nanoeval/nanoevalproject/common/nanoeval/nanoeval | 67:74 51:58 42:49 | 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."