apache / incubator-wayang
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
cmd
cfg
ini
txt
gitmodules
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.

main59543 LOC (71%) 877 files
test11982 LOC (14%) 208 files
generated0 LOC (0%) 0 files
build and deployment3688 LOC (4%) 50 files
other7517 LOC (9%) 162 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
cfg
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 877 files match defined criteria (59,543 LOC, 100.0% vs. main code):
    • 709 *.java files (51,412 LOC)
    • 51 *.scala files (3,618 LOC)
    • 70 *.py files (2,353 LOC)
    • 16 *.vue files (1,112 LOC)
    • 5 *.css files (299 LOC)
    • 6 *.html files (234 LOC)
    • 1 *.groovy files (143 LOC)
    • 3 *.xml files (97 LOC)
    • 9 *.js files (90 LOC)
    • 3 *.yml files (69 LOC)
    • 1 *.g4 files (61 LOC)
    • 1 *.cfg files (28 LOC)
    • 1 *.toml files (19 LOC)
    • 1 *.scss files (8 LOC)
  • " *.java" is biggest, containing 86.34% of LOC.
  • " *.scss" is smallest, containing 0.01% of LOC.


*.java51412 LOC (86%) 709 files
*.scala3618 LOC (6%) 51 files
*.py2353 LOC (3%) 70 files
*.vue1112 LOC (1%) 16 files
*.css299 LOC (<1%) 5 files
*.html234 LOC (<1%) 6 files
*.groovy143 LOC (<1%) 1 file
*.xml97 LOC (<1%) 3 files
*.js90 LOC (<1%) 9 files
*.yml69 LOC (<1%) 3 files
*.g461 LOC (<1%) 1 file
*.cfg28 LOC (<1%) 1 file
*.toml19 LOC (<1%) 1 file
*.scss8 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 ".*/e2e/.*".
    • files with paths like ".*__tests__.*".
    • files with paths like ".*[.]spec[.]js".
    • files with paths like ".*[-]tests[-].*".
  • 208 files match defined criteria (11,982 LOC, 20.1% vs. main code):
    • 153 *.java files (10,264 LOC)
    • 44 *.py files (824 LOC)
    • 3 *.scala files (494 LOC)
    • 3 *.xml files (362 LOC)
    • 3 *.yaml files (23 LOC)
    • 2 *.js files (15 LOC)
  • " *.java" is biggest, containing 85.66% of LOC.
  • " *.js" is smallest, containing 0.13% of LOC.


*.java10264 LOC (85%) 153 files
*.py824 LOC (6%) 44 files
*.scala494 LOC (4%) 3 files
*.xml362 LOC (3%) 3 files
*.yaml23 LOC (<1%) 3 files
*.js15 LOC (<1%) 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 ".*/assembly[.]xml".
    • files with paths like ".*/package[.]json".
    • files with paths like ".*/[.]gitmodules".
  • 50 files match defined criteria (3,688 LOC, 6.2% vs. main code):
    • 39 *.xml files (3,429 LOC)
    • 11 *.sh files (259 LOC)
  • " *.xml" is biggest, containing 92.98% of LOC.
  • " *.sh" is smallest, containing 7.02% of LOC.


*.xml3429 LOC (92%) 39 files
*.sh259 LOC (7%) 11 files
Other Code
properties
ini
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]properties".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]json".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]ini".
    • files with paths like ".*[.]svg".
  • 162 files match defined criteria (7,517 LOC, 12.6% vs. main code):
    • 123 *.md files (3,597 LOC)
    • 28 *.properties files (2,148 LOC)
    • 6 *.json files (1,269 LOC)
    • 4 *.svg files (471 LOC)
    • 1 *.ini files (32 LOC)
  • " *.md" is biggest, containing 47.85% of LOC.
  • " *.ini" is smallest, containing 0.43% of LOC.


*.md3597 LOC (47%) 123 files
*.properties2148 LOC (28%) 28 files
*.json1269 LOC (16%) 6 files
*.svg471 LOC (6%) 4 files
*.ini32 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2023-08-11 02:06