apache / karaf
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
cfg
xsd
txt
vbs
xsl
pub
plist
sl
policy
xslt
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.

main104246 LOC (55%) 1,225 files
test28794 LOC (15%) 423 files
generated132 LOC (<1%) 1 file
build and deployment17700 LOC (9%) 193 files
other36249 LOC (19%) 569 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
cfg
xslt
sl
xsl
vbs
policy
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 1225 files match defined criteria (104,246 LOC, 100.0% vs. main code):
    • 1,134 *.java files (98,518 LOC)
    • 50 *.xml files (4,203 LOC)
    • 4 *.js files (586 LOC)
    • 27 *.cfg files (279 LOC)
    • 1 *.xslt files (250 LOC)
    • 2 *.css files (193 LOC)
    • 1 *.sl files (86 LOC)
    • 2 *.xsl files (80 LOC)
    • 3 *.vbs files (30 LOC)
    • 1 *.policy files (21 LOC)
  • " *.java" is biggest, containing 94.51% of LOC.
  • " *.policy" is smallest, containing 0.02% of LOC.


*.java98518 LOC (94%) 1,134 files
*.xml4203 LOC (4%) 50 files
*.js586 LOC (<1%) 4 files
*.cfg279 LOC (<1%) 27 files
*.xslt250 LOC (<1%) 1 file
*.css193 LOC (<1%) 2 files
*.sl86 LOC (<1%) 1 file
*.xsl80 LOC (<1%) 2 files
*.vbs30 LOC (<1%) 3 files
*.policy21 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
cfg
pub
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*[.][Tt]est[.].*".
    • files with paths like ".*[.]test[.].*".
    • files with paths like ".*/test[.].*".
    • files with paths like ".*/[Ss]pecs/.*".
    • files with paths like ".*[-]test[-].*".
  • 423 files match defined criteria (28,794 LOC, 27.6% vs. main code):
    • 325 *.java files (25,544 LOC)
    • 84 *.xml files (3,173 LOC)
    • 10 *.cfg files (70 LOC)
    • 1 *.groovy files (4 LOC)
    • 2 *.pub files (2 LOC)
    • 1 *.sh files (1 LOC)
  • " *.java" is biggest, containing 88.71% of LOC.
  • " *.sh" is smallest, containing 0% of LOC.


*.java25544 LOC (88%) 325 files
*.xml3173 LOC (11%) 84 files
*.cfg70 LOC (<1%) 10 files
*.groovy4 LOC (<1%) 1 file
*.pub2 LOC (<1%) 2 files
*.sh1 LOC (<1%) 1 file
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 .*".
  • 1 file matches defined criteria (132 LOC, 0.1% vs. main code). All matches are in *.xml files.


*.xml132 LOC (100%) 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 ".*[.]bat".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]sh".
  • 193 files match defined criteria (17,700 LOC, 17.0% vs. main code):
    • 189 *.xml files (17,557 LOC)
    • 2 *.bat files (86 LOC)
    • 2 *.sh files (57 LOC)
  • " *.xml" is biggest, containing 99.19% of LOC.
  • " *.sh" is smallest, containing 0.32% of LOC.


*.xml17557 LOC (99%) 189 files
*.bat86 LOC (<1%) 2 files
*.sh57 LOC (<1%) 2 files
Other Code
properties
xsd
cfg
txt
plist
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]properties".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]plist".
    • files with paths like ".*[.]adoc".
    • files with paths like ".*/asciidoc/.*".
    • files with paths like ".*[.]json".
    • files with paths like ".*/resources/.*[.]xsd".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/[.]gitignore".
  • 569 files match defined criteria (36,249 LOC, 34.8% vs. main code):
    • 47 *.adoc files (11,425 LOC)
    • 190 *.xml files (7,297 LOC)
    • 169 *.java files (5,017 LOC)
    • 71 *.properties files (4,799 LOC)
    • 41 *.md files (4,281 LOC)
    • 18 *.xsd files (3,028 LOC)
    • 5 *.json files (145 LOC)
    • 13 *.cfg files (103 LOC)
    • 9 *.txt files (53 LOC)
    • 1 *.graphql files (34 LOC)
    • 2 *.jsp files (26 LOC)
    • 1 *.plist files (19 LOC)
    • 1 *.yaml files (14 LOC)
    • 1 *.html files (8 LOC)
  • " *.adoc" is biggest, containing 31.52% of LOC.
  • " *.html" is smallest, containing 0.02% of LOC.


*.adoc11425 LOC (31%) 47 files
*.xml7297 LOC (20%) 190 files
*.java5017 LOC (13%) 169 files
*.properties4799 LOC (13%) 71 files
*.md4281 LOC (11%) 41 files
*.xsd3028 LOC (8%) 18 files
*.json145 LOC (<1%) 5 files
*.cfg103 LOC (<1%) 13 files
*.txt53 LOC (<1%) 9 files
*.graphql34 LOC (<1%) 1 file
*.jsp26 LOC (<1%) 2 files
*.plist19 LOC (<1%) 1 file
*.yaml14 LOC (<1%) 1 file
*.html8 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-05-07 15:23