apache / sedona
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
rd
properties
txt
rmd
npmignore
editorconfig
in
eps
nc
gitattributes
asc
prettierignore
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.

main69910 LOC (49%) 702 files
test55642 LOC (39%) 291 files
generated0 LOC (0%) 0 files
build and deployment2617 LOC (1%) 21 files
other12549 LOC (8%) 65 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 ".*".
  • 702 files match defined criteria (69,910 LOC, 100.0% vs. main code):
    • 288 *.java files (34,124 LOC)
    • 270 *.scala files (25,579 LOC)
    • 128 *.py files (7,717 LOC)
    • 4 *.c files (1,442 LOC)
    • 2 *.xml files (476 LOC)
    • 5 *.h files (268 LOC)
    • 1 *.js files (149 LOC)
    • 1 *.html files (125 LOC)
    • 1 *.toml files (21 LOC)
    • 1 *.dockerignore files (8 LOC)
    • 1 *.in files (1 LOC)
  • " *.java" is biggest, containing 48.81% of LOC.
  • " *.in" is smallest, containing 0% of LOC.


*.java34124 LOC (48%) 288 files
*.scala25579 LOC (36%) 270 files
*.py7717 LOC (11%) 128 files
*.c1442 LOC (2%) 4 files
*.xml476 LOC (<1%) 2 files
*.h268 LOC (<1%) 5 files
*.js149 LOC (<1%) 1 file
*.html125 LOC (<1%) 1 file
*.toml21 LOC (<1%) 1 file
*.dockerignore8 LOC (<1%) 1 file
*.in1 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
nc
asc
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*_test[.].*".
    • files with paths like ".*[.][Tt]est[.].*".
    • files with paths like ".*[.]test[.].*".
    • files with paths like ".*/test[.].*".
  • 291 files match defined criteria (55,642 LOC, 79.6% vs. main code):
    • 77 *.scala files (25,284 LOC)
    • 106 *.java files (21,415 LOC)
    • 104 *.py files (8,246 LOC)
    • 1 *.nc files (680 LOC)
    • 2 *.xml files (10 LOC)
    • 1 *.asc files (7 LOC)
  • " *.scala" is biggest, containing 45.44% of LOC.
  • " *.asc" is smallest, containing 0.01% of LOC.


*.scala25284 LOC (45%) 77 files
*.java21415 LOC (38%) 106 files
*.py8246 LOC (14%) 104 files
*.nc680 LOC (1%) 1 file
*.xml10 LOC (<1%) 2 files
*.asc7 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 ".*/pom[.]xml".
    • 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 ".*/package[.]json".
    • files with paths like ".*[.]dockerfile".
  • 21 files match defined criteria (2,617 LOC, 3.7% vs. main code):
    • 13 *.xml files (2,350 LOC)
    • 7 *.sh files (181 LOC)
    • 1 *.dockerfile files (86 LOC)
  • " *.xml" is biggest, containing 89.8% of LOC.
  • " *.dockerfile" is smallest, containing 3.29% of LOC.


*.xml2350 LOC (89%) 13 files
*.sh181 LOC (6%) 7 files
*.dockerfile86 LOC (3%) 1 file
Other Code
properties
txt
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[.]prettierignore".
    • files with paths like ".*[.]properties".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]txt".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
    • files with paths like ".*[.]json".
    • files with paths like ".*[.]svg".
    • files with paths like ".*/[.]npmignore".
    • files with paths like ".*[.]editorconfig".
    • files with paths like ".*/[Mm]an/.*".
  • 65 files match defined criteria (12,549 LOC, 18.0% vs. main code):
    • 19 *.json files (10,579 LOC)
    • 4 *.xml files (892 LOC)
    • 4 *.scala files (320 LOC)
    • 5 *.md files (291 LOC)
    • 16 *.properties files (280 LOC)
    • 2 *.java files (122 LOC)
    • 7 *.txt files (57 LOC)
    • 8 *.svg files (8 LOC)
  • " *.json" is biggest, containing 84.3% of LOC.
  • " *.svg" is smallest, containing 0.06% of LOC.


*.json10579 LOC (84%) 19 files
*.xml892 LOC (7%) 4 files
*.scala320 LOC (2%) 4 files
*.md291 LOC (2%) 5 files
*.properties280 LOC (2%) 16 files
*.java122 LOC (<1%) 2 files
*.txt57 LOC (<1%) 7 files
*.svg8 LOC (<1%) 8 files
Analyzers
Info about analyzers used for source code examinations.


2025-05-07 15:49