azure / Azure-Sentinel
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
pyi
csproj
01
csl
spec
ini
02
03
mod
04
05
06
07
gitattributes
cfg
liquid
properties
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.

main393808 LOC (26%) 6,161 files
test2752 LOC (<1%) 19 files
generated1851 LOC (<1%) 4 files
build and deployment3064 LOC (<1%) 31 files
other1068970 LOC (72%) 6,496 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
csl
liquid
spec
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 6161 files match defined criteria (393,808 LOC, 100.0% vs. main code):
    • 5,069 *.yaml files (267,131 LOC)
    • 784 *.py files (80,387 LOC)
    • 150 *.ps1 files (36,200 LOC)
    • 56 *.cs files (3,710 LOC)
    • 19 *.rb files (1,747 LOC)
    • 14 *.tf files (1,198 LOC)
    • 7 *.go files (1,106 LOC)
    • 6 *.csl files (711 LOC)
    • 15 *.js files (633 LOC)
    • 2 *.psm1 files (486 LOC)
    • 26 *.psd1 files (263 LOC)
    • 3 *.ts files (72 LOC)
    • 4 *.xml files (66 LOC)
    • 2 *.gemspec files (37 LOC)
    • 1 *.html files (33 LOC)
    • 1 *.liquid files (15 LOC)
    • 2 *.spec files (13 LOC)
  • " *.yaml" is biggest, containing 67.83% of LOC.
  • " *.spec" is smallest, containing 0% of LOC.


*.yaml267131 LOC (67%) 5,069 files
*.py80387 LOC (20%) 784 files
*.ps136200 LOC (9%) 150 files
*.cs3710 LOC (<1%) 56 files
*.rb1747 LOC (<1%) 19 files
*.tf1198 LOC (<1%) 14 files
*.go1106 LOC (<1%) 7 files
*.csl711 LOC (<1%) 6 files
*.js633 LOC (<1%) 15 files
*.psm1486 LOC (<1%) 2 files
*.psd1263 LOC (<1%) 26 files
*.ts72 LOC (<1%) 3 files
*.xml66 LOC (<1%) 4 files
*.gemspec37 LOC (<1%) 2 files
*.html33 LOC (<1%) 1 file
*.liquid15 LOC (<1%) 1 file
*.spec13 LOC (<1%) 2 files
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 ".*_tests[.].*".
    • files with paths like ".*[.][Tt]est[.].*".
    • files with paths like ".*[.]test[.].*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*[.][Tt]ests[.].*".
    • files with paths like ".*[.]tests[.].*".
    • files with paths like ".*/test[.].*".
  • 19 files match defined criteria (2,752 LOC, 0.7% vs. main code):
    • 11 *.py files (1,422 LOC)
    • 2 *.ps1 files (933 LOC)
    • 2 *.go files (374 LOC)
    • 4 *.sh files (23 LOC)
  • " *.py" is biggest, containing 51.67% of LOC.
  • " *.sh" is smallest, containing 0.84% of LOC.


*.py1422 LOC (51%) 11 files
*.ps1933 LOC (33%) 2 files
*.go374 LOC (13%) 2 files
*.sh23 LOC (<1%) 4 files
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".
    • files with any line of content like "\<\!\-\-[ ]*Generated by .*".
    • files with paths like ".*/_generated/.*".
  • 4 files match defined criteria (1,851 LOC, 0.5% vs. main code):
    • 1 *.json files (1,795 LOC)
    • 3 *.svg files (56 LOC)
  • " *.json" is biggest, containing 96.97% of LOC.
  • " *.svg" is smallest, containing 3.03% of LOC.


*.json1795 LOC (96%) 1 file
*.svg56 LOC (3%) 3 files
Build and Deployment Code
Source code used to configure or support build and deployment process.
csproj
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/package[-]lock[.]json".
    • files with paths like ".*[.]csproj".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/[.]gitattributes".
    • files with paths like ".*/package[.]json".
    • files with paths like ".*[.]sh".
  • 31 files match defined criteria (3,064 LOC, 0.8% vs. main code):
    • 15 *.sh files (2,783 LOC)
    • 16 *.csproj files (281 LOC)
  • " *.sh" is biggest, containing 90.83% of LOC.
  • " *.csproj" is smallest, containing 9.17% of LOC.


*.sh2783 LOC (90%) 15 files
*.csproj281 LOC (9%) 16 files
Other Code
txt
01
ini
properties
mod
02
03
04
05
06
07
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]json".
    • files with paths like ".*[.]md".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*[.]svg".
    • files with paths like ".*[.]properties".
    • files with paths like ".*/[Dd]emos?/.*".
    • files with paths like ".*[.]ini".
    • files with paths like ".*/go[.]mod".
    • files with paths like ".*/site[-]packages/.*".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
    • files with paths like ".*[.](rst|rest|resttxt|rsttxt)".
    • files with paths like ".*/[Ss]amples/.*".
  • 6496 files match defined criteria (1,068,970 LOC, 271.4% vs. main code):
    • 4,136 *.json files (989,253 LOC)
    • 1,810 *.md files (51,449 LOC)
    • 257 *.txt files (17,094 LOC)
    • 270 *.svg files (8,320 LOC)
    • 5 *.ps1 files (1,685 LOC)
    • 8 *.01 files (746 LOC)
    • 2 *.ini files (200 LOC)
    • 1 *.properties files (185 LOC)
    • 1 *.mod files (26 LOC)
    • 1 *.02 files (2 LOC)
    • 1 *.03 files (2 LOC)
    • 1 *.04 files (2 LOC)
    • 1 *.05 files (2 LOC)
    • 1 *.06 files (2 LOC)
    • 1 *.07 files (2 LOC)
  • " *.json" is biggest, containing 92.54% of LOC.
  • " *.07" is smallest, containing 0% of LOC.


*.json989253 LOC (92%) 4,136 files
*.md51449 LOC (4%) 1,810 files
*.txt17094 LOC (1%) 257 files
*.svg8320 LOC (<1%) 270 files
*.ps11685 LOC (<1%) 5 files
*.01746 LOC (<1%) 8 files
*.ini200 LOC (<1%) 2 files
*.properties185 LOC (<1%) 1 file
*.mod26 LOC (<1%) 1 file
*.022 LOC (<1%) 1 file
*.032 LOC (<1%) 1 file
*.042 LOC (<1%) 1 file
*.052 LOC (<1%) 1 file
*.062 LOC (<1%) 1 file
*.072 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-05-06 21:46