JetBrains / MPS
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
cp
properties
txt
xsl
patch
cmd
in
nsi
xsd
gitattributes
policy
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.

main1915232 LOC (79%) 23,146 files
test293855 LOC (12%) 4,483 files
generated2282 LOC (<1%) 24 files
build and deployment2362 LOC (<1%) 11 files
other191526 LOC (7%) 3,171 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
cp
xsl
xsd
nsi
xslt
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 23146 files match defined criteria (1,915,232 LOC, 100.0% vs. main code):
    • 22,263 *.java files (1,812,684 LOC)
    • 217 *.xml files (73,063 LOC)
    • 494 *.cp files (20,792 LOC)
    • 11 *.xsl files (3,026 LOC)
    • 73 *.kt files (2,714 LOC)
    • 79 *.html files (2,203 LOC)
    • 1 *.xsd files (269 LOC)
    • 2 *.groovy files (164 LOC)
    • 3 *.css files (128 LOC)
    • 1 *.nsi files (98 LOC)
    • 1 *.xslt files (48 LOC)
    • 1 *.py files (43 LOC)
  • " *.java" is biggest, containing 94.65% of LOC.
  • " *.py" is smallest, containing 0% of LOC.


*.java1812684 LOC (94%) 22,263 files
*.xml73063 LOC (3%) 217 files
*.cp20792 LOC (1%) 494 files
*.xsl3026 LOC (<1%) 11 files
*.kt2714 LOC (<1%) 73 files
*.html2203 LOC (<1%) 79 files
*.xsd269 LOC (<1%) 1 file
*.groovy164 LOC (<1%) 2 files
*.css128 LOC (<1%) 3 files
*.nsi98 LOC (<1%) 1 file
*.xslt48 LOC (<1%) 1 file
*.py43 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
cp
in
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*/test[.].*".
    • files with paths like ".*/tests_.*".
    • files with paths like ".*[.][Tt]est/.*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*[.][Tt]ests/.*".
    • files with paths like ".*[-]tests/.*".
    • files with paths like ".*[.][Tt]ests[.].*".
    • files with paths like ".*[.]tests[.].*".
    • files with paths like ".*[.][Tt]est[.].*".
    • files with paths like ".*[.]test[.].*".
    • files with paths like ".*_test[.].*".
  • 4483 files match defined criteria (293,855 LOC, 15.3% vs. main code):
    • 4,289 *.java files (248,675 LOC)
    • 78 *.xml files (40,886 LOC)
    • 111 *.cp files (4,202 LOC)
    • 1 *.pl files (53 LOC)
    • 2 *.kt files (17 LOC)
    • 1 *.sh files (15 LOC)
    • 1 *.in files (7 LOC)
  • " *.java" is biggest, containing 84.63% of LOC.
  • " *.in" is smallest, containing 0% of LOC.


*.java248675 LOC (84%) 4,289 files
*.xml40886 LOC (13%) 78 files
*.cp4202 LOC (1%) 111 files
*.pl53 LOC (<1%) 1 file
*.kt17 LOC (<1%) 2 files
*.sh15 LOC (<1%) 1 file
*.in7 LOC (<1%) 1 file
Generated Code
Automatically generated files, not manually changed after generation.
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/generated/.*".
  • 24 files match defined criteria (2,282 LOC, 0.1% vs. main code). All matches are in *.java files.


*.java2282 LOC (100%) 24 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 ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/build[.]xml".
    • files with paths like ".*[.]bat".
    • files with paths like ".*[.]sh".
    • files with paths like ".*/[.]gitattributes".
  • 11 files match defined criteria (2,362 LOC, 0.1% vs. main code):
    • 6 *.xml files (2,154 LOC)
    • 5 *.sh files (208 LOC)
  • " *.xml" is biggest, containing 91.19% of LOC.
  • " *.sh" is smallest, containing 8.81% of LOC.


*.xml2154 LOC (91%) 6 files
*.sh208 LOC (8%) 5 files
Other Code
cp
txt
properties
xsl
patch
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]properties".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/[Ss]amples/.*".
    • files with paths like ".*[.]svg".
    • files with paths like ".*[.]json".
    • files with paths like ".*/[Dd]emos?/.*".
    • files with paths like ".*/[Dd]ocumentation/.*".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
    • files with paths like ".*/checkstyle.*".
    • files with paths like ".*[.]patch".
    • files with paths like ".*/[Ee]xamples/.*".
  • 3171 files match defined criteria (191,526 LOC, 10.0% vs. main code):
    • 2,372 *.java files (167,597 LOC)
    • 45 *.xml files (8,771 LOC)
    • 193 *.cp files (5,521 LOC)
    • 25 *.txt files (3,007 LOC)
    • 449 *.svg files (2,757 LOC)
    • 7 *.json files (2,515 LOC)
    • 46 *.properties files (581 LOC)
    • 3 *.xsl files (352 LOC)
    • 9 *.patch files (216 LOC)
    • 22 *.md files (209 LOC)
  • " *.java" is biggest, containing 87.51% of LOC.
  • " *.md" is smallest, containing 0.11% of LOC.


*.java167597 LOC (87%) 2,372 files
*.xml8771 LOC (4%) 45 files
*.cp5521 LOC (2%) 193 files
*.txt3007 LOC (1%) 25 files
*.svg2757 LOC (1%) 449 files
*.json2515 LOC (1%) 7 files
*.properties581 LOC (<1%) 46 files
*.xsl352 LOC (<1%) 3 files
*.patch216 LOC (<1%) 9 files
*.md209 LOC (<1%) 22 files
Analyzers
Info about analyzers used for source code examinations.


2026-01-18 17:13