aws-deepracer / aws-deepracer-offroad-sample-project
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:
    • 3,788 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 436 duplicated lines
  • 41 duplicates
system11% (436 lines)
Duplication per Extension
py7% (215 lines)
cpp19% (156 lines)
hpp45% (65 lines)
Duplication per Component (primary)
deepracer_offroad_ws/ctrl_pkg/src19% (156 lines)
deepracer_offroad_ws/ctrl_pkg/include45% (65 lines)
deepracer_offroad_ws/webserver_pkg/webserver_pkg3% (60 lines)
deepracer_offroad_ws/deepracer_offroad_navigation_pkg/deepracer_offroad_navigation_pkg27% (60 lines)
deepracer_offroad_ws/qr_detection_pkg/qr_detection_pkg12% (45 lines)
deepracer_offroad_ws68% (34 lines)
deepracer_offroad_ws/qr_detection_pkg27% (8 lines)
deepracer_offroad_ws/deepracer_offroad_navigation_pkg27% (8 lines)
deepracer_offroad_ws/deepracer_offroad_launcher/launch0% (0 lines)
deepracer_offroad_ws/qr_detection_pkg/launch0% (0 lines)
deepracer_offroad_ws/webserver_pkg/launch0% (0 lines)
deepracer_offroad_ws/webserver_pkg0% (0 lines)
deepracer_offroad_ws/deepracer_offroad_navigation_pkg/launch0% (0 lines)
deepracer_offroad_ws/ctrl_pkg/launch0% (0 lines)

Duplication Between Components (50+ lines)

