apache / subversion
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
m4
in
cmd
po
t
i
el
xsl
cgi
patch
vim
vimrc
tac
editorconfig
clang-format
cfg
y
hc
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.

main456538 LOC (68%) 1,402 files
test161034 LOC (24%) 252 files
generated0 LOC (0%) 0 files
build and deployment3205 LOC (<1%) 69 files
other49034 LOC (7%) 129 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
el
in
i
t
cmd
xsl
cgi
y
hc
vimrc
tac
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 1402 files match defined criteria (456,538 LOC, 100.0% vs. main code):
    • 522 *.c files (315,327 LOC)
    • 305 *.h files (38,269 LOC)
    • 144 *.py files (26,565 LOC)
    • 96 *.cpp files (17,672 LOC)
    • 158 *.java files (13,887 LOC)
    • 5 *.el files (8,981 LOC)
    • 18 *.html files (8,198 LOC)
    • 12 *.in files (7,037 LOC)
    • 14 *.rb files (4,824 LOC)
    • 46 *.hpp files (3,927 LOC)
    • 8 *.i files (2,709 LOC)
    • 14 *.pl files (2,003 LOC)
    • 7 *.sql files (1,927 LOC)
    • 11 *.t files (1,348 LOC)
    • 8 *.pm files (889 LOC)
    • 14 *.cmd files (724 LOC)
    • 3 *.xsl files (539 LOC)
    • 2 *.cgi files (519 LOC)
    • 7 *.cmake files (452 LOC)
    • 1 *.y files (428 LOC)
    • 2 *.css files (137 LOC)
    • 1 *.hc files (103 LOC)
    • 2 *.vimrc files (51 LOC)
    • 1 *.xml files (12 LOC)
    • 1 *.tac files (10 LOC)
  • " *.c" is biggest, containing 69.07% of LOC.
  • " *.tac" is smallest, containing 0% of LOC.


*.c315327 LOC (69%) 522 files
*.h38269 LOC (8%) 305 files
*.py26565 LOC (5%) 144 files
*.cpp17672 LOC (3%) 96 files
*.java13887 LOC (3%) 158 files
*.el8981 LOC (1%) 5 files
*.html8198 LOC (1%) 18 files
*.in7037 LOC (1%) 12 files
*.rb4824 LOC (1%) 14 files
*.hpp3927 LOC (<1%) 46 files
*.i2709 LOC (<1%) 8 files
*.pl2003 LOC (<1%) 14 files
*.sql1927 LOC (<1%) 7 files
*.t1348 LOC (<1%) 11 files
*.pm889 LOC (<1%) 8 files
*.cmd724 LOC (<1%) 14 files
*.xsl539 LOC (<1%) 3 files
*.cgi519 LOC (<1%) 2 files
*.cmake452 LOC (<1%) 7 files
*.y428 LOC (<1%) 1 file
*.css137 LOC (<1%) 2 files
*.hc103 LOC (<1%) 1 file
*.vimrc51 LOC (<1%) 2 files
*.xml12 LOC (<1%) 1 file
*.tac10 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
cfg
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*/test[.].*".
    • files with paths like ".*_tests[.].*".
    • files with paths like ".*[-]test[-].*".
    • files with paths like ".*_test[.].*".
  • 252 files match defined criteria (161,034 LOC, 35.3% vs. main code):
    • 112 *.py files (86,249 LOC)
    • 78 *.c files (54,360 LOC)
    • 13 *.java files (10,395 LOC)
    • 20 *.rb files (6,716 LOC)
    • 8 *.sh files (1,318 LOC)
    • 11 *.cpp files (1,155 LOC)
    • 6 *.h files (725 LOC)
    • 1 *.sql files (41 LOC)
    • 1 *.cfg files (36 LOC)
    • 1 *.bat files (26 LOC)
    • 1 *.hpp files (13 LOC)
  • " *.py" is biggest, containing 53.56% of LOC.
  • " *.hpp" is smallest, containing 0.01% of LOC.


*.py86249 LOC (53%) 112 files
*.c54360 LOC (33%) 78 files
*.java10395 LOC (6%) 13 files
*.rb6716 LOC (4%) 20 files
*.sh1318 LOC (<1%) 8 files
*.cpp1155 LOC (<1%) 11 files
*.h725 LOC (<1%) 6 files
*.sql41 LOC (<1%) 1 file
*.cfg36 LOC (<1%) 1 file
*.bat26 LOC (<1%) 1 file
*.hpp13 LOC (<1%) 1 file
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 ".*/build[.]xml".
    • files with paths like ".*[.]sh".
    • files with paths like ".*[.]bat".
  • 69 files match defined criteria (3,205 LOC, 0.7% vs. main code):
    • 57 *.sh files (2,782 LOC)
    • 11 *.bat files (378 LOC)
    • 1 *.xml files (45 LOC)
  • " *.sh" is biggest, containing 86.8% of LOC.
  • " *.xml" is smallest, containing 1.4% of LOC.


*.sh2782 LOC (86%) 57 files
*.bat378 LOC (11%) 11 files
*.xml45 LOC (1%) 1 file
Other Code
txt
in
vim
patch
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*[.]svg".
    • files with paths like ".*[.]txt".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
    • files with paths like ".*[.]patch".
    • files with paths like ".*[.]vim".
    • files with paths like ".*/[Mm]an/.*".
    • files with paths like ".*[.]editorconfig".
  • 129 files match defined criteria (49,034 LOC, 10.7% vs. main code):
    • 7 *.svg files (32,344 LOC)
    • 79 *.txt files (12,222 LOC)
    • 15 *.py files (1,350 LOC)
    • 6 *.c files (867 LOC)
    • 4 *.rb files (701 LOC)
    • 6 *.md files (601 LOC)
    • 5 *.in files (553 LOC)
    • 3 *.java files (265 LOC)
    • 2 *.vim files (104 LOC)
    • 2 *.patch files (27 LOC)
  • " *.svg" is biggest, containing 65.96% of LOC.
  • " *.patch" is smallest, containing 0.06% of LOC.


*.svg32344 LOC (65%) 7 files
*.txt12222 LOC (24%) 79 files
*.py1350 LOC (2%) 15 files
*.c867 LOC (1%) 6 files
*.rb701 LOC (1%) 4 files
*.md601 LOC (1%) 6 files
*.in553 LOC (1%) 5 files
*.java265 LOC (<1%) 3 files
*.vim104 LOC (<1%) 2 files
*.patch27 LOC (<1%) 2 files
Analyzers
Info about analyzers used for source code examinations.


2025-05-07 15:23