apache / kyuubi
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
txt
properties
patch
in
cmd
gitattributes
cfg
tpl
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.

main123925 LOC (55%) 1,371 files
test64216 LOC (28%) 740 files
generated7799 LOC (3%) 1 file
build and deployment10497 LOC (4%) 63 files
other18294 LOC (8%) 62 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
tpl
cmd
cfg
in
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 1371 files match defined criteria (123,925 LOC, 100.0% vs. main code):
    • 795 *.scala files (62,405 LOC)
    • 203 *.java files (31,655 LOC)
    • 255 *.sql files (13,716 LOC)
    • 22 *.py files (11,504 LOC)
    • 20 *.vue files (1,781 LOC)
    • 7 *.g4 files (817 LOC)
    • 36 *.ts files (774 LOC)
    • 16 *.yaml files (659 LOC)
    • 9 *.xml files (388 LOC)
    • 3 *.scss files (107 LOC)
    • 1 *.tpl files (46 LOC)
    • 1 *.cmd files (45 LOC)
    • 1 *.cfg files (14 LOC)
    • 1 *.html files (13 LOC)
    • 1 *.in files (1 LOC)
  • " *.scala" is biggest, containing 50.36% of LOC.
  • " *.in" is smallest, containing 0% of LOC.


*.scala62405 LOC (50%) 795 files
*.java31655 LOC (25%) 203 files
*.sql13716 LOC (11%) 255 files
*.py11504 LOC (9%) 22 files
*.vue1781 LOC (1%) 20 files
*.g4817 LOC (<1%) 7 files
*.ts774 LOC (<1%) 36 files
*.yaml659 LOC (<1%) 16 files
*.xml388 LOC (<1%) 9 files
*.scss107 LOC (<1%) 3 files
*.tpl46 LOC (<1%) 1 file
*.cmd45 LOC (<1%) 1 file
*.cfg14 LOC (<1%) 1 file
*.html13 LOC (<1%) 1 file
*.in1 LOC (<1%) 1 file
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 ".*/[Tt]est/.*".
    • files with paths like ".*[-]tests/.*".
    • files with paths like ".*[.]spec[.]ts".
    • files with paths like ".*/vitest[.].*".
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*/testing[.].*".
    • files with paths like ".*/test[.].*".
  • 740 files match defined criteria (64,216 LOC, 51.8% vs. main code):
    • 487 *.scala files (50,780 LOC)
    • 138 *.sql files (7,362 LOC)
    • 37 *.java files (2,809 LOC)
    • 52 *.xml files (1,747 LOC)
    • 16 *.py files (1,299 LOC)
    • 8 *.ts files (183 LOC)
    • 2 *.yaml files (36 LOC)
  • " *.scala" is biggest, containing 79.08% of LOC.
  • " *.yaml" is smallest, containing 0.06% of LOC.


*.scala50780 LOC (79%) 487 files
*.sql7362 LOC (11%) 138 files
*.java2809 LOC (4%) 37 files
*.xml1747 LOC (2%) 52 files
*.py1299 LOC (2%) 16 files
*.ts183 LOC (<1%) 8 files
*.yaml36 LOC (<1%) 2 files
Generated Code
Automatically generated files, not manually changed after generation.
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/package[-]lock[.]json".
  • 1 file matches defined criteria (7,799 LOC, 6.3% vs. main code). All matches are in *.json files.


*.json7799 LOC (100%) 1 file
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 ".*/pom[.]xml".
    • files with paths like ".*/package[-]lock[.]json".
    • files with paths like ".*/package[.]json".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/pnpm.*[.]ya?ml".
    • files with paths like ".*[.]sh".
    • files with paths like ".*/[.]gitattributes".
    • files with paths like ".*[.]bat".
  • 63 files match defined criteria (10,497 LOC, 8.5% vs. main code):
    • 38 *.xml files (7,239 LOC)
    • 1 *.yaml files (2,656 LOC)
    • 24 *.sh files (602 LOC)
  • " *.xml" is biggest, containing 68.96% of LOC.
  • " *.sh" is smallest, containing 5.73% of LOC.


*.xml7239 LOC (68%) 38 files
*.yaml2656 LOC (25%) 1 file
*.sh602 LOC (5%) 24 files
Other Code
txt
properties
patch
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]properties".
    • files with paths like ".*[.]txt".
    • files with paths like ".*[.]json".
    • files with paths like ".*[.]svg".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]patch".
    • files with paths like ".*[.](rst|rest|resttxt|rsttxt)".
    • files with paths like ".*/[.]dockerignore".
  • 62 files match defined criteria (18,294 LOC, 14.8% vs. main code):
    • 11 *.json files (16,289 LOC)
    • 25 *.txt files (966 LOC)
    • 12 *.md files (502 LOC)
    • 11 *.properties files (320 LOC)
    • 1 *.rst files (162 LOC)
    • 1 *.patch files (35 LOC)
    • 1 *.svg files (20 LOC)
  • " *.json" is biggest, containing 89.04% of LOC.
  • " *.svg" is smallest, containing 0.11% of LOC.


*.json16289 LOC (89%) 11 files
*.txt966 LOC (5%) 25 files
*.md502 LOC (2%) 12 files
*.properties320 LOC (1%) 11 files
*.rst162 LOC (<1%) 1 file
*.patch35 LOC (<1%) 1 file
*.svg20 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-05-07 17:31