apache / incubator-atlas
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
properties
cfg
xsl
in
ini
org
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.

main84839 LOC (60%) 748 files
test43579 LOC (30%) 265 files
generated0 LOC (0%) 0 files
build and deployment7174 LOC (5%) 35 files
other5712 LOC (4%) 47 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
org
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 748 files match defined criteria (84,839 LOC, 100.0% vs. main code):
    • 594 *.java files (64,184 LOC)
    • 67 *.js files (12,767 LOC)
    • 15 *.scala files (3,648 LOC)
    • 17 *.scss files (2,106 LOC)
    • 15 *.xml files (900 LOC)
    • 35 *.html files (734 LOC)
    • 3 *.css files (238 LOC)
    • 1 *.org files (221 LOC)
    • 1 *.jsp files (41 LOC)
  • " *.java" is biggest, containing 75.65% of LOC.
  • " *.jsp" is smallest, containing 0.05% of LOC.


*.java64184 LOC (75%) 594 files
*.js12767 LOC (15%) 67 files
*.scala3648 LOC (4%) 15 files
*.scss2106 LOC (2%) 17 files
*.xml900 LOC (1%) 15 files
*.html734 LOC (<1%) 35 files
*.css238 LOC (<1%) 3 files
*.org221 LOC (<1%) 1 file
*.jsp41 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
cfg
in
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*/[Tt]ests/.*".
  • 265 files match defined criteria (43,579 LOC, 51.4% vs. main code):
    • 221 *.java files (35,843 LOC)
    • 17 *.py files (5,496 LOC)
    • 13 *.scala files (1,804 LOC)
    • 11 *.xml files (365 LOC)
    • 2 *.cfg files (69 LOC)
    • 1 *.in files (2 LOC)
  • " *.java" is biggest, containing 82.25% of LOC.
  • " *.in" is smallest, containing 0% of LOC.


*.java35843 LOC (82%) 221 files
*.py5496 LOC (12%) 17 files
*.scala1804 LOC (4%) 13 files
*.xml365 LOC (<1%) 11 files
*.cfg69 LOC (<1%) 2 files
*.in2 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 ".*[.]sh".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/package[.]json".
  • 35 files match defined criteria (7,174 LOC, 8.5% vs. main code):
    • 32 *.xml files (6,380 LOC)
    • 3 *.sh files (794 LOC)
  • " *.xml" is biggest, containing 88.93% of LOC.
  • " *.sh" is smallest, containing 11.07% of LOC.


*.xml6380 LOC (88%) 32 files
*.sh794 LOC (11%) 3 files
Other Code
txt
properties
xsl
ini
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]json".
    • files with paths like ".*[.]ini".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
    • files with paths like ".*[.]properties".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]md".
    • files with paths like ".*/checkstyle.*".
    • files with paths like ".*/checkstyle[.]xml".
  • 47 files match defined criteria (5,712 LOC, 6.7% vs. main code):
    • 15 *.json files (2,466 LOC)
    • 13 *.txt files (1,116 LOC)
    • 4 *.java files (1,041 LOC)
    • 10 *.properties files (588 LOC)
    • 1 *.md files (169 LOC)
    • 1 *.xsl files (165 LOC)
    • 2 *.xml files (134 LOC)
    • 1 *.ini files (33 LOC)
  • " *.json" is biggest, containing 43.17% of LOC.
  • " *.ini" is smallest, containing 0.58% of LOC.


*.json2466 LOC (43%) 15 files
*.txt1116 LOC (19%) 13 files
*.java1041 LOC (18%) 4 files
*.properties588 LOC (10%) 10 files
*.md169 LOC (2%) 1 file
*.xsl165 LOC (2%) 1 file
*.xml134 LOC (2%) 2 files
*.ini33 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2023-08-10 15:46