apache / ranger
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
properties
cfg
txt
npmignore
gitattributes
policy
prettierignore
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.

main375512 LOC (72%) 2,264 files
test51899 LOC (9%) 268 files
generated3631 LOC (<1%) 2 files
build and deployment21226 LOC (4%) 172 files
other68927 LOC (13%) 293 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
cfg
policy
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 2264 files match defined criteria (375,512 LOC, 100.0% vs. main code):
    • 1,279 *.java files (205,678 LOC)
    • 96 *.jsx files (48,832 LOC)
    • 189 *.js files (43,602 LOC)
    • 317 *.sql files (33,348 LOC)
    • 147 *.xml files (15,471 LOC)
    • 74 *.py files (11,698 LOC)
    • 16 *.css files (8,706 LOC)
    • 84 *.html files (6,879 LOC)
    • 56 *.cfg files (941 LOC)
    • 2 *.c files (125 LOC)
    • 1 *.less files (108 LOC)
    • 1 *.jsp files (73 LOC)
    • 1 *.policy files (35 LOC)
    • 1 *.awk files (16 LOC)
  • " *.java" is biggest, containing 54.77% of LOC.
  • " *.awk" is smallest, containing 0% of LOC.


*.java205678 LOC (54%) 1,279 files
*.jsx48832 LOC (13%) 96 files
*.js43602 LOC (11%) 189 files
*.sql33348 LOC (8%) 317 files
*.xml15471 LOC (4%) 147 files
*.py11698 LOC (3%) 74 files
*.css8706 LOC (2%) 16 files
*.html6879 LOC (1%) 84 files
*.cfg941 LOC (<1%) 56 files
*.c125 LOC (<1%) 2 files
*.less108 LOC (<1%) 1 file
*.jsp73 LOC (<1%) 1 file
*.policy35 LOC (<1%) 1 file
*.awk16 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 ".*/test_.*".
    • files with paths like ".*[-]tests/.*".
    • files with paths like ".*/[Tt]ests/.*".
  • 268 files match defined criteria (51,899 LOC, 13.8% vs. main code):
    • 214 *.java files (49,961 LOC)
    • 43 *.xml files (1,514 LOC)
    • 2 *.py files (221 LOC)
    • 5 *.js files (74 LOC)
    • 3 *.yaml files (74 LOC)
    • 1 *.sh files (55 LOC)
  • " *.java" is biggest, containing 96.27% of LOC.
  • " *.sh" is smallest, containing 0.11% of LOC.


*.java49961 LOC (96%) 214 files
*.xml1514 LOC (2%) 43 files
*.py221 LOC (<1%) 2 files
*.js74 LOC (<1%) 5 files
*.yaml74 LOC (<1%) 3 files
*.sh55 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 ".*/package[-]lock[.]json".
  • 2 files match defined criteria (3,631 LOC, 1.0% vs. main code). All matches are in *.json files.


*.json3631 LOC (100%) 2 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 ".*/pom[.]xml".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]sh".
    • files with paths like ".*/package[-]lock[.]json".
    • files with paths like ".*/package[.]json".
    • files with paths like ".*([.]|/)webpack([.]|/).*".
    • files with paths like ".*/[.]gitattributes".
  • 172 files match defined criteria (21,226 LOC, 5.7% vs. main code):
    • 68 *.xml files (11,486 LOC)
    • 101 *.sh files (9,617 LOC)
    • 3 *.js files (123 LOC)
  • " *.xml" is biggest, containing 54.11% of LOC.
  • " *.js" is smallest, containing 0.58% of LOC.


*.xml11486 LOC (54%) 68 files
*.sh9617 LOC (45%) 101 files
*.js123 LOC (<1%) 3 files
Other Code
properties
txt
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]properties".
    • files with paths like ".*[.]json".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]md".
    • files with paths like ".*[.]svg".
    • files with paths like ".*/[.]prettierignore".
    • files with paths like ".*/[.]npmignore".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
    • files with paths like ".*/checkstyle[.]xml".
    • files with paths like ".*/checkstyle.*".
    • files with paths like ".*/[.]dockerignore".
    • files with paths like ".*/[Ss]amples/.*".
  • 293 files match defined criteria (68,927 LOC, 18.4% vs. main code):
    • 174 *.json files (53,717 LOC)
    • 18 *.svg files (6,595 LOC)
    • 66 *.properties files (6,177 LOC)
    • 10 *.md files (1,018 LOC)
    • 17 *.txt files (795 LOC)
    • 6 *.java files (314 LOC)
    • 2 *.xml files (311 LOC)
  • " *.json" is biggest, containing 77.93% of LOC.
  • " *.xml" is smallest, containing 0.45% of LOC.


*.json53717 LOC (77%) 174 files
*.svg6595 LOC (9%) 18 files
*.properties6177 LOC (8%) 66 files
*.md1018 LOC (1%) 10 files
*.txt795 LOC (1%) 17 files
*.java314 LOC (<1%) 6 files
*.xml311 LOC (<1%) 2 files
Analyzers
Info about analyzers used for source code examinations.


2025-05-07 15:43