apache / tuscany-sca-1.x
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
xsd
wsdl
properties
txt
xq
xsl
project
classpath
htaccess
cgi
ini
prefs
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.

main203564 LOC (52%) 4,310 files
test74201 LOC (19%) 1,588 files
generated5751 LOC (1%) 133 files
build and deployment44640 LOC (11%) 666 files
other58602 LOC (15%) 1,544 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
wsdl
xsd
xsl
cgi
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 4310 files match defined criteria (203,564 LOC, 100.0% vs. main code):
    • 3,636 *.java files (174,901 LOC)
    • 116 *.wsdl files (12,608 LOC)
    • 431 *.xml files (7,557 LOC)
    • 35 *.html files (2,715 LOC)
    • 9 *.js files (2,669 LOC)
    • 68 *.xsd files (2,298 LOC)
    • 3 *.xsl files (321 LOC)
    • 3 *.css files (171 LOC)
    • 1 *.rb files (158 LOC)
    • 3 *.jsp files (90 LOC)
    • 2 *.py files (55 LOC)
    • 1 *.groovy files (8 LOC)
    • 1 *.sql files (7 LOC)
    • 1 *.cgi files (6 LOC)
  • " *.java" is biggest, containing 85.92% of LOC.
  • " *.cgi" is smallest, containing 0% of LOC.


*.java174901 LOC (85%) 3,636 files
*.wsdl12608 LOC (6%) 116 files
*.xml7557 LOC (3%) 431 files
*.html2715 LOC (1%) 35 files
*.js2669 LOC (1%) 9 files
*.xsd2298 LOC (1%) 68 files
*.xsl321 LOC (<1%) 3 files
*.css171 LOC (<1%) 3 files
*.rb158 LOC (<1%) 1 file
*.jsp90 LOC (<1%) 3 files
*.py55 LOC (<1%) 2 files
*.groovy8 LOC (<1%) 1 file
*.sql7 LOC (<1%) 1 file
*.cgi6 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
wsdl
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_.*".
  • 1588 files match defined criteria (74,201 LOC, 36.5% vs. main code):
    • 1,451 *.java files (67,896 LOC)
    • 52 *.wsdl files (4,029 LOC)
    • 62 *.xml files (1,780 LOC)
    • 8 *.html files (448 LOC)
    • 5 *.js files (18 LOC)
    • 4 *.groovy files (15 LOC)
    • 3 *.rb files (9 LOC)
    • 3 *.py files (6 LOC)
  • " *.java" is biggest, containing 91.5% of LOC.
  • " *.py" is smallest, containing 0.01% of LOC.


*.java67896 LOC (91%) 1,451 files
*.wsdl4029 LOC (5%) 52 files
*.xml1780 LOC (2%) 62 files
*.html448 LOC (<1%) 8 files
*.js18 LOC (<1%) 5 files
*.groovy15 LOC (<1%) 4 files
*.rb9 LOC (<1%) 3 files
*.py6 LOC (<1%) 3 files
Generated Code
Automatically generated files, not manually changed after generation.
wsdl
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with any line of content like "\<\!\-\-[ ]*Generated by .*".
    • files with any line of content like "// This file was generated .*".
    • files with paths like ".*/generated/.*".
  • 133 files match defined criteria (5,751 LOC, 2.8% vs. main code):
    • 131 *.java files (5,424 LOC)
    • 2 *.wsdl files (327 LOC)
  • " *.java" is biggest, containing 94.31% of LOC.
  • " *.wsdl" is smallest, containing 5.69% of LOC.


*.java5424 LOC (94%) 131 files
*.wsdl327 LOC (5%) 2 files
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 ".*/build[.]xml".
    • files with paths like ".*/assembly/src[.]xml".
    • files with paths like ".*[.]bat".
    • files with paths like ".*/AndroidManifest[.]xml".
  • 666 files match defined criteria (44,640 LOC, 21.9% vs. main code):
    • 663 *.xml files (44,581 LOC)
    • 2 *.bat files (53 LOC)
    • 1 *.sh files (6 LOC)
  • " *.xml" is biggest, containing 99.87% of LOC.
  • " *.sh" is smallest, containing 0.01% of LOC.


*.xml44581 LOC (99%) 663 files
*.bat53 LOC (<1%) 2 files
*.sh6 LOC (<1%) 1 file
Other Code
xsd
properties
wsdl
txt
xq
ini
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]properties".
    • files with paths like ".*[.]ini".
    • files with paths like ".*/[.]htaccess".
    • files with paths like ".*/resources/.*[.]xsd".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
    • files with paths like ".*[.]json".
    • files with paths like ".*[.]svg".
    • files with paths like ".*/[Ss]amples/.*".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*/[Dd]emos?/.*".
  • 1544 files match defined criteria (58,602 LOC, 28.8% vs. main code):
    • 788 *.java files (16,358 LOC)
    • 59 *.svg files (15,616 LOC)
    • 288 *.xml files (13,697 LOC)
    • 216 *.xsd files (5,902 LOC)
    • 101 *.properties files (2,625 LOC)
    • 28 *.wsdl files (1,631 LOC)
    • 19 *.html files (1,536 LOC)
    • 9 *.txt files (450 LOC)
    • 6 *.css files (239 LOC)
    • 9 *.jsp files (229 LOC)
    • 4 *.xq files (220 LOC)
    • 1 *.ini files (31 LOC)
    • 2 *.sql files (24 LOC)
    • 5 *.js files (16 LOC)
    • 3 *.rb files (11 LOC)
    • 3 *.groovy files (9 LOC)
    • 3 *.py files (8 LOC)
  • " *.java" is biggest, containing 27.91% of LOC.
  • " *.py" is smallest, containing 0.01% of LOC.


*.java16358 LOC (27%) 788 files
*.svg15616 LOC (26%) 59 files
*.xml13697 LOC (23%) 288 files
*.xsd5902 LOC (10%) 216 files
*.properties2625 LOC (4%) 101 files
*.wsdl1631 LOC (2%) 28 files
*.html1536 LOC (2%) 19 files
*.txt450 LOC (<1%) 9 files
*.css239 LOC (<1%) 6 files
*.jsp229 LOC (<1%) 9 files
*.xq220 LOC (<1%) 4 files
*.ini31 LOC (<1%) 1 file
*.sql24 LOC (<1%) 2 files
*.js16 LOC (<1%) 5 files
*.rb11 LOC (<1%) 3 files
*.groovy9 LOC (<1%) 3 files
*.py8 LOC (<1%) 3 files
Analyzers
Info about analyzers used for source code examinations.


2023-08-10 13:35