aws-samples / aws-deepracer-workshops
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
  • 77% duplication:
    • 26,775 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 20,721 duplicated lines
  • 917 duplicates
system77% (20,721 lines)
Duplication per Extension
py97% (18,367 lines)
css20% (1,223 lines)
yaml93% (735 lines)
html43% (396 lines)
Duplication per Component (primary)
Advanced workshops/AI Driving Olympics 2019/challenge_train_w_PPO99% (7,166 lines)
Advanced workshops/AI Driving Olympics 2019/challenge_train_DQN99% (6,222 lines)
Advanced workshops/reInvent2019-400/src83% (2,096 lines)
Advanced workshops/reInvent2019-400/customize97% (1,795 lines)
Advanced workshops/400 Level DeepRacer Workshop/themes33% (1,351 lines)
Advanced workshops/AI Driving Olympics 2019/challenge_eval_submit99% (542 lines)
Advanced workshops/400 Level DeepRacer Workshop/static15% (499 lines)
Advanced workshops/reInvent2019-40089% (404 lines)
Advanced workshops/reInvent2019-400/common100% (240 lines)
log-analysis88% (222 lines)
Advanced workshops/400 Level DeepRacer Workshop/layouts61% (184 lines)
Advanced workshops/400 Level DeepRacer Workshop0% (0 lines)

Duplication Between Components (50+ lines)

