awslabs / amazon-kinesis-video-streams-webrtc-sdk-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
  • 17% duplication:
    • 24,300 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 4,278 duplicated lines
  • 439 duplicates
system17% (4,278 lines)
Duplication per Extension
cpp37% (2,818 lines)
c9% (1,398 lines)
h2% (62 lines)
Duplication per Component (primary)
tst36% (2,736 lines)
src/source/Signaling15% (533 lines)
src/source/Ice6% (305 lines)
src/source/Crypto14% (225 lines)
src/source/PeerConnection5% (173 lines)
bench56% (82 lines)
src/source/Rtp10% (76 lines)
src/source/Stun4% (54 lines)
src/source/Sdp12% (35 lines)
src/include/com3% (25 lines)
src/source/Metrics10% (22 lines)
src/source/Rtcp3% (12 lines)
CMake0% (0 lines)
src/source0% (0 lines)
src/source/Srtp0% (0 lines)
src/source/Sctp0% (0 lines)
configs0% (0 lines)
scripts0% (0 lines)

Duplication Between Components (50+ lines)

G bench bench tst tst bench--tst 132 src/include/com src/include/com src/source/Ice src/source/Ice src/include/com--src/source/Ice 50

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 439 duplicates...
Size#FoldersFilesLinesCode
92 x 2 tst
tst
SdpApiTest.cpp
SdpApiTest.cpp
1216:1307 (5%)
1718:1809 (5%)
view
85 x 2 tst
tst
SdpApiTest.cpp
SdpApiTest.cpp
1216:1300 (5%)
1365:1449 (5%)
view
85 x 2 tst
tst
SdpApiTest.cpp
SdpApiTest.cpp
1365:1449 (5%)
1718:1802 (5%)
view
48 x 2 bench
tst
DtlsBenchmark.cpp
DtlsFunctionalityTest.cpp
10:70 (39%)
10:72 (40%)
view
40 x 2 tst
tst
DataChannelFunctionalityTest.cpp
DataChannelFunctionalityTest.cpp
188:246 (9%)
273:332 (9%)
view
40 x 2 tst
tst
DataChannelFunctionalityTest.cpp
DataChannelFunctionalityTest.cpp
359:418 (9%)
445:503 (9%)
view
38 x 2 tst
tst
DataChannelFunctionalityTest.cpp
DataChannelFunctionalityTest.cpp
275:330 (9%)
361:416 (9%)
view
38 x 2 tst
tst
DataChannelFunctionalityTest.cpp
DataChannelFunctionalityTest.cpp
190:244 (9%)
361:416 (9%)
view
38 x 2 tst
tst
DataChannelFunctionalityTest.cpp
DataChannelFunctionalityTest.cpp
275:330 (9%)
447:501 (9%)
view
38 x 2 tst
tst
DataChannelFunctionalityTest.cpp
DataChannelFunctionalityTest.cpp
190:244 (9%)
447:501 (9%)
view
32 x 2 tst
tst
SdpApiTest.cpp
SdpApiTest.cpp
1546:1577 (1%)
1639:1670 (1%)
view
29 x 2 tst
tst
DataChannelFunctionalityTest.cpp
DataChannelFunctionalityTest.cpp
30:69 (7%)
523:562 (7%)
view
27 x 2 tst
tst
SdpApiTest.cpp
SdpApiTest.cpp
1312:1338 (1%)
1814:1840 (1%)
view
27 x 2 tst
tst
SdpApiTest.cpp
SdpApiTest.cpp
1312:1338 (1%)
1479:1505 (1%)
view
27 x 2 tst
tst
SdpApiTest.cpp
SdpApiTest.cpp
1479:1505 (1%)
1814:1840 (1%)
view
26 x 2 tst
tst
PeerConnectionFunctionalityTest.cpp
PeerConnectionFunctionalityTest.cpp
372:408 (3%)
479:515 (3%)
view
25 x 2 tst
tst
DataChannelFunctionalityTest.cpp
DataChannelFunctionalityTest.cpp
190:221 (6%)
528:559 (6%)
view
25 x 2 tst
tst
DataChannelFunctionalityTest.cpp
DataChannelFunctionalityTest.cpp
361:392 (6%)
528:559 (6%)
view
25 x 2 tst
tst
DataChannelFunctionalityTest.cpp
DataChannelFunctionalityTest.cpp
35:66 (6%)
447:478 (6%)
view
25 x 2 src/include/com/amazonaw...esis/video/webrtcclient
src/source/Ice
Stats.h
IceAgent.h
192:227 (8%)
96:131 (13%)
view