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.

main218891 LOC (46%) 2,376 files
test236319 LOC (49%) 2,402 files
generated1028 LOC (<1%) 3 files
build and deployment8723 LOC (1%) 41 files
other10252 LOC (2%) 231 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 ".*".
  • 2376 files match defined criteria (218,891 LOC, 100.0% vs. main code):
    • 2,210 *.java files (206,628 LOC)
    • 23 *.js files (5,625 LOC)
    • 33 *.xml files (1,876 LOC)
    • 25 *.jsp files (1,686 LOC)
    • 67 *.html files (1,564 LOC)
    • 10 *.css files (1,133 LOC)
    • 3 *.proto files (318 LOC)
    • 1 *.rdf files (36 LOC)
    • 3 *.cfg files (13 LOC)
    • 1 *.ts files (12 LOC)
  • " *.java" is biggest, containing 94.4% of LOC.
  • " *.ts" is smallest, containing 0.01% of LOC.


*.java206628 LOC (94%) 2,210 files
*.js5625 LOC (2%) 23 files
*.xml1876 LOC (<1%) 33 files
*.jsp1686 LOC (<1%) 25 files
*.html1564 LOC (<1%) 67 files
*.css1133 LOC (<1%) 10 files
*.proto318 LOC (<1%) 3 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[.].*".
    • files with paths like ".*[-]test[-].*".
  • 2402 files match defined criteria (236,319 LOC, 108.0% vs. main code):
    • 2,157 *.java files (226,479 LOC)
    • 220 *.xml files (8,412 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.84% of LOC.
  • " *.cfg" is smallest, containing 0.01% of LOC.


*.java226479 LOC (95%) 2,157 files
*.xml8412 LOC (3%) 220 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 ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]csproj".
    • files with paths like ".*[.]bat".
    • files with paths like ".*[.]sh".
  • 41 files match defined criteria (8,723 LOC, 4.0% vs. main code):
    • 38 *.xml files (8,536 LOC)
    • 3 *.sh files (187 LOC)
  • " *.xml" is biggest, containing 97.86% of LOC.
  • " *.sh" is smallest, containing 2.14% of LOC.


*.xml8536 LOC (97%) 38 files
*.sh187 LOC (2%) 3 files
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 ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]md".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/[Dd]emos?/.*".
    • files with paths like ".*[.]svg".
    • files with paths like ".*[.]ini".
    • files with paths like ".*/[Ee]xamples/.*".
  • 231 files match defined criteria (10,252 LOC, 4.7% vs. main code):
    • 77 *.properties files (2,356 LOC)
    • 31 *.java files (1,826 LOC)
    • 2 *.js files (1,769 LOC)
    • 32 *.xml files (1,456 LOC)
    • 32 *.md files (632 LOC)
    • 12 *.cs files (516 LOC)
    • 4 *.cpp files (316 LOC)
    • 2 *.html files (310 LOC)
    • 12 *.txt files (281 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.98% of LOC.
  • " *.svg" is smallest, containing 0.15% of LOC.


*.properties2356 LOC (22%) 77 files
*.java1826 LOC (17%) 31 files
*.js1769 LOC (17%) 2 files
*.xml1456 LOC (14%) 32 files
*.md632 LOC (6%) 32 files
*.cs516 LOC (5%) 12 files
*.cpp316 LOC (3%) 4 files
*.html310 LOC (3%) 2 files
*.txt281 LOC (2%) 12 files
*.py240 LOC (2%) 12 files
*.csproj206 LOC (2%) 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.


2025-05-07 15:17