apache / directory-studio
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
properties
txt
ini
nsh
nsi
iss
plist
desktop
xslt
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.

main243739 LOC (78%) 2,022 files
test21843 LOC (7%) 216 files
generated0 LOC (0%) 0 files
build and deployment1984 LOC (<1%) 55 files
other42910 LOC (13%) 478 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
nsh
nsi
iss
xslt
desktop
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 2022 files match defined criteria (243,739 LOC, 100.0% vs. main code):
    • 1,690 *.java files (195,551 LOC)
    • 303 *.xml files (44,458 LOC)
    • 11 *.css files (1,119 LOC)
    • 1 *.g files (1,098 LOC)
    • 2 *.nsh files (642 LOC)
    • 2 *.nsi files (380 LOC)
    • 4 *.xhtml files (209 LOC)
    • 5 *.html files (162 LOC)
    • 1 *.rdf files (54 LOC)
    • 1 *.iss files (36 LOC)
    • 1 *.xslt files (22 LOC)
    • 1 *.desktop files (8 LOC)
  • " *.java" is biggest, containing 80.23% of LOC.
  • " *.desktop" is smallest, containing 0% of LOC.


*.java195551 LOC (80%) 1,690 files
*.xml44458 LOC (18%) 303 files
*.css1119 LOC (<1%) 11 files
*.g1098 LOC (<1%) 1 file
*.nsh642 LOC (<1%) 2 files
*.nsi380 LOC (<1%) 2 files
*.xhtml209 LOC (<1%) 4 files
*.html162 LOC (<1%) 5 files
*.rdf54 LOC (<1%) 1 file
*.iss36 LOC (<1%) 1 file
*.xslt22 LOC (<1%) 1 file
*.desktop8 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 ".*/[Tt]est/.*".
    • files with paths like ".*/[Tt]ests/.*".
  • 216 files match defined criteria (21,843 LOC, 9.0% vs. main code):
    • 163 *.java files (20,820 LOC)
    • 52 *.xml files (1,017 LOC)
    • 1 *.sh files (6 LOC)
  • " *.java" is biggest, containing 95.32% of LOC.
  • " *.sh" is smallest, containing 0.03% of LOC.


*.java20820 LOC (95%) 163 files
*.xml1017 LOC (4%) 52 files
*.sh6 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 ".*[.]sh".
    • files with paths like ".*/pom[.]xml".
    • files with paths like ".*[.]bat".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
  • 55 files match defined criteria (1,984 LOC, 0.8% vs. main code):
    • 49 *.xml files (1,936 LOC)
    • 5 *.sh files (28 LOC)
    • 1 *.bat files (20 LOC)
  • " *.xml" is biggest, containing 97.58% of LOC.
  • " *.bat" is smallest, containing 1.01% of LOC.


*.xml1936 LOC (97%) 49 files
*.sh28 LOC (1%) 5 files
*.bat20 LOC (1%) 1 file
Other Code
txt
properties
ini
plist
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 ".*[.]properties".
    • files with paths like ".*[.]ini".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]plist".
  • 478 files match defined criteria (42,910 LOC, 17.6% vs. main code):
    • 30 *.txt files (24,155 LOC)
    • 433 *.properties files (18,245 LOC)
    • 4 *.md files (311 LOC)
    • 1 *.json files (116 LOC)
    • 9 *.ini files (67 LOC)
    • 1 *.plist files (16 LOC)
  • " *.txt" is biggest, containing 56.29% of LOC.
  • " *.plist" is smallest, containing 0.04% of LOC.


*.txt24155 LOC (56%) 30 files
*.properties18245 LOC (42%) 433 files
*.md311 LOC (<1%) 4 files
*.json116 LOC (<1%) 1 file
*.ini67 LOC (<1%) 9 files
*.plist16 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2023-08-10 10:41