apache / struts
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
xsl
gitattributes
cfg
cmd
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.

main124712 LOC (55%) 1,923 files
test87495 LOC (39%) 953 files
generated0 LOC (0%) 0 files
build and deployment2832 LOC (1%) 31 files
other8147 LOC (3%) 389 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
xsl
cfg
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 1923 files match defined criteria (124,712 LOC, 100.0% vs. main code):
    • 1,427 *.java files (80,089 LOC)
    • 165 *.html files (26,822 LOC)
    • 128 *.ftl files (7,566 LOC)
    • 90 *.xml files (4,532 LOC)
    • 94 *.jsp files (3,967 LOC)
    • 9 *.css files (1,046 LOC)
    • 8 *.js files (662 LOC)
    • 1 *.xsl files (23 LOC)
    • 1 *.cfg files (5 LOC)
  • " *.java" is biggest, containing 64.22% of LOC.
  • " *.cfg" is smallest, containing 0% of LOC.


*.java80089 LOC (64%) 1,427 files
*.html26822 LOC (21%) 165 files
*.ftl7566 LOC (6%) 128 files
*.xml4532 LOC (3%) 90 files
*.jsp3967 LOC (3%) 94 files
*.css1046 LOC (<1%) 9 files
*.js662 LOC (<1%) 8 files
*.xsl23 LOC (<1%) 1 file
*.cfg5 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
xsl
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 ".*/test[.].*".
  • 953 files match defined criteria (87,495 LOC, 70.2% vs. main code):
    • 781 *.java files (83,881 LOC)
    • 140 *.xml files (3,031 LOC)
    • 21 *.ftl files (469 LOC)
    • 8 *.xsl files (89 LOC)
    • 2 *.jsp files (22 LOC)
    • 1 *.css files (3 LOC)
  • " *.java" is biggest, containing 95.87% of LOC.
  • " *.css" is smallest, containing 0% of LOC.


*.java83881 LOC (95%) 781 files
*.xml3031 LOC (3%) 140 files
*.ftl469 LOC (<1%) 21 files
*.xsl89 LOC (<1%) 8 files
*.jsp22 LOC (<1%) 2 files
*.css3 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 ".*/[.]gitattributes".
    • files with paths like ".*/build[.]xml".
    • files with paths like ".*/assembly/src[.]xml".
  • 31 files match defined criteria (2,832 LOC, 2.3% vs. main code). All matches are in *.xml files.


*.xml2832 LOC (100%) 31 files
Other Code
txt
properties
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]properties".
    • files with paths like ".*/[Dd]emos?/.*".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
  • 389 files match defined criteria (8,147 LOC, 6.5% vs. main code):
    • 275 *.txt files (5,565 LOC)
    • 84 *.properties files (2,157 LOC)
    • 26 *.md files (241 LOC)
    • 4 *.java files (184 LOC)
  • " *.txt" is biggest, containing 68.31% of LOC.
  • " *.java" is smallest, containing 2.26% of LOC.


*.txt5565 LOC (68%) 275 files
*.properties2157 LOC (26%) 84 files
*.md241 LOC (2%) 26 files
*.java184 LOC (2%) 4 files
Analyzers
Info about analyzers used for source code examinations.


2025-05-07 15:38