apache / xmlbeans
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
xsd
txt
cmd
properties
xs
xq
wsdl
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.

main81964 LOC (39%) 497 files
test89403 LOC (43%) 974 files
generated51 LOC (<1%) 2 files
build and deployment1528 LOC (<1%) 6 files
other34230 LOC (16%) 507 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
xsd
cmd
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 497 files match defined criteria (81,964 LOC, 100.0% vs. main code):
    • 475 *.java files (78,018 LOC)
    • 6 *.xsd files (2,989 LOC)
    • 1 *.xml files (411 LOC)
    • 13 *.cmd files (294 LOC)
    • 1 *.rdf files (211 LOC)
    • 1 *.html files (41 LOC)
  • " *.java" is biggest, containing 95.19% of LOC.
  • " *.html" is smallest, containing 0.05% of LOC.


*.java78018 LOC (95%) 475 files
*.xsd2989 LOC (3%) 6 files
*.xml411 LOC (<1%) 1 file
*.cmd294 LOC (<1%) 13 files
*.rdf211 LOC (<1%) 1 file
*.html41 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
wsdl
xsd
xs
xq
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*/mock[a-zA-Z0-9_\- ]+/.*".
    • files with paths like ".*/test[.].*".
    • files with paths like ".*_test[.].*".
  • 974 files match defined criteria (89,403 LOC, 109.1% vs. main code):
    • 779 *.java files (53,913 LOC)
    • 177 *.xml files (34,383 LOC)
    • 1 *.wsdl files (578 LOC)
    • 1 *.html files (201 LOC)
    • 5 *.xsd files (141 LOC)
    • 6 *.xs files (137 LOC)
    • 3 *.xq files (45 LOC)
    • 1 *.sh files (3 LOC)
    • 1 *.bat files (2 LOC)
  • " *.java" is biggest, containing 60.3% of LOC.
  • " *.bat" is smallest, containing 0% of LOC.


*.java53913 LOC (60%) 779 files
*.xml34383 LOC (38%) 177 files
*.wsdl578 LOC (<1%) 1 file
*.html201 LOC (<1%) 1 file
*.xsd141 LOC (<1%) 5 files
*.xs137 LOC (<1%) 6 files
*.xq45 LOC (<1%) 3 files
*.sh3 LOC (<1%) 1 file
*.bat2 LOC (<1%) 1 file
Generated Code
Automatically generated files, not manually changed after generation.
xsd
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with any line of content like "\<\!\-\-[ ]*Generated by .*".
  • 2 files match defined criteria (51 LOC, 0.1% vs. main code). All matches are in *.xsd files.


*.xsd51 LOC (100%) 2 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 ".*[.]sh".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/build[.]xml".
    • files with paths like ".*[.]gradle".
    • files with paths like ".*[.]bat".
  • 6 files match defined criteria (1,528 LOC, 1.9% vs. main code):
    • 2 *.xml files (885 LOC)
    • 3 *.gradle files (642 LOC)
    • 1 *.sh files (1 LOC)
  • " *.xml" is biggest, containing 57.92% of LOC.
  • " *.sh" is smallest, containing 0.07% of LOC.


*.xml885 LOC (57%) 2 files
*.gradle642 LOC (42%) 3 files
*.sh1 LOC (<1%) 1 file
Other Code
xsd
txt
properties
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 ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
    • files with paths like ".*/resources/.*[.]xsd".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/[Ss]amples/.*".
  • 507 files match defined criteria (34,230 LOC, 41.8% vs. main code):
    • 386 *.xsd files (26,277 LOC)
    • 46 *.xml files (2,672 LOC)
    • 33 *.java files (2,022 LOC)
    • 32 *.txt files (1,930 LOC)
    • 6 *.properties files (853 LOC)
    • 1 *.html files (379 LOC)
    • 2 *.md files (54 LOC)
    • 1 *.sql files (43 LOC)
  • " *.xsd" is biggest, containing 76.77% of LOC.
  • " *.sql" is smallest, containing 0.13% of LOC.


*.xsd26277 LOC (76%) 386 files
*.xml2672 LOC (7%) 46 files
*.java2022 LOC (5%) 33 files
*.txt1930 LOC (5%) 32 files
*.properties853 LOC (2%) 6 files
*.html379 LOC (1%) 1 file
*.md54 LOC (<1%) 2 files
*.sql43 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-05-07 15:21