awslabs / aws-iot-device-client
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
  • 3% duplication:
    • 5,375 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 184 duplicated lines
  • 20 duplicates
system3% (184 lines)
Duplication per Extension
cpp2% (93 lines)
h5% (64 lines)
cmake36% (27 lines)
Duplication per Component (primary)
source/logging12% (50 lines)
source/shadow4% (30 lines)
cmake-toolchain36% (27 lines)
source/util5% (26 lines)
source/config1% (24 lines)
source/fleetprovisioning3% (20 lines)
source/tunneling1% (7 lines)
source0% (0 lines)
source/jobs0% (0 lines)
source/devicedefender0% (0 lines)
setup0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 20 duplicates...
Size#FoldersFilesLinesCode
12 x 2 source/config
source/config
Config.cpp
Config.cpp
82:104 (1%)
980:1002 (1%)
view
9 x 2 cmake-toolchain
cmake-toolchain
cmake
Toolchain-aarch64.cmake
Toolchain-mips.cmake
18:29 (36%)
18:29 (36%)
view
9 x 2 cmake-toolchain
cmake-toolchain
cmake
Toolchain-aarch64.cmake
Toolchain-armhf.cmake
18:29 (36%)
18:29 (36%)
view
9 x 2 cmake-toolchain
cmake-toolchain
cmake
Toolchain-armhf.cmake
Toolchain-mips.cmake
18:29 (36%)
18:29 (36%)
view
7 x 2 source/fleetprovisioning
source/fleetprovisioning
FleetProvisioning.cpp
FleetProvisioning.cpp
138:146 (1%)
422:430 (1%)
view
7 x 2 source/shadow
source/shadow
SampleShadowFeature.cpp
SampleShadowFeature.cpp
133:140 (2%)
409:417 (2%)
view
7 x 2 source/shadow
source/tunneling
SampleShadowFeature.h
SecureTunnelingFeature.h
25:35 (15%)
49:57 (17%)
view
7 x 2 source/util
source/util
FileUtils.cpp
FileUtils.cpp
289:297 (3%)
300:307 (3%)
view
7 x 2 source/logging
source/logging
FileLogger.h
StdOutLogger.h
101:112 (22%)
66:77 (29%)
view
6 x 2 source/logging
source/logging
FileLogger.h
StdOutLogger.h
85:91 (19%)
59:65 (25%)
view
6 x 2 source/util
source/util
FileUtils.cpp
FileUtils.cpp
104:112 (2%)
125:133 (2%)
view
6 x 2 source/logging
source/logging
Logger.h
Logger.h
143:149 (8%)
197:203 (8%)
view
6 x 2 source/logging
source/logging
Logger.h
Logger.h
116:122 (8%)
170:176 (8%)
view
6 x 2 source/logging
source/logging
Logger.h
Logger.h
170:176 (8%)
197:203 (8%)
view
6 x 2 source/shadow
source/shadow
ConfigShadow.cpp
SampleShadowFeature.cpp
366:372 (2%)
406:412 (2%)
view
6 x 2 source/fleetprovisioning
source/fleetprovisioning
FleetProvisioning.cpp
FleetProvisioning.cpp
138:145 (1%)
293:300 (1%)
view
6 x 2 source/logging
source/logging
Logger.h
Logger.h
143:149 (8%)
170:176 (8%)
view
6 x 2 source/logging
source/logging
Logger.h
Logger.h
116:122 (8%)
143:149 (8%)
view
6 x 2 source/fleetprovisioning
source/fleetprovisioning
FleetProvisioning.cpp
FleetProvisioning.cpp
293:300 (1%)
422:429 (1%)
view
6 x 2 source/logging
source/logging
Logger.h
Logger.h
116:122 (8%)
197:203 (8%)
view
Duplicated Units
The list of top 3 duplicated units.
See data for all 3 unit duplicates...
Size#FoldersFilesLinesCode
11 x 2 source/shadow
source/shadow
SampleShadowFeature.cpp
ConfigShadow.cpp
82:94 
64:76 
view
9 x 2 source/jobs
source/jobs
JobsFeature.cpp
JobsFeature.cpp
59:69 
71:81 
view
6 x 2 source/shadow
source/shadow
SampleShadowFeature.cpp
ConfigShadow.cpp
74:80 
56:62 
view