GerritCodeReview / prolog-cafe
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
  • 99% duplication:
    • 17,471 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 17,348 duplicated lines
  • 3,163 duplicates
system99% (17,348 lines)
Duplication per Extension
java99% (10,602 lines)
pl99% (6,714 lines)
html100% (32 lines)
Duplication per Component (primary)
java/com/googlecode/prolog_cafe/builtin100% (4,473 lines)
src/builtin100% (4,473 lines)
java/com/googlecode/prolog_cafe/lang99% (2,370 lines)
src/lang99% (2,370 lines)
java/com/googlecode/prolog_cafe/compiler99% (1,316 lines)
src/compiler99% (1,264 lines)
java/com/googlecode/prolog_cafe/exceptions98% (328 lines)
src/exceptions98% (328 lines)
java/com/googlecode/prolog_cafe/repl100% (187 lines)
src/repl100% (187 lines)
src/compiler/am2j100% (52 lines)
ROOT0% (0 lines)
tools/bzl0% (0 lines)

Duplication Between Components (50+ lines)

G java/com/googlecode/prolog_cafe/builtin java/com/googlecode/prolog_cafe/builtin src/builtin src/builtin java/com/googlecode/prolog_cafe/builtin--src/builtin 8946 java/com/googlecode/prolog_cafe/lang java/com/googlecode/prolog_cafe/lang src/lang src/lang java/com/googlecode/prolog_cafe/lang--src/lang 4740 java/com/googlecode/prolog_cafe/compiler java/com/googlecode/prolog_cafe/compiler src/compiler src/compiler java/com/googlecode/prolog_cafe/compiler--src/compiler 2528 src/compiler/am2j src/compiler/am2j java/com/googlecode/prolog_cafe/compiler--src/compiler/am2j 104 java/com/googlecode/prolog_cafe/exceptions java/com/googlecode/prolog_cafe/exceptions src/exceptions src/exceptions java/com/googlecode/prolog_cafe/exceptions--src/exceptions 656 java/com/googlecode/prolog_cafe/repl java/com/googlecode/prolog_cafe/repl src/repl src/repl java/com/googlecode/prolog_cafe/repl--src/repl 374

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 3,163 duplicates...
Size#FoldersFilesLinesCode
1651 x 2 java/com/googlecode/prolog_cafe/builtin
src/builtin
builtins.pl
builtins.pl
1:1896 (100%)
1:1896 (100%)
view
1033 x 2 java/com/googlecode/prolog_cafe/compiler
src/compiler
am2j.pl
am2j.pl
1:1089 (100%)
1:1089 (100%)
view
393 x 2 java/com/googlecode/prolog_cafe/builtin
src/builtin
cafeteria.pl
cafeteria.pl
1:445 (100%)
1:445 (100%)
view
323 x 2 java/com/googlecode/prolog_cafe/lang
src/lang
Token.java
Token.java
14:445 (100%)
14:445 (100%)
view
214 x 2 java/com/googlecode/prolog_cafe/builtin
src/builtin
system.pl
system.pl
1:215 (100%)
1:215 (100%)
view
187 x 2 java/com/googlecode/prolog_cafe/lang
src/lang
ChoicePointFrame.java
ChoicePointFrame.java
10:259 (100%)
10:259 (100%)
view
181 x 2 java/com/googlecode/prolog_cafe/lang
src/lang
IntegerTerm.java
IntegerTerm.java
19:353 (100%)
19:353 (100%)
view
178 x 2 java/com/googlecode/prolog_cafe/compiler
src/compiler
Compiler.java
Compiler.java
77:336 (100%)
77:336 (100%)
view
154 x 2 java/com/googlecode/prolog_cafe/lang
src/lang
Prolog.java
Prolog.java
14:328 (100%)
14:328 (100%)
view
144 x 2 java/com/googlecode/prolog_cafe/lang
src/lang
Arithmetic.java
Arithmetic.java
15:169 (100%)
15:169 (100%)
view
136 x 2 java/com/googlecode/prolog_cafe/lang
src/lang
DoubleTerm.java
DoubleTerm.java
20:309 (100%)
20:309 (100%)
view
133 x 2 java/com/googlecode/prolog_cafe/lang
src/lang
SymbolTerm.java
SymbolTerm.java
21:268 (100%)
21:268 (100%)
view
132 x 2 java/com/googlecode/prolog_cafe/lang
src/lang
ListTerm.java
ListTerm.java
34:267 (100%)
34:267 (100%)
view
112 x 2 java/com/googlecode/prolog_cafe/lang
src/lang
StructureTerm.java
StructureTerm.java
26:224 (100%)
26:224 (100%)
view
110 x 2 java/com/googlecode/prolog_cafe/lang
src/lang
PrologClassLoader.java
PrologClassLoader.java
17:204 (100%)
17:204 (100%)
view
102 x 2 java/com/googlecode/prolog_cafe/lang
src/lang
VariableTerm.java
VariableTerm.java
17:244 (100%)
17:244 (100%)
view
101 x 2 java/com/googlecode/prolog_cafe/builtin
src/builtin
PRED_open_4.java
PRED_open_4.java
32:146 (100%)
32:146 (100%)
view
100 x 2 java/com/googlecode/prolog_cafe/repl
src/repl
PrologMain.java
PrologMain.java
22:152 (100%)
22:152 (100%)
view
92 x 2 java/com/googlecode/prolog_cafe/lang
src/lang
PrologControl.java
PrologControl.java
29:216 (100%)
29:216 (100%)
view
91 x 2 java/com/googlecode/prolog_cafe/builtin
src/builtin
PRED_close_2.java
PRED_close_2.java
28:139 (100%)
28:139 (100%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 191 unit duplicates...
Size#FoldersFilesLinesCode
101 x 2 java/com/googlecode/prolog_cafe/lang
src/lang
Arithmetic.java
Arithmetic.java
66:170 
66:170 
view
97 x 2 java/com/googlecode/prolog_cafe/lang
src/lang
Token.java
Token.java
72:171 
72:171 
view
94 x 2 java/com/googlecode/prolog_cafe/builtin
src/builtin
PRED_close_2.java
PRED_close_2.java
41:140 
41:140 
view
89 x 2 java/com/googlecode/prolog_cafe/builtin
src/builtin
PRED_open_4.java
PRED_open_4.java
53:147 
53:147 
view
70 x 2 java/com/googlecode/prolog_cafe/compiler
src/compiler
Compiler.java
Compiler.java
184:266 
184:266 
view
67 x 2 java/com/googlecode/prolog_cafe/builtin
src/builtin
PRED_$univ_2.java
PRED_$univ_2.java
39:107 
39:107 
view
64 x 2 java/com/googlecode/prolog_cafe/repl
src/repl
PrologMain.java
PrologMain.java
26:95 
26:95 
view
61 x 2 java/com/googlecode/prolog_cafe/builtin
src/builtin
PRED_functor_3.java
PRED_functor_3.java
34:98 
34:98 
view
60 x 2 java/com/googlecode/prolog_cafe/lang
src/lang
Token.java
Token.java
173:236 
173:236 
view
55 x 2 java/com/googlecode/prolog_cafe/builtin
src/builtin
PRED_$hash_remove_first_3.java
PRED_$hash_remove_first_3.java
31:89 
31:89 
view
54 x 2 java/com/googlecode/prolog_cafe/builtin
src/builtin
PRED_number_chars_2.java
PRED_number_chars_2.java
28:83 
28:83 
view
53 x 2 java/com/googlecode/prolog_cafe/builtin
src/builtin
PRED_$read_token0_3.java
PRED_$read_token0_3.java
38:95 
38:95 
view
52 x 2 java/com/googlecode/prolog_cafe/builtin
src/builtin
PRED_number_codes_2.java
PRED_number_codes_2.java
28:82 
28:82 
view
51 x 2 java/com/googlecode/prolog_cafe/lang
src/lang
PrologClassLoader.java
PrologClassLoader.java
103:162 
103:162 
view
49 x 2 java/com/googlecode/prolog_cafe/builtin
src/builtin
PRED_keysort_2.java
PRED_keysort_2.java
32:82 
32:82 
view
49 x 2 java/com/googlecode/prolog_cafe/builtin
src/builtin
PRED_atom_chars_2.java
PRED_atom_chars_2.java
25:75 
25:75 
view
49 x 2 java/com/googlecode/prolog_cafe/builtin
src/builtin
PRED_new_hash_2.java
PRED_new_hash_2.java
32:83 
32:83 
view
47 x 2 java/com/googlecode/prolog_cafe/builtin
src/builtin
PRED_get_2.java
PRED_get_2.java
36:87 
36:87 
view
44 x 2 java/com/googlecode/prolog_cafe/lang
src/lang
Term.java
Term.java
91:135 
91:135 
view
44 x 2 java/com/googlecode/prolog_cafe/builtin
src/builtin
PRED_$hash_addz_3.java
PRED_$hash_addz_3.java
32:78 
32:78 
view