epam / cloud-pipeline
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
lua
editorconfig
wdl
in
babelrc
nf
gitattributes
jison
patch
cfg
cwl
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.

main527727 LOC (74%) 5,910 files
test118686 LOC (16%) 871 files
generated12829 LOC (1%) 2 files
build and deployment21760 LOC (3%) 265 files
other30539 LOC (4%) 393 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
lua
wdl
jison
nf
cwl
in
cfg
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 5910 files match defined criteria (527,727 LOC, 100.0% vs. main code):
    • 1,895 *.js files (264,881 LOC)
    • 2,558 *.java files (151,966 LOC)
    • 492 *.py files (57,520 LOC)
    • 332 *.css files (14,169 LOC)
    • 67 *.xml files (13,382 LOC)
    • 124 *.yaml files (7,767 LOC)
    • 45 *.jsx files (4,014 LOC)
    • 23 *.less files (3,860 LOC)
    • 21 *.tf files (2,284 LOC)
    • 52 *.html files (2,103 LOC)
    • 13 *.ps1 files (1,954 LOC)
    • 265 *.sql files (1,844 LOC)
    • 11 *.lua files (1,041 LOC)
    • 2 *.wdl files (722 LOC)
    • 2 *.jison files (126 LOC)
    • 1 *.scss files (41 LOC)
    • 2 *.nf files (35 LOC)
    • 1 *.cwl files (11 LOC)
    • 2 *.in files (4 LOC)
    • 1 *.cfg files (2 LOC)
    • 1 *.ts files (1 LOC)
  • " *.js" is biggest, containing 50.19% of LOC.
  • " *.ts" is smallest, containing 0% of LOC.


*.js264881 LOC (50%) 1,895 files
*.java151966 LOC (28%) 2,558 files
*.py57520 LOC (10%) 492 files
*.css14169 LOC (2%) 332 files
*.xml13382 LOC (2%) 67 files
*.yaml7767 LOC (1%) 124 files
*.jsx4014 LOC (<1%) 45 files
*.less3860 LOC (<1%) 23 files
*.tf2284 LOC (<1%) 21 files
*.html2103 LOC (<1%) 52 files
*.ps11954 LOC (<1%) 13 files
*.sql1844 LOC (<1%) 265 files
*.lua1041 LOC (<1%) 11 files
*.wdl722 LOC (<1%) 2 files
*.jison126 LOC (<1%) 2 files
*.scss41 LOC (<1%) 1 file
*.nf35 LOC (<1%) 2 files
*.cwl11 LOC (<1%) 1 file
*.in4 LOC (<1%) 2 files
*.cfg2 LOC (<1%) 1 file
*.ts1 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
wdl
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*[-]tests/.*".
    • files with paths like ".*/test[.].*".
    • files with paths like ".*[-]test[-].*".
    • files with paths like ".*_mock[.][a-zA-Z0-9_\-]+".
    • files with paths like ".*/e2e/.*".
    • files with paths like ".*_test[.].*".
    • files with paths like ".*_tests[.].*".
  • 871 files match defined criteria (118,686 LOC, 22.5% vs. main code):
    • 696 *.java files (102,890 LOC)
    • 145 *.py files (14,054 LOC)
    • 5 *.xml files (903 LOC)
    • 15 *.sh files (603 LOC)
    • 3 *.js files (88 LOC)
    • 1 *.bat files (61 LOC)
    • 2 *.gradle files (36 LOC)
    • 3 *.wdl files (34 LOC)
    • 1 *.html files (17 LOC)
  • " *.java" is biggest, containing 86.69% of LOC.
  • " *.html" is smallest, containing 0.01% of LOC.


*.java102890 LOC (86%) 696 files
*.py14054 LOC (11%) 145 files
*.xml903 LOC (<1%) 5 files
*.sh603 LOC (<1%) 15 files
*.js88 LOC (<1%) 3 files
*.bat61 LOC (<1%) 1 file
*.gradle36 LOC (<1%) 2 files
*.wdl34 LOC (<1%) 3 files
*.html17 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 paths like ".*/package[-]lock[.]json".
  • 2 files match defined criteria (12,829 LOC, 2.4% vs. main code). All matches are in *.json files.


*.json12829 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 ".*[.]gradle".
    • files with paths like ".*[.]sh".
    • files with paths like ".*[.]bat".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/package[.]json".
    • files with paths like ".*([.]|/)webpack([.]|/).*".
    • files with paths like ".*/package[-]lock[.]json".
    • files with paths like ".*/jenkins/.*[.]groovy".
    • files with paths like ".*/[.]gitattributes".
  • 265 files match defined criteria (21,760 LOC, 4.1% vs. main code):
    • 221 *.sh files (18,711 LOC)
    • 29 *.gradle files (1,580 LOC)
    • 11 *.js files (1,298 LOC)
    • 3 *.bat files (156 LOC)
    • 1 *.groovy files (15 LOC)
  • " *.sh" is biggest, containing 85.99% of LOC.
  • " *.groovy" is smallest, containing 0.07% of LOC.


*.sh18711 LOC (85%) 221 files
*.gradle1580 LOC (7%) 29 files
*.js1298 LOC (5%) 11 files
*.bat156 LOC (<1%) 3 files
*.groovy15 LOC (<1%) 1 file
Other Code
properties
txt
patch
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 ".*[.]json".
    • files with paths like ".*/config/checkstyle/.*".
    • files with paths like ".*/checkstyle[.]xml".
    • files with paths like ".*/checkstyle.*".
    • files with paths like ".*[.]editorconfig".
    • files with paths like ".*[.]svg".
    • files with paths like ".*[.]patch".
    • files with paths like ".*/[.]dockerignore".
  • 393 files match defined criteria (30,539 LOC, 5.8% vs. main code):
    • 218 *.json files (24,177 LOC)
    • 69 *.md files (2,798 LOC)
    • 34 *.properties files (2,450 LOC)
    • 43 *.txt files (542 LOC)
    • 27 *.svg files (433 LOC)
    • 1 *.xml files (117 LOC)
    • 1 *.patch files (22 LOC)
  • " *.json" is biggest, containing 79.17% of LOC.
  • " *.patch" is smallest, containing 0.07% of LOC.


*.json24177 LOC (79%) 218 files
*.md2798 LOC (9%) 69 files
*.properties2450 LOC (8%) 34 files
*.txt542 LOC (1%) 43 files
*.svg433 LOC (1%) 27 files
*.xml117 LOC (<1%) 1 file
*.patch22 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-01-17 15:37