microsoft / BosqueLanguage
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
  • 11% duplication:
    • 33,483 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 3,955 duplicated lines
  • 337 duplicates
system11% (3,955 lines)
Duplication per Extension
ts12% (1,321 lines)
hpp13% (1,208 lines)
cpp15% (840 lines)
h6% (532 lines)
js32% (54 lines)
Duplication per Component (primary)
impl/build/include/headers9% (1,266 lines)
impl/src/tooling/icpp13% (1,049 lines)
impl/src/tooling/verifier18% (1,006 lines)
impl/src/compiler10% (294 lines)
impl/src/ast3% (127 lines)
impl/src/runtimes34% (105 lines)
bosque-language-tools/out72% (54 lines)
bosque-language-tools/src79% (54 lines)
impl/build0% (0 lines)
impl/src/type_checker0% (0 lines)

Duplication Between Components (50+ lines)

G impl/src/tooling/icpp impl/src/tooling/icpp impl/src/tooling/verifier impl/src/tooling/verifier impl/src/tooling/icpp--impl/src/tooling/verifier 166 bosque-language-tools/out bosque-language-tools/out bosque-language-tools/src bosque-language-tools/src bosque-language-tools/out--bosque-language-tools/src 108 impl/src/ast impl/src/ast impl/src/compiler impl/src/compiler impl/src/ast--impl/src/compiler 59

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 337 duplicates...
Size#FoldersFilesLinesCode
102 x 2 impl/src/tooling/icpp/interpreter/assembly
impl/src/tooling/icpp/transpiler
bsqop.h
icpp_exp.ts
67:177 (11%)
71:181 (30%)
view
57 x 2 impl/build/include/headers/json
impl/build/include/headers/json
json.hpp
json.hpp
7033:7089 (<1%)
9356:9412 (<1%)
view
39 x 2 impl/src/tooling/icpp/interpreter/assembly
impl/src/tooling/icpp/transpiler
bsqop.h
icpp_exp.ts
22:64 (4%)
25:68 (11%)
view
36 x 2 impl/src/tooling/verifier/evaluator
impl/src/tooling/verifier
decls.h
smttype_emitter.ts
34:69 (8%)
14:49 (45%)
view
35 x 2 impl/build/include/headers/json
impl/build/include/headers/json
json.hpp
json.hpp
7090:7124 (<1%)
9414:9448 (<1%)
view
32 x 2 impl/build/include/headers/json
impl/build/include/headers/json
json.hpp
json.hpp
9490:9521 (<1%)
9702:9733 (<1%)
view
28 x 2 impl/build/include/headers/json
impl/build/include/headers/json
json.hpp
json.hpp
7062:7089 (<1%)
8699:8726 (<1%)
view
28 x 2 impl/build/include/headers/json
impl/build/include/headers/json
json.hpp
json.hpp
8734:8761 (<1%)
9417:9444 (<1%)
view
28 x 2 impl/build/include/headers/json
impl/build/include/headers/json
json.hpp
json.hpp
7093:7120 (<1%)
8734:8761 (<1%)
view
28 x 2 impl/build/include/headers/json
impl/build/include/headers/json
json.hpp
json.hpp
8699:8726 (<1%)
9385:9412 (<1%)
view
24 x 2 impl/build/include/headers/json
impl/build/include/headers/json
json.hpp
json.hpp
8596:8619 (<1%)
9321:9344 (<1%)
view
24 x 2 impl/build/include/headers/json
impl/build/include/headers/json
json.hpp
json.hpp
9137:9160 (<1%)
9385:9408 (<1%)
view
24 x 2 impl/build/include/headers/json
impl/build/include/headers/json
json.hpp
json.hpp
9042:9065 (<1%)
9417:9440 (<1%)
view
24 x 2 impl/build/include/headers/json
impl/build/include/headers/json
json.hpp
json.hpp
8823:8846 (<1%)
9702:9725 (<1%)
view
24 x 2 impl/build/include/headers/json
impl/build/include/headers/json
json.hpp
json.hpp
8699:8722 (<1%)
9137:9160 (<1%)
view
24 x 2 impl/build/include/headers/json
impl/build/include/headers/json
json.hpp
json.hpp
8647:8670 (<1%)
9353:9376 (<1%)
view
24 x 2 impl/build/include/headers/json
impl/build/include/headers/json
json.hpp
json.hpp
8823:8846 (<1%)
9490:9513 (<1%)
view
24 x 2 impl/build/include/headers/json
impl/build/include/headers/json
json.hpp
json.hpp
8734:8757 (<1%)
9042:9065 (<1%)
view
24 x 2 impl/build/include/headers/json
impl/build/include/headers/json
json.hpp
json.hpp
7093:7116 (<1%)
9042:9065 (<1%)
view
24 x 2 impl/build/include/headers/json
impl/build/include/headers/json
json.hpp
json.hpp
7062:7085 (<1%)
9137:9160 (<1%)
view
Duplicated Units
The list of top 19 duplicated units.
See data for all 19 unit duplicates...
Size#FoldersFilesLinesCode
34 x 2 impl/src/tooling/icpp/interpreter
impl/src/tooling/icpp/interpreter
op_eval.cpp
op_eval.cpp
444:482 
484:522 
view
26 x 2 impl/src/tooling/icpp/interpreter/runtime
impl/src/tooling/verifier/evaluator
bsqvalue.cpp
decls.cpp
43:70 
1105:1132 
view
26 x 2 impl/src/tooling/icpp/interpreter/runtime
impl/src/tooling/verifier/evaluator
bsqvalue.cpp
decls.cpp
72:99 
1134:1161 
view
19 x 2 impl/src/tooling/icpp/interpreter/runtime
impl/src/tooling/verifier/evaluator
bsqvalue.cpp
decls.cpp
101:121 
1163:1183 
view
19 x 2 impl/src/tooling/icpp/interpreter/runtime
impl/src/tooling/verifier/evaluator
bsqvalue.cpp
decls.cpp
123:143 
1185:1205 
view
19 x 3 impl/src/tooling/icpp/interpreter/runtime
impl/src/tooling/icpp/interpreter/runtime
impl/src/tooling/verifier/evaluator
bsqvalue.cpp
bsqvalue.cpp
decls.cpp
145:165 
167:187 
1207:1227 
view
16 x 2 impl/src/tooling/verifier/evaluator
impl/src/tooling/verifier/evaluator
decls.cpp
decls.cpp
1060:1078 
1080:1098 
view
15 x 2 impl/build/include/headers/json
impl/build/include/headers/json
json.hpp
json.hpp
4211:4226 
4231:4246 
view
14 x 2 impl/src/tooling/icpp/transpiler
impl/src/tooling/icpp/transpiler
icpptype_emitter.ts
icpptype_emitter.ts
74:91 
120:137 
view
11 x 2 impl/src/tooling/icpp/interpreter
impl/src/tooling/icpp/interpreter
op_eval.cpp
op_eval.cpp
959:972 
974:987 
view
10 x 2 impl/build/include/headers/json
impl/build/include/headers/json
json.hpp
json.hpp
5974:5984 
6224:6234 
view
10 x 2 impl/build/include/headers/json
impl/build/include/headers/json
json.hpp
json.hpp
17038:17048 
17050:17060 
view
10 x 2 impl/build/include/headers/json
impl/build/include/headers/json
json.hpp
json.hpp
23188:23199 
23202:23213 
view
10 x 2 impl/src/tooling/verifier/evaluator
impl/src/tooling/verifier/evaluator
decls.cpp
decls.cpp
1442:1454 
1738:1750 
view
9 x 2 impl/src/tooling/verifier
impl/src/tooling/verifier
smtdecls_emitter.ts
smtdecls_emitter.ts
50:61 
89:100 
view
7 x 2 impl/build/include/headers/json
impl/build/include/headers/json
json.hpp
json.hpp
3891:3898 
3907:3915 
view
7 x 2 impl/src/ast
impl/src/ast
assembly.ts
assembly.ts
195:202 
271:278 
view
7 x 2 impl/src/tooling/verifier
impl/src/tooling/verifier
smt_assembly.ts
smt_assembly.ts
145:153 
195:203 
view
7 x 2 impl/src/tooling/verifier
impl/src/tooling/verifier
smtdecls_emitter.ts
smtdecls_emitter.ts
281:290 
292:301 
view