apache / knox
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
cfg
ini
pig
xsd
gitattributes
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.

main113260 LOC (50%) 1,568 files
test87017 LOC (38%) 673 files
generated0 LOC (0%) 0 files
build and deployment10225 LOC (4%) 99 files
other14619 LOC (6%) 187 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
cfg
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 1568 files match defined criteria (113,260 LOC, 100.0% vs. main code):
    • 1,140 *.java files (76,684 LOC)
    • 27 *.css files (16,292 LOC)
    • 227 *.xml files (11,551 LOC)
    • 121 *.ts files (5,970 LOC)
    • 30 *.html files (1,802 LOC)
    • 7 *.groovy files (344 LOC)
    • 2 *.jsp files (276 LOC)
    • 1 *.rdf files (173 LOC)
    • 3 *.js files (82 LOC)
    • 1 *.rb files (40 LOC)
    • 4 *.sql files (28 LOC)
    • 5 *.cfg files (18 LOC)
  • " *.java" is biggest, containing 67.71% of LOC.
  • " *.cfg" is smallest, containing 0.02% of LOC.


*.java76684 LOC (67%) 1,140 files
*.css16292 LOC (14%) 27 files
*.xml11551 LOC (10%) 227 files
*.ts5970 LOC (5%) 121 files
*.html1802 LOC (1%) 30 files
*.groovy344 LOC (<1%) 7 files
*.jsp276 LOC (<1%) 2 files
*.rdf173 LOC (<1%) 1 file
*.js82 LOC (<1%) 3 files
*.rb40 LOC (<1%) 1 file
*.sql28 LOC (<1%) 4 files
*.cfg18 LOC (<1%) 5 files
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
pig
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 ".*UnitTests[.][a-zA-Z0-9_]+".
    • files with paths like ".*[.]spec[.]ts".
    • files with paths like ".*/test[.].*".
    • files with paths like ".*_test[.].*".
    • files with paths like ".*[.][Tt]est[.].*".
    • files with paths like ".*[.]test[.].*".
  • 673 files match defined criteria (87,017 LOC, 76.8% vs. main code):
    • 499 *.java files (77,422 LOC)
    • 159 *.xml files (9,373 LOC)
    • 8 *.ts files (164 LOC)
    • 3 *.groovy files (38 LOC)
    • 2 *.sql files (9 LOC)
    • 1 *.html files (8 LOC)
    • 1 *.pig files (3 LOC)
  • " *.java" is biggest, containing 88.97% of LOC.
  • " *.pig" is smallest, containing 0% of LOC.


*.java77422 LOC (88%) 499 files
*.xml9373 LOC (10%) 159 files
*.ts164 LOC (<1%) 8 files
*.groovy38 LOC (<1%) 3 files
*.sql9 LOC (<1%) 2 files
*.html8 LOC (<1%) 1 file
*.pig3 LOC (<1%) 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[.]json".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/assembly[.]xml".
    • files with paths like ".*[.]sh".
    • files with paths like ".*/build[.]xml".
    • files with paths like ".*/[.]gitattributes".
  • 99 files match defined criteria (10,225 LOC, 9.0% vs. main code):
    • 96 *.xml files (10,057 LOC)
    • 3 *.sh files (168 LOC)
  • " *.xml" is biggest, containing 98.36% of LOC.
  • " *.sh" is smallest, containing 1.64% of LOC.


*.xml10057 LOC (98%) 96 files
*.sh168 LOC (1%) 3 files
Other Code
txt
properties
ini
xsd
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]txt".
    • files with paths like ".*/checkstyle.*".
    • files with paths like ".*[.]json".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]svg".
    • files with paths like ".*[.]properties".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]ini".
    • files with paths like ".*/resources/.*[.]xsd".
    • files with paths like ".*/[Ss]amples/.*".
    • files with paths like ".*/[Ee]xamples/.*".
  • 187 files match defined criteria (14,619 LOC, 12.9% vs. main code):
    • 123 *.json files (12,495 LOC)
    • 17 *.groovy files (670 LOC)
    • 20 *.txt files (512 LOC)
    • 13 *.properties files (300 LOC)
    • 3 *.java files (181 LOC)
    • 3 *.xml files (130 LOC)
    • 3 *.ini files (108 LOC)
    • 2 *.svg files (94 LOC)
    • 1 *.xsd files (87 LOC)
    • 2 *.md files (42 LOC)
  • " *.json" is biggest, containing 85.47% of LOC.
  • " *.md" is smallest, containing 0.29% of LOC.


*.json12495 LOC (85%) 123 files
*.groovy670 LOC (4%) 17 files
*.txt512 LOC (3%) 20 files
*.properties300 LOC (2%) 13 files
*.java181 LOC (1%) 3 files
*.xml130 LOC (<1%) 3 files
*.ini108 LOC (<1%) 3 files
*.svg94 LOC (<1%) 2 files
*.xsd87 LOC (<1%) 1 file
*.md42 LOC (<1%) 2 files
Analyzers
Info about analyzers used for source code examinations.


2025-05-07 15:40