apache / activemq
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
txt
cfg
csproj
ini
proto
command
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.

main217022 LOC (46%) 2,360 files
test231882 LOC (49%) 2,368 files
generated1028 LOC (<1%) 3 files
build and deployment8715 LOC (1%) 41 files
other10337 LOC (2%) 232 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
proto
cfg
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 2360 files match defined criteria (217,022 LOC, 100.0% vs. main code):
    • 2,195 *.java files (204,830 LOC)
    • 23 *.js files (5,625 LOC)
    • 33 *.xml files (1,839 LOC)
    • 25 *.jsp files (1,705 LOC)
    • 67 *.html files (1,564 LOC)
    • 10 *.css files (1,133 LOC)
    • 2 *.proto files (265 LOC)
    • 1 *.rdf files (36 LOC)
    • 3 *.cfg files (13 LOC)
    • 1 *.ts files (12 LOC)
  • " *.java" is biggest, containing 94.38% of LOC.
  • " *.ts" is smallest, containing 0.01% of LOC.


*.java204830 LOC (94%) 2,195 files
*.js5625 LOC (2%) 23 files
*.xml1839 LOC (<1%) 33 files
*.jsp1705 LOC (<1%) 25 files
*.html1564 LOC (<1%) 67 files
*.css1133 LOC (<1%) 10 files
*.proto265 LOC (<1%) 2 files
*.rdf36 LOC (<1%) 1 file
*.cfg13 LOC (<1%) 3 files
*.ts12 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
cfg
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 ".*[-]test[-].*".
  • 2368 files match defined criteria (231,882 LOC, 106.8% vs. main code):
    • 2,129 *.java files (222,161 LOC)
    • 214 *.xml files (8,293 LOC)
    • 1 *.js files (821 LOC)
    • 12 *.html files (315 LOC)
    • 3 *.jsp files (122 LOC)
    • 5 *.ts files (114 LOC)
    • 1 *.css files (44 LOC)
    • 3 *.cfg files (12 LOC)
  • " *.java" is biggest, containing 95.81% of LOC.
  • " *.cfg" is smallest, containing 0.01% of LOC.


*.java222161 LOC (95%) 2,129 files
*.xml8293 LOC (3%) 214 files
*.js821 LOC (<1%) 1 file
*.html315 LOC (<1%) 12 files
*.jsp122 LOC (<1%) 3 files
*.ts114 LOC (<1%) 5 files
*.css44 LOC (<1%) 1 file
*.cfg12 LOC (<1%) 3 files
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 .*".
  • 3 files match defined criteria (1,028 LOC, 0.5% vs. main code). All matches are in *.js files.


*.js1028 LOC (100%) 3 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 ".*[.]sh".
    • files with paths like ".*/docker[-]compose[.]yml".
    • files with paths like ".*[.]bat".
    • files with paths like ".*[.]csproj".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
  • 41 files match defined criteria (8,715 LOC, 4.0% vs. main code):
    • 38 *.xml files (8,562 LOC)
    • 2 *.sh files (132 LOC)
    • 1 *.yml files (21 LOC)
  • " *.xml" is biggest, containing 98.24% of LOC.
  • " *.yml" is smallest, containing 0.24% of LOC.


*.xml8562 LOC (98%) 38 files
*.sh132 LOC (1%) 2 files
*.yml21 LOC (<1%) 1 file
Other Code
properties
txt
csproj
ini
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]properties".
    • files with paths like ".*[.]txt".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]json".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*[.]svg".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/[Dd]emos?/.*".
    • files with paths like ".*[.]ini".
  • 232 files match defined criteria (10,337 LOC, 4.8% vs. main code):
    • 78 *.properties files (2,370 LOC)
    • 31 *.java files (1,818 LOC)
    • 2 *.js files (1,769 LOC)
    • 32 *.xml files (1,548 LOC)
    • 32 *.md files (621 LOC)
    • 12 *.cs files (516 LOC)
    • 4 *.cpp files (316 LOC)
    • 2 *.html files (310 LOC)
    • 12 *.txt files (279 LOC)
    • 12 *.py files (240 LOC)
    • 4 *.csproj files (206 LOC)
    • 4 *.ini files (160 LOC)
    • 4 *.rb files (92 LOC)
    • 2 *.php files (77 LOC)
    • 1 *.svg files (15 LOC)
  • " *.properties" is biggest, containing 22.93% of LOC.
  • " *.svg" is smallest, containing 0.15% of LOC.


*.properties2370 LOC (22%) 78 files
*.java1818 LOC (17%) 31 files
*.js1769 LOC (17%) 2 files
*.xml1548 LOC (14%) 32 files
*.md621 LOC (6%) 32 files
*.cs516 LOC (4%) 12 files
*.cpp316 LOC (3%) 4 files
*.html310 LOC (2%) 2 files
*.txt279 LOC (2%) 12 files
*.py240 LOC (2%) 12 files
*.csproj206 LOC (1%) 4 files
*.ini160 LOC (1%) 4 files
*.rb92 LOC (<1%) 4 files
*.php77 LOC (<1%) 2 files
*.svg15 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2023-08-10 10:54