apache / logging-log4j2
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
x
xslt
htaccess
cmd
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.

main144092 LOC (51%) 3,663 files
test90973 LOC (32%) 1,484 files
generated0 LOC (0%) 0 files
build and deployment5751 LOC (2%) 43 files
other39940 LOC (14%) 655 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
xslt
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 3663 files match defined criteria (144,092 LOC, 100.0% vs. main code):
    • 1,464 *.java files (125,052 LOC)
    • 2,192 *.xml files (18,422 LOC)
    • 2 *.xslt files (185 LOC)
    • 2 *.ftl files (164 LOC)
    • 1 *.js files (144 LOC)
    • 1 *.yaml files (85 LOC)
    • 1 *.toml files (40 LOC)
  • " *.java" is biggest, containing 86.79% of LOC.
  • " *.toml" is smallest, containing 0.03% of LOC.


*.java125052 LOC (86%) 1,464 files
*.xml18422 LOC (12%) 2,192 files
*.xslt185 LOC (<1%) 2 files
*.ftl164 LOC (<1%) 2 files
*.js144 LOC (<1%) 1 file
*.yaml85 LOC (<1%) 1 file
*.toml40 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 ".*/[Tt]ests/.*".
    • files with paths like ".*[-]test[-].*".
    • files with paths like ".*[-]tests/.*".
    • files with paths like ".*_tests[.].*".
  • 1484 files match defined criteria (90,973 LOC, 63.1% vs. main code):
    • 1,069 *.java files (82,160 LOC)
    • 399 *.xml files (8,381 LOC)
    • 10 *.yaml files (294 LOC)
    • 3 *.sh files (90 LOC)
    • 1 *.bat files (40 LOC)
    • 1 *.js files (7 LOC)
    • 1 *.groovy files (1 LOC)
  • " *.java" is biggest, containing 90.31% of LOC.
  • " *.groovy" is smallest, containing 0% of LOC.


*.java82160 LOC (90%) 1,069 files
*.xml8381 LOC (9%) 399 files
*.yaml294 LOC (<1%) 10 files
*.sh90 LOC (<1%) 3 files
*.bat40 LOC (<1%) 1 file
*.js7 LOC (<1%) 1 file
*.groovy1 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 ".*[.]sh".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]bat".
    • files with paths like ".*/package[.]json".
    • files with paths like ".*/[.]gitattributes".
  • 43 files match defined criteria (5,751 LOC, 4.0% vs. main code):
    • 41 *.xml files (5,607 LOC)
    • 2 *.sh files (144 LOC)
  • " *.xml" is biggest, containing 97.5% of LOC.
  • " *.sh" is smallest, containing 2.5% of LOC.


*.xml5607 LOC (97%) 41 files
*.sh144 LOC (2%) 2 files
Other Code
properties
txt
xsd
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]adoc".
    • files with paths like ".*[.]properties".
    • files with paths like ".*[.]txt".
    • files with paths like ".*[.]json".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/resources/.*[.]xsd".
    • files with paths like ".*/[.]htaccess".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
  • 655 files match defined criteria (39,940 LOC, 27.7% vs. main code):
    • 146 *.adoc files (25,206 LOC)
    • 240 *.properties files (7,303 LOC)
    • 97 *.json files (3,469 LOC)
    • 76 *.xml files (1,738 LOC)
    • 68 *.yaml files (1,309 LOC)
    • 15 *.java files (428 LOC)
    • 4 *.txt files (246 LOC)
    • 2 *.xsd files (80 LOC)
    • 1 *.md files (68 LOC)
    • 1 *.jsp files (51 LOC)
    • 2 *.sql files (22 LOC)
    • 3 *.groovy files (20 LOC)
  • " *.adoc" is biggest, containing 63.11% of LOC.
  • " *.groovy" is smallest, containing 0.05% of LOC.


*.adoc25206 LOC (63%) 146 files
*.properties7303 LOC (18%) 240 files
*.json3469 LOC (8%) 97 files
*.xml1738 LOC (4%) 76 files
*.yaml1309 LOC (3%) 68 files
*.java428 LOC (1%) 15 files
*.txt246 LOC (<1%) 4 files
*.xsd80 LOC (<1%) 2 files
*.md68 LOC (<1%) 1 file
*.jsp51 LOC (<1%) 1 file
*.sql22 LOC (<1%) 2 files
*.groovy20 LOC (<1%) 3 files
Analyzers
Info about analyzers used for source code examinations.


2025-05-07 15:34