apache / activemq-artemis
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
xsd
cmd
profile
csproj
prefs
diff
project
cfg
ini
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.

main242378 LOC (36%) 1,878 files
test362390 LOC (54%) 2,831 files
generated0 LOC (0%) 0 files
build and deployment7468 LOC (1%) 62 files
other51309 LOC (7%) 904 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
prefs
profile
cmd
cfg
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 1878 files match defined criteria (242,378 LOC, 100.0% vs. main code):
    • 1,823 *.java files (234,034 LOC)
    • 26 *.js files (4,931 LOC)
    • 1 *.css files (1,981 LOC)
    • 16 *.xml files (859 LOC)
    • 1 *.prefs files (307 LOC)
    • 7 *.html files (102 LOC)
    • 1 *.rdf files (64 LOC)
    • 1 *.profile files (54 LOC)
    • 1 *.cmd files (42 LOC)
    • 1 *.cfg files (4 LOC)
  • " *.java" is biggest, containing 96.56% of LOC.
  • " *.cfg" is smallest, containing 0% of LOC.


*.java234034 LOC (96%) 1,823 files
*.js4931 LOC (2%) 26 files
*.css1981 LOC (<1%) 1 file
*.xml859 LOC (<1%) 16 files
*.prefs307 LOC (<1%) 1 file
*.html102 LOC (<1%) 7 files
*.rdf64 LOC (<1%) 1 file
*.profile54 LOC (<1%) 1 file
*.cmd42 LOC (<1%) 1 file
*.cfg4 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
profile
cmd
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 ".*[-]tests/.*".
    • files with paths like ".*[-]test[-].*".
    • files with paths like ".*[-]tests[-].*".
    • files with paths like ".*/e2e/.*".
    • files with paths like ".*_tests[.].*".
  • 2831 files match defined criteria (362,390 LOC, 149.5% vs. main code):
    • 2,425 *.java files (338,580 LOC)
    • 303 *.xml files (20,530 LOC)
    • 75 *.groovy files (2,650 LOC)
    • 14 *.sh files (454 LOC)
    • 2 *.profile files (89 LOC)
    • 11 *.html files (45 LOC)
    • 1 *.cmd files (42 LOC)
  • " *.java" is biggest, containing 93.43% of LOC.
  • " *.cmd" is smallest, containing 0.01% of LOC.


*.java338580 LOC (93%) 2,425 files
*.xml20530 LOC (5%) 303 files
*.groovy2650 LOC (<1%) 75 files
*.sh454 LOC (<1%) 14 files
*.profile89 LOC (<1%) 2 files
*.html45 LOC (<1%) 11 files
*.cmd42 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 ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]sh".
    • files with paths like ".*[.]csproj".
  • 62 files match defined criteria (7,468 LOC, 3.1% vs. main code):
    • 50 *.xml files (7,230 LOC)
    • 12 *.sh files (238 LOC)
  • " *.xml" is biggest, containing 96.81% of LOC.
  • " *.sh" is smallest, containing 3.19% of LOC.


*.xml7230 LOC (96%) 50 files
*.sh238 LOC (3%) 12 files
Other Code
properties
xsd
txt
csproj
ini
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]json".
    • files with paths like ".*[.]svg".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]properties".
    • files with paths like ".*/resources/.*[.]xsd".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/[Dd]emos?/.*".
    • files with paths like ".*/checkstyle.*".
    • files with paths like ".*/checkstyle[.]xml".
    • files with paths like ".*[.]ini".
    • files with paths like ".*[.]diff".
  • 904 files match defined criteria (51,309 LOC, 21.2% vs. main code):
    • 334 *.xml files (24,637 LOC)
    • 178 *.java files (10,772 LOC)
    • 175 *.properties files (6,471 LOC)
    • 7 *.xsd files (4,879 LOC)
    • 145 *.md files (2,841 LOC)
    • 3 *.js files (522 LOC)
    • 6 *.cs files (368 LOC)
    • 25 *.txt files (225 LOC)
    • 4 *.html files (131 LOC)
    • 3 *.css files (107 LOC)
    • 5 *.json files (94 LOC)
    • 2 *.cpp files (86 LOC)
    • 2 *.rb files (61 LOC)
    • 1 *.svg files (47 LOC)
    • 3 *.csproj files (29 LOC)
    • 9 *.sh files (21 LOC)
    • 1 *.ini files (10 LOC)
    • 1 *.hpp files (8 LOC)
  • " *.xml" is biggest, containing 48.02% of LOC.
  • " *.hpp" is smallest, containing 0.02% of LOC.


*.xml24637 LOC (48%) 334 files
*.java10772 LOC (20%) 178 files
*.properties6471 LOC (12%) 175 files
*.xsd4879 LOC (9%) 7 files
*.md2841 LOC (5%) 145 files
*.js522 LOC (1%) 3 files
*.cs368 LOC (<1%) 6 files
*.txt225 LOC (<1%) 25 files
*.html131 LOC (<1%) 4 files
*.css107 LOC (<1%) 3 files
*.json94 LOC (<1%) 5 files
*.cpp86 LOC (<1%) 2 files
*.rb61 LOC (<1%) 2 files
*.svg47 LOC (<1%) 1 file
*.csproj29 LOC (<1%) 3 files
*.sh21 LOC (<1%) 9 files
*.ini10 LOC (<1%) 1 file
*.hpp8 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2023-08-10 15:50