golang / exp
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 (22 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 10 components.

Bubble Chart | Tree Map
Components
The "primary" logical decomposition has 22 components.
  • 275 files, 49,019 lines of code (100.0% vs. main code).
  • "shiny" is biggest, containing 58.12% of code.
  • "ROOT" is smallest, containing 0% of code.


shiny28491 LOC (58%) 115 files
shootout3474 LOC (7%) 31 files
errors2552 LOC (5%) 11 files
sumdb2190 LOC (4%) 14 files
cmd2113 LOC (4%) 11 files
event1860 LOC (3%) 20 files
vulncheck1611 LOC (3%) 12 files
vulndb1579 LOC (3%) 12 files
jsonrpc2984 LOC (2%) 8 files
apidiff686 LOC (1%) 5 files
slices671 LOC (1%) 4 files
rand619 LOC (1%) 5 files
winfsnotify499 LOC (1%) 1 files
internal400 LOC (<1%) 5 files
io399 LOC (<1%) 9 files
ebnf320 LOC (<1%) 2 files
mmap258 LOC (<1%) 4 files
utf8string140 LOC (<1%) 1 files
ebnflint92 LOC (<1%) 2 files
maps61 LOC (<1%) 1 files
constraints19 LOC (<1%) 1 files
ROOT1 LOC (<1%) 1 files
Dependencies
Dependencies among components are static code dependencies among files in different components.

No component dependencies found.



2022-02-03 01:35