apache / arrow-nanoarrow
Source Code Overview

Analysis scope, overview of main, test, generated, deployment, build, and other code.

Source Code Analysis Scope
Files includes and excluded from analyses
rd
txt
pyi
pxd
in
rmd
gitattributes
cfg
clang-format
clang-tidy
Overview of Analyzed Files
Basic stats on analyzed files
Intro
For analysis purposes we separate files in scope into several categories: main, test, generated, deployment and build, and other.

  • The main category contains all manually created source code files that are being used in the production.
  • Files in the main category are used as input for other analyses: logical decomposition, concerns, duplication, file size, unit size, and conditional complexity.
  • Test source code files are used only for testing of the product. These files are normally not deployed to production.
  • Build and deployment source code files are used to configure or support build and deployment process.
  • Generated source code files are automatically generated files that have not been manually changed after generation.
  • While a source code folder may contain a number of files, we are primarily interested in the source code files that are being written and maintained by developers.
  • Files containing binaries, documentation, or third-party libraries, for instance, are excluded from analysis. The exception are third-party libraries that have been changed by developers.

main1030699 LOC (52%) 5,494 files
test695483 LOC (35%) 1,927 files
generated0 LOC (0%) 0 files
build and deployment54243 LOC (2%) 1,025 files
other196923 LOC (9%) 2,337 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
pyi
pxd
in
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 5494 files match defined criteria (1,030,699 LOC, 100.0% vs. main code):
    • 1,230 *.c files (457,970 LOC)
    • 1,230 *.h files (190,814 LOC)
    • 1,107 *.py files (134,316 LOC)
    • 328 *.pyx files (114,923 LOC)
    • 328 *.cc files (54,202 LOC)
    • 451 *.hpp files (40,385 LOC)
    • 328 *.pyi files (23,083 LOC)
    • 287 *.pxd files (9,389 LOC)
    • 164 *.in files (3,772 LOC)
    • 41 *.toml files (1,845 LOC)
  • " *.c" is biggest, containing 44.43% of LOC.
  • " *.toml" is smallest, containing 0.18% of LOC.


*.c457970 LOC (44%) 1,230 files
*.h190814 LOC (18%) 1,230 files
*.py134316 LOC (13%) 1,107 files
*.pyx114923 LOC (11%) 328 files
*.cc54202 LOC (5%) 328 files
*.hpp40385 LOC (3%) 451 files
*.pyi23083 LOC (2%) 328 files
*.pxd9389 LOC (<1%) 287 files
*.in3772 LOC (<1%) 164 files
*.toml1845 LOC (<1%) 41 files
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*_test[.].*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*/testing[.].*".
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*[-]test[-].*".
  • 1927 files match defined criteria (695,483 LOC, 67.5% vs. main code):
    • 984 *.cc files (559,445 LOC)
    • 902 *.py files (135,669 LOC)
    • 41 *.c files (369 LOC)
  • " *.cc" is biggest, containing 80.44% of LOC.
  • " *.c" is smallest, containing 0.05% of LOC.


*.cc559445 LOC (80%) 984 files
*.py135669 LOC (19%) 902 files
*.c369 LOC (<1%) 41 files
Build and Deployment Code
Source code used to configure or support build and deployment process.
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]sh".
    • files with paths like ".*[.]dockerfile".
    • files with paths like ".*/[.]gitattributes".
  • 1025 files match defined criteria (54,243 LOC, 5.3% vs. main code):
    • 779 *.sh files (44,649 LOC)
    • 246 *.dockerfile files (9,594 LOC)
  • " *.sh" is biggest, containing 82.31% of LOC.
  • " *.dockerfile" is smallest, containing 17.69% of LOC.


*.sh44649 LOC (82%) 779 files
*.dockerfile9594 LOC (17%) 246 files
Other Code
txt
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*[.]txt".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]json".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
    • files with paths like ".*[.](rst|rest|resttxt|rsttxt)".
  • 2337 files match defined criteria (196,923 LOC, 19.1% vs. main code):
    • 861 *.md files (83,353 LOC)
    • 369 *.txt files (49,528 LOC)
    • 41 *.ipynb files (29,561 LOC)
    • 123 *.json files (10,988 LOC)
    • 410 *.c files (9,799 LOC)
    • 246 *.h files (5,617 LOC)
    • 123 *.cc files (4,059 LOC)
    • 82 *.sh files (1,845 LOC)
    • 41 *.toml files (1,148 LOC)
    • 41 *.cpp files (1,025 LOC)
  • " *.md" is biggest, containing 42.33% of LOC.
  • " *.cpp" is smallest, containing 0.52% of LOC.


*.md83353 LOC (42%) 861 files
*.txt49528 LOC (25%) 369 files
*.ipynb29561 LOC (15%) 41 files
*.json10988 LOC (5%) 123 files
*.c9799 LOC (4%) 410 files
*.h5617 LOC (2%) 246 files
*.cc4059 LOC (2%) 123 files
*.sh1845 LOC (<1%) 82 files
*.toml1148 LOC (<1%) 41 files
*.cpp1025 LOC (<1%) 41 files
Analyzers
Info about analyzers used for source code examinations.


2025-05-07 20:49