whatsapp / otp
Components & Dependencies

An overview of source code logical components.

Intro

Logical decomposition is a representation of the organization of the main source code, where every and each file is put in exactly one logical component.

  • A software system can have one or more logical decompositions.
  • A logical decomposition can be defined in two ways in Sokrates.
  • First approach is based on the folders structure. Components are mapped to folders at defined folder depth relative to the source code root.
  • Second approach is based on explicit definition of each component. In such explicit definitions, components are explicitly named and their files are selected based on explicitly defined path and content filters.
  • A logical decomposition is considered invalid if a file is selected into two or more components.This constraint is introduced in order to facilitate measuring of dependencies among components.
  • Files not assigned to any component are put into a special "Unclassified" component.
Learn more...
Logical Decompositions Overview

Analyzed system has 1 logical decomposition:

  • primary (51 components)

Logical Decomposition #1: PRIMARY

The decompositions is based on the folder structure (relative to the source code root), with automatically defined folder depth to have at least 12 components.

Bubble Chart | Tree Map
Components
The "primary" logical decomposition has 51 components.
  • 3,236 files, 1,467,724 lines of code (100.0% vs. main code).
  • "erts/emulator" is biggest, containing 19.96% of code.
  • "scripts" is smallest, containing 0.01% of code.


erts/emulator292965 LOC (19%) 501 files
lib/stdlib126996 LOC (8%) 167 files
lib/hipe83421 LOC (5%) 232 files
lib/kernel81421 LOC (5%) 169 files
lib/snmp70784 LOC (4%) 166 files
lib/megaco64902 LOC (4%) 113 files
lib/compiler53744 LOC (3%) 68 files
lib/ssl41940 LOC (2%) 93 files
lib/common_test38498 LOC (2%) 80 files
lib/tools35037 LOC (2%) 55 files
lib/dialyzer34795 LOC (2%) 41 files
lib/wx33584 LOC (2%) 58 files
lib/mnesia30746 LOC (2%) 49 files
lib/inets29928 LOC (2%) 92 files
lib/asn129890 LOC (2%) 42 files
lib/ssh28675 LOC (1%) 69 files
lib/diameter26558 LOC (1%) 66 files
erts/doc24439 LOC (1%) 39 files
system/doc24131 LOC (1%) 128 files
erts/etc22184 LOC (1%) 49 files
lib/xmerl22144 LOC (1%) 46 files
erts/lib_src21283 LOC (1%) 41 files
lib/observer20453 LOC (1%) 65 files
lib/syntax_tools20153 LOC (1%) 18 files
lib/erl_interface19668 LOC (1%) 148 files
lib/crypto17857 LOC (1%) 78 files
erts/include14550 LOC (<1%) 52 files
lib/public_key14486 LOC (<1%) 42 files
lib/sasl14212 LOC (<1%) 52 files
erts/preloaded14007 LOC (<1%) 22 files
lib/debugger12251 LOC (<1%) 36 files
lib/runtime_tools12045 LOC (<1%) 32 files
lib/reltool11063 LOC (<1%) 19 files
lib/erl_docgen10156 LOC (<1%) 33 files
lib/edoc8279 LOC (<1%) 25 files
lib/jinterface8251 LOC (<1%) 64 files
lib/os_mon7179 LOC (<1%) 35 files
lib/parsetools6721 LOC (<1%) 13 files
lib/odbc6207 LOC (<1%) 20 files
lib/et6068 LOC (<1%) 17 files
lib/eunit4635 LOC (<1%) 17 files
lib/ftp3905 LOC (<1%) 13 files
lib/tftp3870 LOC (<1%) 16 files
erts3273 LOC (<1%) 1 files
lib/eldap2521 LOC (<1%) 10 files
erts/epmd2139 LOC (<1%) 6 files
make2125 LOC (<1%) 7 files
erts/example1340 LOC (<1%) 15 files
bootstrap/lib1097 LOC (<1%) 14 files
ROOT1071 LOC (<1%) 1 files
scripts77 LOC (<1%) 1 files
Dependencies
Dependencies among components are static code dependencies among files in different components.

No component dependencies found.



2022-04-16 06:54