apache / ignite-3
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
ini
properties
csproj
editorconfig
in
gitattributes
clang-format
props
wxs
cmd
clang-tidy
dotsettings
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.

main502735 LOC (67%) 5,921 files
test227958 LOC (30%) 1,523 files
generated327 LOC (<1%) 5 files
build and deployment5891 LOC (<1%) 125 files
other8259 LOC (1%) 172 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
in
props
cmd
wxs
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 5921 files match defined criteria (502,735 LOC, 100.0% vs. main code):
    • 5,246 *.java files (453,381 LOC)
    • 231 *.cs files (16,540 LOC)
    • 94 *.cpp files (16,063 LOC)
    • 175 *.h files (8,351 LOC)
    • 157 *.sql files (5,897 LOC)
    • 1 *.ftl files (911 LOC)
    • 4 *.xml files (445 LOC)
    • 3 *.py files (431 LOC)
    • 3 *.cmake files (229 LOC)
    • 1 *.toml files (222 LOC)
    • 1 *.ps1 files (138 LOC)
    • 2 *.in files (47 LOC)
    • 1 *.props files (40 LOC)
    • 1 *.cmd files (23 LOC)
    • 1 *.wxs files (17 LOC)
  • " *.java" is biggest, containing 90.18% of LOC.
  • " *.wxs" is smallest, containing 0% of LOC.


*.java453381 LOC (90%) 5,246 files
*.cs16540 LOC (3%) 231 files
*.cpp16063 LOC (3%) 94 files
*.h8351 LOC (1%) 175 files
*.sql5897 LOC (1%) 157 files
*.ftl911 LOC (<1%) 1 file
*.xml445 LOC (<1%) 4 files
*.py431 LOC (<1%) 3 files
*.cmake229 LOC (<1%) 3 files
*.toml222 LOC (<1%) 1 file
*.ps1138 LOC (<1%) 1 file
*.in47 LOC (<1%) 2 files
*.props40 LOC (<1%) 1 file
*.cmd23 LOC (<1%) 1 file
*.wxs17 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
csproj
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*_tests[.].*".
    • files with paths like ".*[.][Tt]ests/.*".
    • files with paths like ".*[.][Tt]ests[.].*".
    • files with paths like ".*_test[.].*".
    • files with paths like ".*/test[.].*".
    • files with paths like ".*[-]test[-].*".
  • 1523 files match defined criteria (227,958 LOC, 45.3% vs. main code):
    • 1,325 *.java files (197,027 LOC)
    • 132 *.cs files (17,969 LOC)
    • 38 *.cpp files (11,186 LOC)
    • 12 *.h files (1,022 LOC)
    • 12 *.py files (637 LOC)
    • 2 *.csproj files (59 LOC)
    • 1 *.cmake files (40 LOC)
    • 1 *.gradle files (18 LOC)
  • " *.java" is biggest, containing 86.43% of LOC.
  • " *.gradle" is smallest, containing 0.01% of LOC.


*.java197027 LOC (86%) 1,325 files
*.cs17969 LOC (7%) 132 files
*.cpp11186 LOC (4%) 38 files
*.h1022 LOC (<1%) 12 files
*.py637 LOC (<1%) 12 files
*.csproj59 LOC (<1%) 2 files
*.cmake40 LOC (<1%) 1 file
*.gradle18 LOC (<1%) 1 file
Generated Code
Automatically generated files, not manually changed after generation.
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with any line of content like "//[ ]*Generated by .*".
  • 5 files match defined criteria (327 LOC, 0.1% vs. main code). All matches are in *.java files.


*.java327 LOC (100%) 5 files
Build and Deployment Code
Source code used to configure or support build and deployment process.
csproj
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]gradle".
    • files with paths like ".*[.]bat".
    • files with paths like ".*[.]sh".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]csproj".
    • files with paths like ".*/[.]gitattributes".
  • 125 files match defined criteria (5,891 LOC, 1.2% vs. main code):
    • 94 *.gradle files (5,218 LOC)
    • 21 *.sh files (335 LOC)
    • 5 *.bat files (222 LOC)
    • 5 *.csproj files (116 LOC)
  • " *.gradle" is biggest, containing 88.58% of LOC.
  • " *.csproj" is smallest, containing 1.97% of LOC.


*.gradle5218 LOC (88%) 94 files
*.sh335 LOC (5%) 21 files
*.bat222 LOC (3%) 5 files
*.csproj116 LOC (1%) 5 files
Other Code
txt
properties
ini
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 ".*[.]ini".
    • files with paths like ".*[.]json".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.](rst|rest|resttxt|rsttxt)".
    • files with paths like ".*[.]editorconfig".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*/checkstyle.*".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
    • files with paths like ".*[.]svg".
    • files with paths like ".*[.]adoc".
  • 172 files match defined criteria (8,259 LOC, 1.6% vs. main code):
    • 77 *.md files (4,167 LOC)
    • 38 *.java files (2,348 LOC)
    • 22 *.txt files (885 LOC)
    • 3 *.xml files (407 LOC)
    • 11 *.properties files (302 LOC)
    • 16 *.ini files (87 LOC)
    • 4 *.json files (40 LOC)
    • 1 *.gradle files (23 LOC)
  • " *.md" is biggest, containing 50.45% of LOC.
  • " *.gradle" is smallest, containing 0.28% of LOC.


*.md4167 LOC (50%) 77 files
*.java2348 LOC (28%) 38 files
*.txt885 LOC (10%) 22 files
*.xml407 LOC (4%) 3 files
*.properties302 LOC (3%) 11 files
*.ini87 LOC (1%) 16 files
*.json40 LOC (<1%) 4 files
*.gradle23 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-05-07 20:23