aws / aws-sdk-cpp
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
in
properties
cfg
clang-format
pro
gitmodules
clang-tidy
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.

main57260 LOC (<1%) 636 files
test38134 LOC (<1%) 232 files
generated8445618 LOC (89%) 136,743 files
build and deployment255 LOC (<1%) 3 files
other878678 LOC (9%) 1,978 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 ".*".
  • 636 files match defined criteria (57,260 LOC, 100.0% vs. main code):
    • 192 *.cpp files (29,661 LOC)
    • 300 *.h files (15,895 LOC)
    • 97 *.java files (8,238 LOC)
    • 27 *.cmake files (1,760 LOC)
    • 13 *.py files (1,616 LOC)
    • 2 *.kts files (49 LOC)
    • 5 *.in files (41 LOC)
  • " *.cpp" is biggest, containing 51.8% of LOC.
  • " *.in" is smallest, containing 0.07% of LOC.


*.cpp29661 LOC (51%) 192 files
*.h15895 LOC (27%) 300 files
*.java8238 LOC (14%) 97 files
*.cmake1760 LOC (3%) 27 files
*.py1616 LOC (2%) 13 files
*.kts49 LOC (<1%) 2 files
*.in41 LOC (<1%) 5 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 ".*_tests[.].*".
    • files with paths like ".*[-]tests/.*".
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*[-]tests[-].*".
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*UnitTests[.][a-zA-Z0-9_]+".
    • files with paths like ".*/src/androidTest/.*".
    • files with paths like ".*/mock[a-zA-Z0-9_\- ]+/.*".
    • files with paths like ".*/[Mm]ocks/.*".
    • files with paths like ".*[-]test[-].*".
  • 232 files match defined criteria (38,134 LOC, 66.6% vs. main code):
    • 155 *.cpp files (33,942 LOC)
    • 25 *.java files (2,416 LOC)
    • 24 *.h files (1,148 LOC)
    • 11 *.sh files (214 LOC)
    • 2 *.kts files (117 LOC)
    • 1 *.bat files (66 LOC)
    • 3 *.ps1 files (66 LOC)
    • 1 *.py files (62 LOC)
    • 7 *.xml files (59 LOC)
    • 3 *.gradle files (44 LOC)
  • " *.cpp" is biggest, containing 89.01% of LOC.
  • " *.gradle" is smallest, containing 0.12% of LOC.


*.cpp33942 LOC (89%) 155 files
*.java2416 LOC (6%) 25 files
*.h1148 LOC (3%) 24 files
*.sh214 LOC (<1%) 11 files
*.kts117 LOC (<1%) 2 files
*.bat66 LOC (<1%) 1 file
*.ps166 LOC (<1%) 3 files
*.py62 LOC (<1%) 1 file
*.xml59 LOC (<1%) 7 files
*.gradle44 LOC (<1%) 3 files
Generated Code
Automatically generated files, not manually changed after generation.
txt
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/generated/.*".
    • files with paths like ".*[.](html|html|xhtml)" AND any line of content like "[ ]*[<]meta name[=]"generator" .*".
  • 136743 files match defined criteria (8,445,618 LOC, 14749.6% vs. main code):
    • 68,300 *.cpp files (4,550,141 LOC)
    • 67,539 *.h files (3,856,481 LOC)
    • 904 *.txt files (38,996 LOC)
  • " *.cpp" is biggest, containing 53.88% of LOC.
  • " *.txt" is smallest, containing 0.46% of LOC.


*.cpp4550141 LOC (53%) 68,300 files
*.h3856481 LOC (45%) 67,539 files
*.txt38996 LOC (<1%) 904 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 ".*[.]sh".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/pom[.]xml".
    • files with paths like ".*[.]bat".
    • files with paths like ".*/AndroidManifest[.]xml".
    • files with paths like ".*[.]gradle".
    • files with paths like ".*/[.]gitmodules".
  • 3 files match defined criteria (255 LOC, 0.4% vs. main code):
    • 1 *.xml files (134 LOC)
    • 1 *.bat files (73 LOC)
    • 1 *.sh files (48 LOC)
  • " *.xml" is biggest, containing 52.55% of LOC.
  • " *.sh" is smallest, containing 18.82% of LOC.


*.xml134 LOC (52%) 1 file
*.bat73 LOC (28%) 1 file
*.sh48 LOC (18%) 1 file
Other Code
txt
properties
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 ".*[.]json".
    • files with paths like ".*[.]properties".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
  • 1978 files match defined criteria (878,678 LOC, 1534.5% vs. main code):
    • 1,012 *.json files (836,120 LOC)
    • 960 *.txt files (42,313 LOC)
    • 4 *.md files (231 LOC)
    • 2 *.properties files (14 LOC)
  • " *.json" is biggest, containing 95.16% of LOC.
  • " *.properties" is smallest, containing 0% of LOC.


*.json836120 LOC (95%) 1,012 files
*.txt42313 LOC (4%) 960 files
*.md231 LOC (<1%) 4 files
*.properties14 LOC (<1%) 2 files
Analyzers
Info about analyzers used for source code examinations.


2025-05-03 21:57