aws / aws-encryption-sdk-c
File Size

The distribution of size of files (measured in lines of code).

Intro
  • File size measurements show the distribution of size of files.
  • Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 101-200 (small files), 201-500 (medium size files), 501-1000 (long files), 1001+(very long files).
  • It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
File Size Overall
  • There are 257 files with 16,619 lines of code.
    • 1 very long files (1,685 lines of code)
    • 5 long files (3,243 lines of code)
    • 14 medium size files (4,387 lines of codeclsfd_ftr_w_mp_ins)
    • 8 small files (1,102 lines of code)
    • 229 very small files (6,202 lines of code)
10% | 19% | 26% | 6% | 37%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: zoomable circles | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
in94% | 0% | 0% | 0% | 5%
c0% | 24% | 29% | 8% | 37%
cpp0% | 45% | 54% | 0% | <1%
h0% | 0% | 27% | 9% | 62%
cmake0% | 0% | 0% | 0% | 100%
Dockerfile0% | 0% | 0% | 0% | 100%
yml0% | 0% | 0% | 0% | 100%
py0% | 0% | 0% | 0% | 100%
ps10% | 0% | 0% | 0% | 100%
yaml0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
doxygen100% | 0% | 0% | 0% | 0%
source0% | 36% | 44% | 15% | 4%
verification/cbmc0% | 11% | 11% | 1% | 75%
aws-encryption-sdk-cpp/source0% | 45% | 54% | 0% | 0%
include/aws0% | 0% | 38% | 6% | 54%
cmake0% | 0% | 0% | 0% | 100%
aws-encryption-sdk-cpp/include0% | 0% | 0% | 0% | 100%
codebuild0% | 0% | 0% | 0% | 100%
codebuild/ubuntu-latest-x640% | 0% | 0% | 0% | 100%
docker-images0% | 0% | 0% | 0% | 100%
docker-images/windows_base0% | 0% | 0% | 0% | 100%
cbmc-ci0% | 0% | 0% | 0% | 100%
codebuild/test-install-project-cpp0% | 0% | 0% | 0% | 100%
codebuild/test-install-project0% | 0% | 0% | 0% | 100%
cmake/header-tester0% | 0% | 0% | 0% | 100%
docker-images/scripts0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
in
doxygen.config.in
in doxygen
1685 -
cipher.c
in source
842 24
cipher_openssl.c
in source
679 20
evp_override.c
in verification/cbmc/sources/openssl
618 52
local_cache.c
in source
579 26
kms_mrk_keyring.cpp
in aws-encryption-sdk-cpp/source
525 5
header.c
in source
462 34
caching_cmm.c
in source
444 17
session.c
in source
430 18
kms_keyring.cpp
in aws-encryption-sdk-cpp/source
408 12
make_common_data_structures.c
in verification/cbmc/sources
356 17
materials.h
in include/aws/cryptosdk
309 20
session_encrypt.c
in source
296 7
ec_override.c
in verification/cbmc/sources/openssl
277 27
cache.h
in include/aws/cryptosdk
276 13
framefmt.c
in source
233 8
session_decrypt.c
in source
232 7
raw_aes_keyring.c
in source
231 7
cpputils.cpp
in aws-encryption-sdk-cpp/source
221 18
keyring_trace.c
in source
212 17
enc_ctx.c
in source
180 5
raw_rsa_keyring.c
in source
167 4
default_cmm.c
in source
150 5
hkdf.c
in source
139 4
multi_keyring.c
in source
138 6
materials.c
in source
115 4
evp.h
in verification/cbmc/include/openssl
110 -
cipher.h
in include/aws/cryptosdk/private
103 1
header_proofs.c
in verification/cbmc
100 3
cmake
AwsCryptosdkCFlags.cmake
in cmake
97 -
aws_cryptosdk_keyring_on_decrypt_harness.c
in verification/cbmc/proofs/aws_cryptosdk_keyring_on_decrypt
91 2
aws_cryptosdk_keyring_trace_copy_all_harness.c
in verification/cbmc/proofs/aws_cryptosdk_keyring_trace_copy_all
91 7
list_utils.c
in source
88 4
session.h
in include/aws/cryptosdk/private
88 1
aws_cryptosdk_edk_list_copy_all_harness.c
in verification/cbmc/proofs/aws_cryptosdk_edk_list_copy_all
87 7
kms_keyring.h
in aws-encryption-sdk-cpp/include/aws/cryptosdk/cpp
82 1
cipher.h
in include/aws/cryptosdk
80 -
edk.c
in source
76 9
aws_cryptosdk_cmm_generate_enc_materials_harness.c
in verification/cbmc/proofs/aws_cryptosdk_cmm_generate_enc_materials
74 3
aws_cryptosdk_cmm_decrypt_materials_harness.c
in verification/cbmc/proofs/aws_cryptosdk_cmm_decrypt_materials
73 3
cmake
TestLibraryPath.cmake
in cmake
72 -
aws_cryptosdk_keyring_on_encrypt_harness.c
in verification/cbmc/proofs/aws_cryptosdk_keyring_on_encrypt
71 1
session.h
in include/aws/cryptosdk
70 -
in
version.h.in
in include/aws/cryptosdk
67 -
list_copy_all_harness.c
in verification/cbmc/proofs/list_copy_all
65 5
cpputils.h
in aws-encryption-sdk-cpp/include/aws/cryptosdk/private
64 -
header.h
in include/aws/cryptosdk/private
63 -
aws_cryptosdk_priv_try_gen_key_harness.c
in verification/cbmc/proofs/aws_cryptosdk_priv_try_gen_key
63 1
aws_cryptosdk_aes_gcm_decrypt_harness.c
in verification/cbmc/proofs/aws_cryptosdk_aes_gcm_decrypt
59 1
aws_hash_iter_overrides.c
in verification/cbmc/stubs
58 4
Files With Most Units (Top 20)
File# lines# units
evp_override.c
in verification/cbmc/sources/openssl
618 52
header.c
in source
462 34
ec_override.c
in verification/cbmc/sources/openssl
277 27
local_cache.c
in source
579 26
cipher.c
in source
842 24
cipher_openssl.c
in source
679 20
materials.h
in include/aws/cryptosdk
309 20
cpputils.cpp
in aws-encryption-sdk-cpp/source
221 18
session.c
in source
430 18
keyring_trace.c
in source
212 17
caching_cmm.c
in source
444 17
make_common_data_structures.c
in verification/cbmc/sources
356 17
cache.h
in include/aws/cryptosdk
276 13
kms_keyring.cpp
in aws-encryption-sdk-cpp/source
408 12
edk.c
in source
76 9
framefmt.c
in source
233 8
session_encrypt.c
in source
296 7
session_decrypt.c
in source
232 7
raw_aes_keyring.c
in source
231 7
aws_cryptosdk_edk_list_copy_all_harness.c
in verification/cbmc/proofs/aws_cryptosdk_edk_list_copy_all
87 7
Files With Long Lines (Top 4)

There are 4 files with lines longer than 120 characters. In total, there are 16 long lines.

File# lines# units# long lines
ubuntu-latest-x64.Dockerfile
in codebuild
48 - 5
trusty-gcc4x-x64.Dockerfile
in codebuild
47 - 5
trusty-gcc4x-x86.Dockerfile
in codebuild
47 - 5
cmake
CodeCoverageTargets.cmake
in cmake
29 - 1