apache / harmony-classlib
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
prefs
txt
properties
project
classpath
mk
s
policy
cfg
mak
xsd
tst
ini
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.

main614476 LOC (54%) 4,530 files
test497737 LOC (44%) 2,839 files
generated0 LOC (0%) 0 files
build and deployment6124 LOC (<1%) 60 files
other8077 LOC (<1%) 157 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
cfg
s
policy
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 4530 files match defined criteria (614,476 LOC, 100.0% vs. main code):
    • 3,814 *.java files (498,215 LOC)
    • 269 *.c files (66,012 LOC)
    • 302 *.h files (25,439 LOC)
    • 42 *.cpp files (14,584 LOC)
    • 54 *.xml files (2,695 LOC)
    • 23 *.html files (2,507 LOC)
    • 7 *.htm files (1,987 LOC)
    • 4 *.css files (884 LOC)
    • 2 *.g files (792 LOC)
    • 3 *.cfg files (547 LOC)
    • 4 *.s files (486 LOC)
    • 4 *.asm files (276 LOC)
    • 2 *.policy files (52 LOC)
  • " *.java" is biggest, containing 81.08% of LOC.
  • " *.policy" is smallest, containing 0.01% of LOC.


*.java498215 LOC (81%) 3,814 files
*.c66012 LOC (10%) 269 files
*.h25439 LOC (4%) 302 files
*.cpp14584 LOC (2%) 42 files
*.xml2695 LOC (<1%) 54 files
*.html2507 LOC (<1%) 23 files
*.htm1987 LOC (<1%) 7 files
*.css884 LOC (<1%) 4 files
*.g792 LOC (<1%) 2 files
*.cfg547 LOC (<1%) 3 files
*.s486 LOC (<1%) 4 files
*.asm276 LOC (<1%) 4 files
*.policy52 LOC (<1%) 2 files
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
policy
tst
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_.*".
  • 2839 files match defined criteria (497,737 LOC, 81.0% vs. main code):
    • 2,767 *.java files (491,000 LOC)
    • 47 *.xml files (3,859 LOC)
    • 16 *.c files (2,823 LOC)
    • 5 *.html files (32 LOC)
    • 1 *.h files (11 LOC)
    • 1 *.policy files (7 LOC)
    • 1 *.pl files (4 LOC)
    • 1 *.tst files (1 LOC)
  • " *.java" is biggest, containing 98.65% of LOC.
  • " *.tst" is smallest, containing 0% of LOC.


*.java491000 LOC (98%) 2,767 files
*.xml3859 LOC (<1%) 47 files
*.c2823 LOC (<1%) 16 files
*.html32 LOC (<1%) 5 files
*.h11 LOC (<1%) 1 file
*.policy7 LOC (<1%) 1 file
*.pl4 LOC (<1%) 1 file
*.tst1 LOC (<1%) 1 file
Build and Deployment Code
Source code used to configure or support build and deployment process.
mk
mak
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 ".*[.]mk".
    • files with paths like ".*[.]mak".
  • 60 files match defined criteria (6,124 LOC, 1.0% vs. main code):
    • 38 *.xml files (5,421 LOC)
    • 18 *.mk files (554 LOC)
    • 2 *.mak files (142 LOC)
    • 2 *.sh files (7 LOC)
  • " *.xml" is biggest, containing 88.52% of LOC.
  • " *.sh" is smallest, containing 0.11% of LOC.


*.xml5421 LOC (88%) 38 files
*.mk554 LOC (9%) 18 files
*.mak142 LOC (2%) 2 files
*.sh7 LOC (<1%) 2 files
Other Code
properties
txt
xsd
ini
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]json".
    • files with paths like ".*/resources/.*[.]xsd".
    • files with paths like ".*[.]ini".
    • files with paths like ".*[.]properties".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/README[.][a-z0-9]+".
  • 157 files match defined criteria (8,077 LOC, 1.3% vs. main code):
    • 78 *.properties files (5,034 LOC)
    • 77 *.txt files (2,965 LOC)
    • 1 *.xsd files (52 LOC)
    • 1 *.ini files (26 LOC)
  • " *.properties" is biggest, containing 62.33% of LOC.
  • " *.ini" is smallest, containing 0.32% of LOC.


*.properties5034 LOC (62%) 78 files
*.txt2965 LOC (36%) 77 files
*.xsd52 LOC (<1%) 1 file
*.ini26 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2023-08-10 10:56