freertos / FreeRTOS-Plus-TCP
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
  • 17% duplication:
    • 22,317 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 3,929 duplicated lines
  • 159 duplicates
system17% (3,929 lines)
Duplication per Extension
c12% (2,308 lines)
h34% (1,317 lines)
cfg96% (304 lines)
Duplication per Component (primary)
portable/NetworkInterface/ATSAM4E57% (1,008 lines)
portable/NetworkInterface/xilinx_ultrascale53% (695 lines)
portable/NetworkInterface/Zynq66% (584 lines)
portable/NetworkInterface/DriverSAM46% (538 lines)
tools96% (304 lines)
portable/NetworkInterface/ksz8851snl17% (133 lines)
portable/NetworkInterface/STM32Hxx7% (126 lines)
ROOT1% (108 lines)
portable/NetworkInterface/pic32mzef14% (90 lines)
portable/BufferManagement29% (76 lines)
portable/NetworkInterface/WinPCap22% (71 lines)
portable/NetworkInterface/linux19% (71 lines)
portable/NetworkInterface/STM32Fxx4% (55 lines)
portable/NetworkInterface/M4877% (29 lines)
portable/NetworkInterface/LPC18xx6% (22 lines)
portable/NetworkInterface/MPS2_AN3851% (12 lines)
portable/NetworkInterface/ATSAME5x4% (7 lines)
tools/tcp_utilities0% (0 lines)
tools/tcp_utilities/include0% (0 lines)
include0% (0 lines)
portable/Compiler/IAR0% (0 lines)
portable/Compiler/GCC0% (0 lines)
portable/Compiler/CompilerName0% (0 lines)
portable/Compiler/Keil0% (0 lines)
portable/Compiler/Renesas0% (0 lines)
portable/Compiler/MSVC0% (0 lines)
portable/NetworkInterface/mw300_rd0% (0 lines)
portable/NetworkInterface/LPC540180% (0 lines)
portable/NetworkInterface/SH2A0% (0 lines)
portable/NetworkInterface/RX0% (0 lines)
portable/NetworkInterface/board_family0% (0 lines)
portable/NetworkInterface/esp320% (0 lines)
portable/NetworkInterface/include0% (0 lines)
portable/NetworkInterface/Common0% (0 lines)
portable/NetworkInterface/LPC17xx0% (0 lines)

Duplication Between Components (50+ lines)

