azure / PyRIT
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
gitattributes
in
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.

main37960 LOC (58%) 610 files
test14264 LOC (22%) 150 files
generated0 LOC (0%) 0 files
build and deployment50 LOC (<1%) 2 files
other12131 LOC (18%) 49 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
in
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 610 files match defined criteria (37,960 LOC, 100.0% vs. main code):
    • 306 *.py files (18,651 LOC)
    • 56 *.ipynb files (12,932 LOC)
    • 245 *.yaml files (6,063 LOC)
    • 1 *.toml files (205 LOC)
    • 1 *.html files (104 LOC)
    • 1 *.in files (5 LOC)
  • " *.py" is biggest, containing 49.13% of LOC.
  • " *.in" is smallest, containing 0.01% of LOC.


*.py18651 LOC (49%) 306 files
*.ipynb12932 LOC (34%) 56 files
*.yaml6063 LOC (15%) 245 files
*.toml205 LOC (<1%) 1 file
*.html104 LOC (<1%) 1 file
*.in5 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 ".*_tests[.].*".
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*/test_.*".
  • 150 files match defined criteria (14,264 LOC, 37.6% vs. main code):
    • 126 *.py files (13,958 LOC)
    • 24 *.yaml files (306 LOC)
  • " *.py" is biggest, containing 97.85% of LOC.
  • " *.yaml" is smallest, containing 2.15% of LOC.


*.py13958 LOC (97%) 126 files
*.yaml306 LOC (2%) 24 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 ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]sh".
    • files with paths like ".*/[.]gitattributes".
    • files with paths like ".*/docker[-]compose[.]yaml".
  • 2 files match defined criteria (50 LOC, 0.1% vs. main code):
    • 1 *.yaml files (27 LOC)
    • 1 *.sh files (23 LOC)
  • " *.yaml" is biggest, containing 54% of LOC.
  • " *.sh" is smallest, containing 46% of LOC.


*.yaml27 LOC (54%) 1 file
*.sh23 LOC (46%) 1 file
Other Code
txt
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 ".*[.](rst|rest|resttxt|rsttxt)".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/[.]dockerignore".
  • 49 files match defined criteria (12,131 LOC, 32.0% vs. main code):
    • 4 *.json files (5,728 LOC)
    • 2 *.txt files (4,887 LOC)
    • 42 *.md files (1,179 LOC)
    • 1 *.rst files (337 LOC)
  • " *.json" is biggest, containing 47.22% of LOC.
  • " *.rst" is smallest, containing 2.78% of LOC.


*.json5728 LOC (47%) 4 files
*.txt4887 LOC (40%) 2 files
*.md1179 LOC (9%) 42 files
*.rst337 LOC (2%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-05-06 23:03