G Advanced workshops/AI Driving Olympics 2019/challenge_train_DQN Advanced workshops/AI Driving Olympics 2019/challenge_train_DQN Advanced workshops/AI Driving Olympics 2019/challenge_train_w_PPO Advanced workshops/AI Driving Olympics 2019/challenge_train_w_PPO Advanced workshops/AI Driving Olympics 2019/challenge_train_DQN--Advanced workshops/AI Driving Olympics 2019/challenge_train_w_PPO 13219 Advanced workshops/reInvent2019-400/src Advanced workshops/reInvent2019-400/src Advanced workshops/AI Driving Olympics 2019/challenge_train_DQN--Advanced workshops/reInvent2019-400/src 3004 Advanced workshops/reInvent2019-400/customize Advanced workshops/reInvent2019-400/customize Advanced workshops/AI Driving Olympics 2019/challenge_train_DQN--Advanced workshops/reInvent2019-400/customize 984 Advanced workshops/reInvent2019-400/common Advanced workshops/reInvent2019-400/common Advanced workshops/AI Driving Olympics 2019/challenge_train_DQN--Advanced workshops/reInvent2019-400/common 455 Advanced workshops/AI Driving Olympics 2019/challenge_train_w_PPO--Advanced workshops/reInvent2019-400/src 3598 Advanced workshops/AI Driving Olympics 2019/challenge_train_w_PPO--Advanced workshops/reInvent2019-400/customize 1576 Advanced workshops/reInvent2019-400 Advanced workshops/reInvent2019-400 Advanced workshops/AI Driving Olympics 2019/challenge_train_w_PPO--Advanced workshops/reInvent2019-400 292 Advanced workshops/AI Driving Olympics 2019/challenge_train_w_PPO--Advanced workshops/reInvent2019-400/common 455 Advanced workshops/reInvent2019-400/customize--Advanced workshops/reInvent2019-400/src 2631 Advanced workshops/AI Driving Olympics 2019/challenge_eval_submit Advanced workshops/AI Driving Olympics 2019/challenge_eval_submit Advanced workshops/AI Driving Olympics 2019/challenge_eval_submit--Advanced workshops/AI Driving Olympics 2019/challenge_train_DQN 455 Advanced workshops/AI Driving Olympics 2019/challenge_eval_submit--Advanced workshops/AI Driving Olympics 2019/challenge_train_w_PPO 556 Advanced workshops/AI Driving Olympics 2019/challenge_eval_submit--Advanced workshops/reInvent2019-400 617 Advanced workshops/AI Driving Olympics 2019/challenge_eval_submit--Advanced workshops/reInvent2019-400/common 480 log-analysis log-analysis Advanced workshops/AI Driving Olympics 2019/challenge_eval_submit--log-analysis 444 Advanced workshops/reInvent2019-400--log-analysis 442 Advanced workshops/400 Level DeepRacer Workshop/static Advanced workshops/400 Level DeepRacer Workshop/static Advanced workshops/400 Level DeepRacer Workshop/themes Advanced workshops/400 Level DeepRacer Workshop/themes Advanced workshops/400 Level DeepRacer Workshop/static--Advanced workshops/400 Level DeepRacer Workshop/themes 415 Advanced workshops/400 Level DeepRacer Workshop/layouts Advanced workshops/400 Level DeepRacer Workshop/layouts Advanced workshops/400 Level DeepRacer Workshop/layouts--Advanced workshops/400 Level DeepRacer Workshop/themes 368

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 917 duplicates...
Size#FoldersFilesLinesCode
1186 x 2 Advanced workshops/...trator/workflow/manager
Advanced workshops/...trator/workflow/manager
experiment_manager.py
experiment_manager.py
14:1849 (100%)
14:1849 (100%)
view
755 x 2 Advanced workshops/reInvent2019-400/customize
Advanced workshops/...src/markov/environments
deepracer_racetrack_env_lidar_5cars.py
deepracer_racetrack_env.py
24:1242 (100%)
24:1121 (100%)
view
463 x 2 Advanced workshops/reInvent2019-400/customize
Advanced workshops/...src/markov/environments
deepracer_racetrack_env_lidar_3cars.py
deepracer_racetrack_env.py
610:1240 (61%)
491:1121 (61%)
view
463 x 2 Advanced workshops/reInvent2019-400/customize
Advanced workshops/reInvent2019-400/customize
deepracer_racetrack_env_lidar_3cars.py
deepracer_racetrack_env_lidar_5cars.py
610:1240 (61%)
612:1242 (61%)
view
410 x 2 Advanced workshops/...src/markov/environments
Advanced workshops/...src/markov/environments
deepracer_racetrack_env.py
deepracer_racetrack_env_cv2.py
22:579 (100%)
22:579 (100%)
view
400 x 2 Advanced workshops/...src/markov/environments
Advanced workshops/...src/markov/environments
deepracer_racetrack_env.py
deepracer_racetrack_env_original.py
21:559 (100%)
21:559 (100%)
view
360 x 2 Advanced workshops/...trator/workflow/manager
Advanced workshops/...trator/workflow/manager
join_manager.py
join_manager.py
14:694 (100%)
14:694 (100%)
view
357 x 2 Advanced workshops/...gemaker_rl/orchestrator
Advanced workshops/...gemaker_rl/orchestrator
resource_manager.py
resource_manager.py
19:599 (100%)
19:599 (100%)
view
327 x 2 Advanced workshops/...trator/workflow/manager
Advanced workshops/...trator/workflow/manager
model_manager.py
model_manager.py
24:542 (100%)
24:542 (100%)
view
272 x 2 Advanced workshops/...r_rl/orchestrator/utils
Advanced workshops/...r_rl/orchestrator/utils
cloudwatch_logger.py
cloudwatch_logger.py
5:285 (100%)
5:285 (100%)
view
260 x 2 Advanced workshops/...src/markov/environments
Advanced workshops/...src/markov/environments
deepracer_racetrack_env.py
deepracer_racetrack_env.py
236:559 (65%)
256:579 (63%)
view
260 x 2 Advanced workshops/...src/markov/environments
Advanced workshops/...src/markov/environments
deepracer_racetrack_env.py
deepracer_racetrack_env_original.py
256:579 (63%)
236:559 (65%)
view
260 x 2 Advanced workshops/...src/markov/environments
Advanced workshops/...src/markov/environments
deepracer_racetrack_env_cv2.py
deepracer_racetrack_env_original.py
256:579 (63%)
236:559 (65%)
view
260 x 2 Advanced workshops/...src/markov/environments
Advanced workshops/...src/markov/environments
deepracer_racetrack_env.py
deepracer_racetrack_env_cv2.py
236:559 (65%)
256:579 (63%)
view
197 x 2 Advanced workshops/...ge_train_DQN/src/markov
Advanced workshops/..._train_w_PPO/src/markov
rollout_worker.py
rollout_worker.py
39:310 (100%)
39:310 (100%)
view
185 x 2 Advanced workshops/reInvent2019-400/customize
Advanced workshops/reInvent2019-400/customize
deepracer_racetrack_env_lidar_3cars.py
deepracer_racetrack_env_lidar_5cars.py
262:523 (24%)
261:523 (24%)
view
185 x 2 Advanced workshops/reInvent2019-400/customize
Advanced workshops/...src/markov/environments
deepracer_racetrack_env_lidar_3cars.py
deepracer_racetrack_env.py
262:523 (24%)
143:402 (24%)
view
184 x 2 Advanced workshops/...challenge_train_DQN/src
Advanced workshops/...allenge_train_w_PPO/src
training_worker.py
training_worker.py
28:265 (100%)
28:265 (100%)
view
184 x 2 Advanced workshops/...ge_train_DQN/src/markov
Advanced workshops/..._train_w_PPO/src/markov
s3_boto_data_store.py
s3_boto_data_store.py
16:257 (100%)
16:257 (100%)
view
181 x 2 Advanced workshops/...DQN/common/sagemaker_rl
Advanced workshops/...PPO/common/sagemaker_rl
coach_launcher.py
coach_launcher.py
23:316 (100%)
23:316 (100%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 301 unit duplicates...
Size#FoldersFilesLinesCode
275 x 3 Advanced workshops/...src/markov/environments
Advanced workshops/reInvent2019-400/customize
Advanced workshops/reInvent2019-400/customize
deepracer_racetrack_env.py
deepracer_racetrack_env_lidar_5cars.py
deepracer_racetrack_env_lidar_3cars.py
0:0 
0:0 
0:0 
view
157 x 2 Advanced workshops/...r_rl/orchestrator/utils
Advanced workshops/...r_rl/orchestrator/utils
cloudwatch_logger.py
cloudwatch_logger.py
0:0 
0:0 
view
129 x 4 Advanced workshops/...src/markov/environments
Advanced workshops/...src/markov/environments
Advanced workshops/...src/markov/environments
Advanced workshops/...src/markov/environments
deepracer_racetrack_env.py
deepracer_racetrack_env_cv2.py
deepracer_racetrack_env.py
deepracer_racetrack_env_original.py
0:0 
0:0 
0:0 
0:0 
view
107 x 3 Advanced workshops/reInvent2019-400/src
Advanced workshops/...challenge_train_DQN/src
Advanced workshops/...allenge_train_w_PPO/src
training_worker.py
training_worker.py
training_worker.py
0:0 
0:0 
0:0 
view
95 x 2 Advanced workshops/...ge_train_DQN/src/markov
Advanced workshops/..._train_w_PPO/src/markov
rollout_worker.py
rollout_worker.py
0:0 
0:0 
view
98 x 4 Advanced workshops/...src/markov/environments
Advanced workshops/...src/markov/environments
Advanced workshops/...src/markov/environments
Advanced workshops/...src/markov/environments
deepracer_racetrack_env.py
deepracer_racetrack_env_cv2.py
deepracer_racetrack_env.py
deepracer_racetrack_env_original.py
0:0 
0:0 
0:0 
0:0 
view
99 x 2 Advanced workshops/...trator/workflow/manager
Advanced workshops/...trator/workflow/manager
experiment_manager.py
experiment_manager.py
0:0 
0:0 
view
95 x 2 Advanced workshops/...trator/workflow/manager
Advanced workshops/...trator/workflow/manager
experiment_manager.py
experiment_manager.py
0:0 
0:0 
view
95 x 2 Advanced workshops/...trator/workflow/manager
Advanced workshops/...trator/workflow/manager
experiment_manager.py
experiment_manager.py
0:0 
0:0 
view
95 x 2 Advanced workshops/...trator/workflow/manager
Advanced workshops/...trator/workflow/manager
experiment_manager.py
experiment_manager.py
0:0 
0:0 
view
109 x 2 Advanced workshops/...trator/workflow/manager
Advanced workshops/...trator/workflow/manager
model_manager.py
model_manager.py
0:0 
0:0 
view
81 x 3 Advanced workshops/...vent2019-400/src/markov
Advanced workshops/...ge_train_DQN/src/markov
Advanced workshops/..._train_w_PPO/src/markov
sagemaker_graph_manager.py
sagemaker_graph_manager.py
sagemaker_graph_manager.py
0:0 
0:0 
0:0 
view
84 x 2 Advanced workshops/...trator/workflow/manager
Advanced workshops/...trator/workflow/manager
experiment_manager.py
experiment_manager.py
0:0 
0:0 
view
80 x 2 Advanced workshops/...trator/workflow/manager
Advanced workshops/...trator/workflow/manager
experiment_manager.py
experiment_manager.py
0:0 
0:0 
view
67 x 2 Advanced workshops/...challenge_train_DQN/src
Advanced workshops/...allenge_train_w_PPO/src
training_worker.py
training_worker.py
0:0 
0:0 
view
60 x 2 Advanced workshops/...ge_train_DQN/src/markov
Advanced workshops/..._train_w_PPO/src/markov
evaluation_worker.py
evaluation_worker.py
0:0 
0:0 
view
72 x 2 Advanced workshops/...trator/workflow/manager
Advanced workshops/...trator/workflow/manager
experiment_manager.py
experiment_manager.py
0:0 
0:0 
view
67 x 2 Advanced workshops/...ge_train_DQN/src/markov
Advanced workshops/..._train_w_PPO/src/markov
s3_boto_data_store.py
s3_boto_data_store.py
0:0 
0:0 
view
88 x 2 Advanced workshops/...trator/workflow/manager
Advanced workshops/...trator/workflow/manager
join_manager.py
join_manager.py
0:0 
0:0 
view
69 x 2 Advanced workshops/...trator/workflow/manager
Advanced workshops/...trator/workflow/manager
model_manager.py
model_manager.py
0:0 
0:0 
view