G deepracer_offroad_ws/deepracer_offroad_navigation_pkg/deepracer_offroad_navigation_pkg deepracer_offroad_ws/deepracer_offroad_navigation_pkg/deepracer_offroad_navigation_pkg deepracer_offroad_ws/webserver_pkg/webserver_pkg deepracer_offroad_ws/webserver_pkg/webserver_pkg deepracer_offroad_ws/deepracer_offroad_navigation_pkg/deepracer_offroad_navigation_pkg--deepracer_offroad_ws/webserver_pkg/webserver_pkg 92 deepracer_offroad_ws/qr_detection_pkg/qr_detection_pkg deepracer_offroad_ws/qr_detection_pkg/qr_detection_pkg deepracer_offroad_ws/deepracer_offroad_navigation_pkg/deepracer_offroad_navigation_pkg--deepracer_offroad_ws/qr_detection_pkg/qr_detection_pkg 86 deepracer_offroad_ws/qr_detection_pkg/qr_detection_pkg--deepracer_offroad_ws/webserver_pkg/webserver_pkg 62

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 41 duplicates...
Size#FoldersFilesLinesCode
31 x 2 deepracer_offroad_ws/qr_...on_pkg/qr_detection_pkg
deepracer_offroad_ws/webserver_pkg/webserver_pkg
utils.py
utility.py
20:93 (100%)
169:242 (32%)
view
29 x 2 deepracer_offroad_ws/dee..._offroad_navigation_pkg
deepracer_offroad_ws/webserver_pkg/webserver_pkg
utils.py
utility.py
20:85 (78%)
169:234 (30%)
view
29 x 2 deepracer_offroad_ws/dee..._offroad_navigation_pkg
deepracer_offroad_ws/qr_...on_pkg/qr_detection_pkg
utils.py
utils.py
20:85 (78%)
20:85 (93%)
view
19 x 2 deepracer_offroad_ws/ctrl_pkg/include/ctrl_pkg
deepracer_offroad_ws/ctrl_pkg/include/ctrl_pkg
ctrl_state.hpp
ctrl_state.hpp
128:154 (14%)
218:244 (14%)
view
16 x 2 deepracer_offroad_ws/ctrl_pkg/src
deepracer_offroad_ws/ctrl_pkg/src
ctrl_state.cpp
ctrl_state.cpp
470:485 (3%)
617:632 (3%)
view
16 x 2 deepracer_offroad_ws/ctrl_pkg/src
deepracer_offroad_ws/ctrl_pkg/src
ctrl_state.cpp
ctrl_state.cpp
344:359 (3%)
617:632 (3%)
view
16 x 2 deepracer_offroad_ws/ctrl_pkg/src
deepracer_offroad_ws/ctrl_pkg/src
ctrl_state.cpp
ctrl_state.cpp
344:359 (3%)
470:485 (3%)
view
14 x 2 deepracer_offroad_ws/ctrl_pkg/include/ctrl_pkg
deepracer_offroad_ws/ctrl_pkg/include/ctrl_pkg
ctrl_state.hpp
ctrl_state.hpp
164:180 (10%)
218:234 (10%)
view
14 x 2 deepracer_offroad_ws/ctrl_pkg/include/ctrl_pkg
deepracer_offroad_ws/ctrl_pkg/include/ctrl_pkg
ctrl_state.hpp
ctrl_state.hpp
128:144 (10%)
164:180 (10%)
view
13 x 2 deepracer_offroad_ws/ctrl_pkg/include/ctrl_pkg
deepracer_offroad_ws/ctrl_pkg/include/ctrl_pkg
ctrl_state.hpp
ctrl_state.hpp
61:75 (10%)
164:178 (10%)
view
13 x 2 deepracer_offroad_ws/ctrl_pkg/include/ctrl_pkg
deepracer_offroad_ws/ctrl_pkg/include/ctrl_pkg
ctrl_state.hpp
ctrl_state.hpp
61:75 (10%)
128:142 (10%)
view
13 x 2 deepracer_offroad_ws/ctrl_pkg/include/ctrl_pkg
deepracer_offroad_ws/ctrl_pkg/include/ctrl_pkg
ctrl_state.hpp
ctrl_state.hpp
61:75 (10%)
218:232 (10%)
view
10 x 2 deepracer_offroad_ws/dee..._offroad_navigation_pkg
deepracer_offroad_ws/webserver_pkg/webserver_pkg
deepracer_offroad_navigation_node.py
vehicle_control.py
263:277 (6%)
107:121 (5%)
view
9 x 2 deepracer_offroad_ws/ctrl_pkg/src
deepracer_offroad_ws/ctrl_pkg/src
ctrl_state.cpp
ctrl_state.cpp
83:92 (1%)
321:330 (1%)
view
9 x 2 deepracer_offroad_ws/ctrl_pkg/src
deepracer_offroad_ws/ctrl_pkg/src
ctrl_state.cpp
ctrl_state.cpp
321:330 (1%)
594:603 (1%)
view
9 x 2 deepracer_offroad_ws/ctrl_pkg/src
deepracer_offroad_ws/ctrl_pkg/src
ctrl_state.cpp
ctrl_state.cpp
321:330 (1%)
422:431 (1%)
view
9 x 2 deepracer_offroad_ws/ctrl_pkg/src
deepracer_offroad_ws/ctrl_pkg/src
ctrl_state.cpp
ctrl_state.cpp
83:92 (1%)
594:603 (1%)
view
9 x 2 deepracer_offroad_ws/ctrl_pkg/src
deepracer_offroad_ws/ctrl_pkg/src
ctrl_state.cpp
ctrl_state.cpp
422:431 (1%)
594:603 (1%)
view
9 x 2 deepracer_offroad_ws/ctrl_pkg/src
deepracer_offroad_ws/ctrl_pkg/src
ctrl_state.cpp
ctrl_state.cpp
83:92 (1%)
422:431 (1%)
view
8 x 2 deepracer_offroad_ws/ctrl_pkg/src
deepracer_offroad_ws/ctrl_pkg/src
ctrl_state.cpp
ctrl_state.cpp
309:319 (1%)
582:592 (1%)
view
Duplicated Units
The list of top 6 duplicated units.
See data for all 6 unit duplicates...
Size#FoldersFilesLinesCode
19 x 2 deepracer_offroad_ws/ctrl_pkg/src
deepracer_offroad_ws/ctrl_pkg/src
ctrl_state.cpp
ctrl_state.cpp
343:362 
469:488 
view
21 x 3 deepracer_offroad_ws/qr_...on_pkg/qr_detection_pkg
deepracer_offroad_ws/webserver_pkg/webserver_pkg
deepracer_offroad_ws/dee..._offroad_navigation_pkg
utils.py
utility.py
utils.py
0:0 
0:0 
0:0 
view
8 x 2 deepracer_offroad_ws/ctrl_pkg/src
deepracer_offroad_ws/ctrl_pkg/src
ctrl_state.cpp
ctrl_state.cpp
333:341 
606:614 
view
7 x 2 deepracer_offroad_ws/ctrl_pkg/src
deepracer_offroad_ws/ctrl_pkg/src
ctrl_state.cpp
ctrl_state.cpp
364:373 
637:646 
view
9 x 3 deepracer_offroad_ws/qr_...on_pkg/qr_detection_pkg
deepracer_offroad_ws/webserver_pkg/webserver_pkg
deepracer_offroad_ws/dee..._offroad_navigation_pkg
utils.py
utility.py
utils.py
0:0 
0:0 
0:0 
view
8 x 3 deepracer_offroad_ws/qr_...on_pkg/qr_detection_pkg
deepracer_offroad_ws/webserver_pkg/webserver_pkg
deepracer_offroad_ws/dee..._offroad_navigation_pkg
utils.py
utility.py
utils.py
0:0 
0:0 
0:0 
view