apache / ignite
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
csproj
cmd
in
dotsettings
props
ini
xsd
spec
targets
ndproj
pub
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.

main491078 LOC (51%) 5,442 files
test410065 LOC (43%) 3,202 files
generated2150 LOC (<1%) 6 files
build and deployment6675 LOC (<1%) 75 files
other42843 LOC (4%) 577 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
xsd
spec
in
cmd
props
targets
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 5442 files match defined criteria (491,078 LOC, 100.0% vs. main code):
    • 4,099 *.java files (370,928 LOC)
    • 726 *.cs files (57,900 LOC)
    • 164 *.cpp files (31,333 LOC)
    • 243 *.h files (19,964 LOC)
    • 141 *.xml files (5,645 LOC)
    • 2 *.xsd files (2,840 LOC)
    • 1 *.ftl files (741 LOC)
    • 31 *.yaml files (510 LOC)
    • 1 *.spec files (248 LOC)
    • 2 *.ps1 files (242 LOC)
    • 2 *.cmake files (173 LOC)
    • 2 *.in files (152 LOC)
    • 10 *.sql files (78 LOC)
    • 3 *.cmd files (66 LOC)
    • 7 *.php files (63 LOC)
    • 1 *.html files (60 LOC)
    • 1 *.rdf files (55 LOC)
    • 2 *.jsp files (32 LOC)
    • 2 *.props files (29 LOC)
    • 1 *.js files (11 LOC)
    • 1 *.targets files (8 LOC)
  • " *.java" is biggest, containing 75.53% of LOC.
  • " *.targets" is smallest, containing 0% of LOC.


*.java370928 LOC (75%) 4,099 files
*.cs57900 LOC (11%) 726 files
*.cpp31333 LOC (6%) 164 files
*.h19964 LOC (4%) 243 files
*.xml5645 LOC (1%) 141 files
*.xsd2840 LOC (<1%) 2 files
*.ftl741 LOC (<1%) 1 file
*.yaml510 LOC (<1%) 31 files
*.spec248 LOC (<1%) 1 file
*.ps1242 LOC (<1%) 2 files
*.cmake173 LOC (<1%) 2 files
*.in152 LOC (<1%) 2 files
*.sql78 LOC (<1%) 10 files
*.cmd66 LOC (<1%) 3 files
*.php63 LOC (<1%) 7 files
*.html60 LOC (<1%) 1 file
*.rdf55 LOC (<1%) 1 file
*.jsp32 LOC (<1%) 2 files
*.props29 LOC (<1%) 2 files
*.js11 LOC (<1%) 1 file
*.targets8 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
csproj
in
pub
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 ".*[-]test[-].*".
    • 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 ".*_tests[.].*".
  • 3202 files match defined criteria (410,065 LOC, 83.5% vs. main code):
    • 2,455 *.java files (316,676 LOC)
    • 376 *.cs files (55,905 LOC)
    • 81 *.cpp files (23,183 LOC)
    • 158 *.xml files (7,322 LOC)
    • 85 *.py files (4,792 LOC)
    • 8 *.h files (766 LOC)
    • 24 *.sql files (765 LOC)
    • 6 *.csproj files (342 LOC)
    • 6 *.sh files (287 LOC)
    • 1 *.in files (15 LOC)
    • 1 *.html files (11 LOC)
    • 1 *.pub files (1 LOC)
  • " *.java" is biggest, containing 77.23% of LOC.
  • " *.pub" is smallest, containing 0% of LOC.


*.java316676 LOC (77%) 2,455 files
*.cs55905 LOC (13%) 376 files
*.cpp23183 LOC (5%) 81 files
*.xml7322 LOC (1%) 158 files
*.py4792 LOC (1%) 85 files
*.h766 LOC (<1%) 8 files
*.sql765 LOC (<1%) 24 files
*.csproj342 LOC (<1%) 6 files
*.sh287 LOC (<1%) 6 files
*.in15 LOC (<1%) 1 file
*.html11 LOC (<1%) 1 file
*.pub1 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 paths like ".*/generated/.*".
  • 6 files match defined criteria (2,150 LOC, 0.4% vs. main code). All matches are in *.java files.


*.java2150 LOC (100%) 6 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 ".*/pom[.]xml".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]sh".
    • files with paths like ".*[.]bat".
    • files with paths like ".*[.]gradle".
    • files with paths like ".*[.]csproj".
  • 75 files match defined criteria (6,675 LOC, 1.4% vs. main code):
    • 43 *.xml files (5,575 LOC)
    • 15 *.sh files (671 LOC)
    • 15 *.csproj files (342 LOC)
    • 1 *.gradle files (69 LOC)
    • 1 *.bat files (18 LOC)
  • " *.xml" is biggest, containing 83.52% of LOC.
  • " *.bat" is smallest, containing 0.27% of LOC.


*.xml5575 LOC (83%) 43 files
*.sh671 LOC (10%) 15 files
*.csproj342 LOC (5%) 15 files
*.gradle69 LOC (1%) 1 file
*.bat18 LOC (<1%) 1 file
Other Code
txt
properties
csproj
ini
in
props
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]txt".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]md".
    • files with paths like ".*[.]properties".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]ini".
    • files with paths like ".*/checkstyle.*".
    • files with paths like ".*[.]json".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*/[.]dockerignore".
    • files with paths like ".*[.]svg".
    • files with paths like ".*[.]adoc".
    • files with paths like ".*/checkstyle[.]xml".
  • 577 files match defined criteria (42,843 LOC, 8.7% vs. main code):
    • 158 *.txt files (15,686 LOC)
    • 79 *.properties files (7,441 LOC)
    • 158 *.java files (5,831 LOC)
    • 1 *.sql files (5,341 LOC)
    • 74 *.cs files (4,107 LOC)
    • 24 *.xml files (1,346 LOC)
    • 21 *.md files (1,062 LOC)
    • 7 *.cpp files (1,010 LOC)
    • 41 *.csproj files (414 LOC)
    • 3 *.h files (223 LOC)
    • 3 *.php files (109 LOC)
    • 2 *.json files (98 LOC)
    • 3 *.ini files (96 LOC)
    • 1 *.in files (37 LOC)
    • 1 *.props files (23 LOC)
    • 1 *.py files (19 LOC)
  • " *.txt" is biggest, containing 36.61% of LOC.
  • " *.py" is smallest, containing 0.04% of LOC.


*.txt15686 LOC (36%) 158 files
*.properties7441 LOC (17%) 79 files
*.java5831 LOC (13%) 158 files
*.sql5341 LOC (12%) 1 file
*.cs4107 LOC (9%) 74 files
*.xml1346 LOC (3%) 24 files
*.md1062 LOC (2%) 21 files
*.cpp1010 LOC (2%) 7 files
*.csproj414 LOC (<1%) 41 files
*.h223 LOC (<1%) 3 files
*.php109 LOC (<1%) 3 files
*.json98 LOC (<1%) 2 files
*.ini96 LOC (<1%) 3 files
*.in37 LOC (<1%) 1 file
*.props23 LOC (<1%) 1 file
*.py19 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-05-07 15:50