awslabs / aws-c-io
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:
    • 19,801 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,182 duplicated lines
  • 165 duplicates
system11% (2,182 lines)
Duplication per Extension
c11% (1,971 lines)
h6% (211 lines)
Duplication per Component (primary)
source/windows23% (1,259 lines)
source3% (251 lines)
include/aws6% (211 lines)
source/posix11% (188 lines)
source/bsd20% (123 lines)
source/darwin6% (59 lines)
source/linux13% (56 lines)
source/s2n3% (35 lines)
codebuild0% (0 lines)
cmake0% (0 lines)

Duplication Between Components (50+ lines)

G source/posix source/posix source/windows source/windows source/posix--source/windows 178 source/bsd source/bsd source/bsd--source/windows 108 source/linux source/linux source/bsd--source/linux 82 source/linux--source/windows 70 include/aws include/aws source source include/aws--source 70

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 165 duplicates...
Size#FoldersFilesLinesCode
40 x 2 source/windows/iocp
source/windows/iocp
socket.c
socket.c
2859:2905 (1%)
2954:2999 (1%)
view
36 x 2 source/windows/iocp
source/windows/iocp
socket.c
socket.c
591:633 (1%)
683:725 (1%)
view
26 x 2 source/windows
source/windows
secure_channel_tls_handler.c
secure_channel_tls_handler.c
609:639 (1%)
887:917 (1%)
view
23 x 2 source/windows/iocp
source/windows/iocp
socket.c
socket.c
2919:2950 (<1%)
3023:3055 (<1%)
view
21 x 2 source/windows/iocp
source/windows/iocp
socket.c
socket.c
2526:2553 (<1%)
2588:2615 (<1%)
view
21 x 2 source/windows/iocp
source/windows/iocp
socket.c
socket.c
1951:1974 (<1%)
2112:2135 (<1%)
view
20 x 2 source/windows
source/windows
secure_channel_tls_handler.c
secure_channel_tls_handler.c
672:700 (1%)
962:990 (1%)
view
18 x 2 source/windows/iocp
source/windows/iocp
socket.c
socket.c
2719:2737 (<1%)
3003:3021 (<1%)
view
18 x 2 source/windows/iocp
source/windows/iocp
socket.c
socket.c
2555:2582 (<1%)
2619:2646 (<1%)
view
17 x 2 source/windows/iocp
source/windows/iocp
socket.c
socket.c
2777:2793 (<1%)
2901:2917 (<1%)
view
17 x 2 source/windows/iocp
source/windows/iocp
socket.c
socket.c
637:654 (<1%)
730:747 (<1%)
view
16 x 2 source/windows/iocp
source/windows/iocp
socket.c
socket.c
656:675 (<1%)
748:768 (<1%)
view
15 x 2 source/bsd
source/linux
kqueue_event_loop.c
epoll_event_loop.c
27:41 (2%)
46:60 (3%)
view
14 x 2 source/bsd
source/windows/iocp
kqueue_event_loop.c
iocp_event_loop.c
454:471 (2%)
433:449 (3%)
view
14 x 2 source/bsd
source/windows/iocp
kqueue_event_loop.c
iocp_event_loop.c
924:947 (2%)
721:743 (3%)
view
14 x 2 source/windows
source/windows
secure_channel_tls_handler.c
secure_channel_tls_handler.c
579:595 (1%)
855:871 (1%)
view
13 x 2 source/windows
source/windows
windows_pki_utils.c
windows_pki_utils.c
193:206 (2%)
581:594 (2%)
view
13 x 2 source/windows
source/windows
secure_channel_tls_handler.c
secure_channel_tls_handler.c
649:664 (<1%)
937:952 (<1%)
view
12 x 2 source/windows/iocp
source/windows/iocp
socket.c
socket.c
1977:1992 (<1%)
2143:2158 (<1%)
view
12 x 2 source/windows
source/windows
secure_channel_tls_handler.c
secure_channel_tls_handler.c
711:732 (<1%)
1001:1017 (<1%)
view
Duplicated Units
The list of top 2 duplicated units.
See data for all 2 unit duplicates...
Size#FoldersFilesLinesCode
10 x 2 source/posix
source/windows/iocp
socket.c
socket.c
87:97 
268:278 
view
8 x 2 source/darwin
source/windows
secure_transport_tls_channel_handler.c
secure_channel_tls_handler.c
59:68 
165:174 
view