elastic / quark
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
vcxproj
txt
adb
m4
filters
in
mak
ads
com
cmakein
csproj
gitmodules
mms
sas
s
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.

main53483 LOC (73%) 219 files
test1969 LOC (2%) 8 files
generated9561 LOC (13%) 3 files
build and deployment889 LOC (1%) 13 files
other6735 LOC (9%) 40 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
vcxproj
adb
in
com
ads
cmakein
filters
sas
mms
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 219 files match defined criteria (53,483 LOC, 100.0% vs. main code):
    • 102 *.c files (25,662 LOC)
    • 30 *.vcxproj files (13,059 LOC)
    • 45 *.h files (7,315 LOC)
    • 6 *.adb files (1,186 LOC)
    • 4 *.pas files (1,016 LOC)
    • 4 *.in files (894 LOC)
    • 2 *.com files (882 LOC)
    • 3 *.ads files (715 LOC)
    • 8 *.cs files (662 LOC)
    • 1 *.inc files (527 LOC)
    • 2 *.cmakein files (509 LOC)
    • 1 *.cc files (316 LOC)
    • 6 *.filters files (310 LOC)
    • 1 *.cpp files (216 LOC)
    • 1 *.xml files (95 LOC)
    • 1 *.sas files (54 LOC)
    • 1 *.mms files (38 LOC)
    • 1 *.yaml files (27 LOC)
  • " *.c" is biggest, containing 47.98% of LOC.
  • " *.yaml" is smallest, containing 0.05% of LOC.


*.c25662 LOC (47%) 102 files
*.vcxproj13059 LOC (24%) 30 files
*.h7315 LOC (13%) 45 files
*.adb1186 LOC (2%) 6 files
*.pas1016 LOC (1%) 4 files
*.in894 LOC (1%) 4 files
*.com882 LOC (1%) 2 files
*.ads715 LOC (1%) 3 files
*.cs662 LOC (1%) 8 files
*.inc527 LOC (<1%) 1 file
*.cmakein509 LOC (<1%) 2 files
*.cc316 LOC (<1%) 1 file
*.filters310 LOC (<1%) 6 files
*.cpp216 LOC (<1%) 1 file
*.xml95 LOC (<1%) 1 file
*.sas54 LOC (<1%) 1 file
*.mms38 LOC (<1%) 1 file
*.yaml27 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
adb
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 ".*UnitTests[.][a-zA-Z0-9_]+".
    • files with paths like ".*/[Tt]est/.*".
  • 8 files match defined criteria (1,969 LOC, 3.7% vs. main code):
    • 3 *.c files (1,345 LOC)
    • 1 *.adb files (340 LOC)
    • 1 *.cs files (217 LOC)
    • 1 *.cc files (35 LOC)
    • 2 *.cpp files (32 LOC)
  • " *.c" is biggest, containing 68.31% of LOC.
  • " *.cpp" is smallest, containing 1.63% of LOC.


*.c1345 LOC (68%) 3 files
*.adb340 LOC (17%) 1 file
*.cs217 LOC (11%) 1 file
*.cc35 LOC (1%) 1 file
*.cpp32 LOC (1%) 2 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 ".*[.](cxx|cpp|c|hxx|hpp|h)" AND any line of content like "[ ]*[*][ ]*Generated automatically by[ ]*.*".
  • 3 files match defined criteria (9,561 LOC, 17.9% vs. main code). All matches are in *.h files.


*.h9561 LOC (100%) 3 files
Build and Deployment Code
Source code used to configure or support build and deployment process.
mak
csproj
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 ".*/[.]gitmodules".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]mak".
    • files with paths like ".*[.]csproj".
  • 13 files match defined criteria (889 LOC, 1.7% vs. main code):
    • 7 *.sh files (523 LOC)
    • 4 *.mak files (194 LOC)
    • 2 *.csproj files (172 LOC)
  • " *.sh" is biggest, containing 58.83% of LOC.
  • " *.csproj" is smallest, containing 19.35% of LOC.


*.sh523 LOC (58%) 7 files
*.mak194 LOC (21%) 4 files
*.csproj172 LOC (19%) 2 files
Other Code
txt
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]txt".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*/[Ee]xamples/.*".
  • 40 files match defined criteria (6,735 LOC, 12.6% vs. main code):
    • 27 *.txt files (3,195 LOC)
    • 9 *.c files (2,774 LOC)
    • 1 *.html files (543 LOC)
    • 1 *.md files (195 LOC)
    • 2 *.h files (28 LOC)
  • " *.txt" is biggest, containing 47.44% of LOC.
  • " *.h" is smallest, containing 0.42% of LOC.


*.txt3195 LOC (47%) 27 files
*.c2774 LOC (41%) 9 files
*.html543 LOC (8%) 1 file
*.md195 LOC (2%) 1 file
*.h28 LOC (<1%) 2 files
Analyzers
Info about analyzers used for source code examinations.


2025-05-13 20:04