awslabs / amazon-kinesis-video-streams-producer-c
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
  • 28% duplication:
    • 11,942 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 3,359 duplicated lines
  • 743 duplicates
system28% (3,359 lines)
Duplication per Extension
cpp51% (2,776 lines)
c10% (559 lines)
h1% (12 lines)
cmake6% (12 lines)
Duplication per Component (primary)
tst49% (2,776 lines)
src/source13% (559 lines)
src/include/com/amazonaws/kinesis/video/common3% (12 lines)
CMake8% (12 lines)
src/source/Common0% (0 lines)
src/source/Common/Lws0% (0 lines)
src/source/Common/Curl0% (0 lines)
src/include/com/amazonaws/kinesis/video/cproducer0% (0 lines)
ROOT0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 743 duplicates...
Size#FoldersFilesLinesCode
36 x 2 tst
tst
ProducerClientBasicTest.cpp
ProducerClientBasicTest.cpp
825:862 (4%)
897:934 (4%)
view
32 x 2 tst
tst
ProducerClientBasicTest.cpp
ProducerClientBasicTest.cpp
258:304 (4%)
391:437 (4%)
view
30 x 2 tst
tst
CallbacksProviderApiTest.cpp
CallbacksProviderApiTest.cpp
274:306 (7%)
357:389 (7%)
view
26 x 2 tst
tst
ProducerClientBasicTest.cpp
ProducerClientBasicTest.cpp
99:125 (3%)
158:184 (3%)
view
26 x 2 tst
tst
FileLoggerFunctionalityTest.cpp
FileLoggerFunctionalityTest.cpp
411:449 (6%)
474:512 (6%)
view
26 x 2 tst
tst
CallbacksProviderApiTest.cpp
CallbacksProviderApiTest.cpp
79:105 (6%)
169:195 (6%)
view
24 x 2 tst
tst
ProducerApiCallCacheTest.cpp
ProducerApiCallCacheTest.cpp
18:49 (25%)
100:131 (25%)
view
24 x 2 tst
tst
ProducerClientBasicTest.cpp
ProducerClientBasicTest.cpp
864:892 (3%)
937:965 (3%)
view
22 x 2 tst
tst
FileLoggerFunctionalityTest.cpp
FileLoggerFunctionalityTest.cpp
257:281 (5%)
328:352 (5%)
view
20 x 2 tst
tst
CallbacksProviderApiTest.cpp
CallbacksProviderApiTest.cpp
86:106 (5%)
158:178 (5%)
view
19 x 2 tst
tst
CallbacksProviderApiTest.cpp
CallbacksProviderApiTest.cpp
158:177 (5%)
176:195 (5%)
view
19 x 2 tst
tst
ProducerClientFaultInjectionTest.cpp
ProducerClientFaultInjectionTest.cpp
494:518 (6%)
529:552 (6%)
view
19 x 2 tst
tst
PlatformCallbackProviderApiTest.cpp
ProducerCallbackProviderApiTest.cpp
27:46 (33%)
16:35 (48%)
view
18 x 2 tst
tst
CallbacksProviderApiTest.cpp
CallbacksProviderApiTest.cpp
108:126 (4%)
162:180 (4%)
view
18 x 2 tst
tst
FileLoggerFunctionalityTest.cpp
FileLoggerFunctionalityTest.cpp
21:41 (4%)
149:169 (4%)
view
17 x 2 src/source
src/source
CurlApiCallbacks.c
CurlApiCallbacks.c
958:980 (1%)
1191:1213 (1%)
view
17 x 2 tst
tst
CallbacksProviderApiTest.cpp
CallbacksProviderApiTest.cpp
85:102 (4%)
139:156 (4%)
view
17 x 2 src/source
src/source
CurlApiCallbacks.c
CurlApiCallbacks.c
1499:1521 (1%)
1826:1848 (1%)
view
17 x 2 tst
tst
CallbacksProviderApiTest.cpp
CallbacksProviderApiTest.cpp
139:156 (4%)
175:192 (4%)
view
17 x 2 tst
tst
CallbacksProviderApiTest.cpp
CallbacksProviderApiTest.cpp
215:232 (4%)
233:250 (4%)
view