azure / azureml-examples
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
pkl
jsonl
pb
jinja2
meta
rds
jl
pt
csproj
ini
classpath
rd
gitmodules
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.

main292856 LOC (65%) 1,219 files
test733 LOC (<1%) 11 files
generated0 LOC (0%) 0 files
build and deployment10347 LOC (2%) 223 files
other145964 LOC (32%) 461 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
pt
meta
pkl
rds
jsonl
jl
jinja2
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 1219 files match defined criteria (292,856 LOC, 100.0% vs. main code):
    • 372 *.ipynb files (218,413 LOC)
    • 486 *.py files (35,021 LOC)
    • 2 *.pt files (14,202 LOC)
    • 249 *.yaml files (10,374 LOC)
    • 5 *.meta files (3,899 LOC)
    • 33 *.pkl files (2,954 LOC)
    • 3 *.rds files (2,718 LOC)
    • 27 *.cs files (2,116 LOC)
    • 9 *.jsonl files (2,013 LOC)
    • 10 *.ts files (346 LOC)
    • 2 *.toml files (333 LOC)
    • 4 *.java files (264 LOC)
    • 6 *.ps1 files (90 LOC)
    • 2 *.jl files (53 LOC)
    • 6 *.jinja2 files (52 LOC)
    • 1 *.xml files (6 LOC)
    • 2 *.html files (2 LOC)
  • " *.ipynb" is biggest, containing 74.58% of LOC.
  • " *.html" is smallest, containing 0% of LOC.


*.ipynb218413 LOC (74%) 372 files
*.py35021 LOC (11%) 486 files
*.pt14202 LOC (4%) 2 files
*.yaml10374 LOC (3%) 249 files
*.meta3899 LOC (1%) 5 files
*.pkl2954 LOC (1%) 33 files
*.rds2718 LOC (<1%) 3 files
*.cs2116 LOC (<1%) 27 files
*.jsonl2013 LOC (<1%) 9 files
*.ts346 LOC (<1%) 10 files
*.toml333 LOC (<1%) 2 files
*.java264 LOC (<1%) 4 files
*.ps190 LOC (<1%) 6 files
*.jl53 LOC (<1%) 2 files
*.jinja252 LOC (<1%) 6 files
*.xml6 LOC (<1%) 1 file
*.html2 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 ".*/test[.].*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*/test[-]data/.*".
    • files with paths like ".*[-]test[-].*".
  • 11 files match defined criteria (733 LOC, 0.3% vs. main code):
    • 4 *.ipynb files (367 LOC)
    • 2 *.py files (262 LOC)
    • 3 *.java files (76 LOC)
    • 1 *.dockerfile files (27 LOC)
    • 1 *.sh files (1 LOC)
  • " *.ipynb" is biggest, containing 50.07% of LOC.
  • " *.sh" is smallest, containing 0.14% of LOC.


*.ipynb367 LOC (50%) 4 files
*.py262 LOC (35%) 2 files
*.java76 LOC (10%) 3 files
*.dockerfile27 LOC (3%) 1 file
*.sh1 LOC (<1%) 1 file
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 ".*[.]sh".
    • files with paths like ".*/package[.]json".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]dockerfile".
    • files with paths like ".*[.]csproj".
    • files with paths like ".*/[.]gitmodules".
    • files with paths like ".*/pom[.]xml".
  • 223 files match defined criteria (10,347 LOC, 3.5% vs. main code):
    • 211 *.sh files (10,112 LOC)
    • 1 *.xml files (157 LOC)
    • 9 *.dockerfile files (47 LOC)
    • 2 *.csproj files (31 LOC)
  • " *.sh" is biggest, containing 97.73% of LOC.
  • " *.csproj" is smallest, containing 0.3% of LOC.


*.sh10112 LOC (97%) 211 files
*.xml157 LOC (1%) 1 file
*.dockerfile47 LOC (<1%) 9 files
*.csproj31 LOC (<1%) 2 files
Other Code
txt
pb
ini
properties
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 ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]pb".
    • files with paths like ".*[.]ini".
    • files with paths like ".*[.]properties".
  • 461 files match defined criteria (145,964 LOC, 49.8% vs. main code):
    • 99 *.txt files (72,434 LOC)
    • 139 *.json files (48,642 LOC)
    • 9 *.pb files (15,729 LOC)
    • 212 *.md files (9,104 LOC)
    • 1 *.ini files (48 LOC)
    • 1 *.properties files (7 LOC)
  • " *.txt" is biggest, containing 49.62% of LOC.
  • " *.properties" is smallest, containing 0% of LOC.


*.txt72434 LOC (49%) 99 files
*.json48642 LOC (33%) 139 files
*.pb15729 LOC (10%) 9 files
*.md9104 LOC (6%) 212 files
*.ini48 LOC (<1%) 1 file
*.properties7 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-05-06 22:06