G portable/NetworkInterface/ATSAM4E portable/NetworkInterface/ATSAM4E portable/NetworkInterface/DriverSAM portable/NetworkInterface/DriverSAM portable/NetworkInterface/ATSAM4E--portable/NetworkInterface/DriverSAM 1363 portable/NetworkInterface/ksz8851snl portable/NetworkInterface/ksz8851snl portable/NetworkInterface/ATSAM4E--portable/NetworkInterface/ksz8851snl 74 portable/NetworkInterface/Zynq portable/NetworkInterface/Zynq portable/NetworkInterface/xilinx_ultrascale portable/NetworkInterface/xilinx_ultrascale portable/NetworkInterface/Zynq--portable/NetworkInterface/xilinx_ultrascale 1201 portable/BufferManagement portable/BufferManagement portable/NetworkInterface/pic32mzef portable/NetworkInterface/pic32mzef portable/BufferManagement--portable/NetworkInterface/pic32mzef 152 portable/NetworkInterface/WinPCap portable/NetworkInterface/WinPCap portable/NetworkInterface/linux portable/NetworkInterface/linux portable/NetworkInterface/WinPCap--portable/NetworkInterface/linux 142

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 159 duplicates...
Size#FoldersFilesLinesCode
296 x 2 portable/NetworkInterface/ATSAM4E
portable/NetworkInterface/ATSAM4E/instance
gmac.h
gmac.h
265:1222 (70%)
269:1226 (70%)
view
116 x 2 portable/NetworkInterface/Zynq
portable/NetworkInterface/xilinx_ultrascale
x_emacpsif_hw.c
x_emacpsif_hw.c
39:255 (100%)
39:255 (100%)
view
85 x 2 tools
tools
cfg
uncrustify.cfg
uncrustify.complexity.cfg
70:154 (53%)
70:154 (53%)
view
77 x 2 portable/NetworkInterface/ATSAM4E
portable/NetworkInterface/ATSAM4E/instance
gmac.h
gmac.h
49:232 (18%)
50:233 (18%)
view
67 x 2 tools
tools
cfg
uncrustify.cfg
uncrustify.complexity.cfg
2:68 (42%)
2:68 (42%)
view
60 x 2 portable/NetworkInterface/ATSAM4E/instance
portable/NetworkInterface/DriverSAM
gmac.h
gmac_SAM.h
749:971 (14%)
747:969 (11%)
view
60 x 2 portable/NetworkInterface/ATSAM4E
portable/NetworkInterface/DriverSAM
gmac.h
gmac_SAM.h
745:967 (14%)
747:969 (11%)
view
52 x 2 portable/NetworkInterface/Zynq
portable/NetworkInterface/xilinx_ultrascale
NetworkInterface.c
NetworkInterface.c
301:416 (37%)
348:466 (34%)
view
44 x 2 portable/NetworkInterface/ATSAM4E
portable/NetworkInterface/DriverSAM
gmac.h
gmac_SAM.h
575:711 (10%)
574:710 (8%)
view
44 x 2 portable/NetworkInterface/ATSAM4E/instance
portable/NetworkInterface/DriverSAM
gmac.h
gmac_SAM.h
579:715 (10%)
574:710 (8%)
view
43 x 2 portable/NetworkInterface/ATSAM4E/instance
portable/NetworkInterface/DriverSAM
gmac.h
gmac_SAM.h
981:1141 (10%)
992:1152 (8%)
view
43 x 2 portable/NetworkInterface/ATSAM4E
portable/NetworkInterface/DriverSAM
gmac.h
gmac_SAM.h
977:1137 (10%)
992:1152 (8%)
view
40 x 2 portable/NetworkInterface/ATSAM4E
portable/NetworkInterface/DriverSAM
gmac.h
gmac_SAM.h
292:429 (9%)
301:438 (7%)
view
40 x 2 portable/NetworkInterface/ATSAM4E/instance
portable/NetworkInterface/DriverSAM
gmac.h
gmac_SAM.h
296:433 (9%)
301:438 (7%)
view
40 x 2 portable/NetworkInterface/Zynq
portable/NetworkInterface/xilinx_ultrascale
x_emacpsif_dma.c
x_emacpsif_dma.c
62:170 (16%)
84:192 (14%)
view
36 x 2 portable/NetworkInterface/ATSAM4E
portable/NetworkInterface/ATSAM4E/instance
gmac.h
gmac.h
1224:1485 (8%)
1228:1489 (8%)
view
31 x 2 portable/NetworkInterface/ATSAM4E
portable/NetworkInterface/DriverSAM
gmac.h
gmac_SAM.h
1230:1485 (7%)
1539:1600 (5%)
view
31 x 2 portable/NetworkInterface/ATSAM4E/instance
portable/NetworkInterface/DriverSAM
gmac.h
gmac_SAM.h
1234:1489 (7%)
1539:1600 (5%)
view
30 x 2 portable/NetworkInterface/Zynq
portable/NetworkInterface/xilinx_ultrascale
x_emacpsif_dma.c
x_emacpsif_dma.c
339:405 (12%)
361:427 (10%)
view
27 x 2 portable/NetworkInterface/Zynq
portable/NetworkInterface/xilinx_ultrascale
uncached_memory.c
uncached_memory.c
83:139 (72%)
89:145 (72%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 50 unit duplicates...
Size#FoldersFilesLinesCode
68 x 2 portable/NetworkInterface/Zynq
portable/NetworkInterface/xilinx_ultrascale
x_emacpsif_hw.c
x_emacpsif_hw.c
148:236 
148:236 
view
67 x 2 portable/NetworkInterface/Zynq
portable/NetworkInterface/xilinx_ultrascale
NetworkInterface.c
NetworkInterface.c
329:420 
379:470 
view
44 x 2 portable/NetworkInterface/Zynq
portable/NetworkInterface/xilinx_ultrascale
x_emacpsif_dma.c
x_emacpsif_dma.c
108:165 
130:187 
view
34 x 2 portable/NetworkInterface/ATSAM4E/instance
portable/NetworkInterface/ATSAM4E
gmac.h
gmac.h
714:750 
710:746 
view
29 x 2 portable/NetworkInterface/Zynq
portable/NetworkInterface/xilinx_ultrascale
x_emacpsif_hw.c
x_emacpsif_hw.c
84:120 
84:120 
view
27 x 2 portable/NetworkInterface/STM32Hxx
portable/NetworkInterface/STM32Hxx
stm32hxx_hal_eth.c
stm32hxx_hal_eth.c
2180:2222 
2741:2783 
view
25 x 2 portable/NetworkInterface/Zynq
portable/NetworkInterface/xilinx_ultrascale
NetworkInterface.c
NetworkInterface.c
217:252 
242:277 
view
20 x 2 portable/NetworkInterface/Zynq
portable/NetworkInterface/xilinx_ultrascale
x_emacpsif_hw.c
x_emacpsif_hw.c
122:146 
122:146 
view
19 x 2 portable/NetworkInterface/DriverSAM
portable/NetworkInterface/ATSAM4E
gmac_SAM.c
gmac.c
196:222 
170:196 
view
16 x 2 portable/NetworkInterface/Zynq
portable/NetworkInterface/xilinx_ultrascale
x_emacpsif_hw.c
x_emacpsif_hw.c
238:258 
238:258 
view
15 x 3 portable/NetworkInterface/DriverSAM
portable/NetworkInterface/ATSAM4E/instance
portable/NetworkInterface/ATSAM4E
gmac_SAM.h
gmac.h
gmac.h
1078:1096 
1067:1085 
1063:1081 
view
14 x 2 portable/NetworkInterface/Zynq
portable/NetworkInterface/xilinx_ultrascale
uncached_memory.c
uncached_memory.c
93:109 
99:115 
view
13 x 3 portable/NetworkInterface/DriverSAM
portable/NetworkInterface/ATSAM4E/instance
portable/NetworkInterface/ATSAM4E
gmac_SAM.h
gmac.h
gmac.h
1202:1216 
1190:1204 
1186:1200 
view
12 x 2 portable/NetworkInterface/STM32Fxx
portable/NetworkInterface/DriverSAM
NetworkInterface.c
NetworkInterface.c
1201:1215 
456:470 
view
12 x 2 portable/NetworkInterface/Zynq
portable/NetworkInterface/xilinx_ultrascale
x_emacpsif_dma.c
x_emacpsif_dma.c
92:106 
114:128 
view
12 x 2 portable/NetworkInterface/Zynq
portable/NetworkInterface/xilinx_ultrascale
x_emacpsif_dma.c
x_emacpsif_dma.c
193:207 
215:229 
view
12 x 2 portable/NetworkInterface/Zynq
portable/NetworkInterface/xilinx_ultrascale
NetworkInterface.c
NetworkInterface.c
312:326 
362:376 
view
12 x 2 portable/NetworkInterface/DriverSAM
portable/NetworkInterface/ATSAM4E
gmac_SAM.c
gmac.c
865:879 
879:893 
view
12 x 2 portable/NetworkInterface/ATSAM4E
portable/NetworkInterface/ksz8851snl
NetworkInterface.c
NetworkInterface.c
243:258 
367:382 
view
11 x 2 portable/NetworkInterface/Zynq
portable/NetworkInterface/xilinx_ultrascale
x_emacpsif_hw.c
x_emacpsif_hw.c
45:61 
45:61 
view