Linux / Tools
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 (33 components)

Logical Decomposition #1: PRIMARY

The decompositions is based on the folder structure at level 1 (relative to the source code root).

Bubble Chart | Tree Map
Components
The "primary" logical decomposition has 33 components.
  • 2,673 files, 506,853 lines of code (100.0% vs. main code).
  • "testing" is biggest, containing 37.02% of code.
  • "memory-model" is smallest, containing 0% of code.


testing187644 LOC (37%) 1288 files
perf170900 LOC (33%) 638 files
lib42502 LOC (8%) 127 files
power31649 LOC (6%) 88 files
include17536 LOC (3%) 145 files
bpf15354 LOC (3%) 39 files
arch8937 LOC (1%) 104 files
usb5346 LOC (1%) 34 files
objtool5186 LOC (1%) 24 files
tracing5067 LOC (<1%) 14 files
vm2547 LOC (<1%) 3 files
virtio2082 LOC (<1%) 43 files
iio1880 LOC (<1%) 5 files
hv1594 LOC (<1%) 3 files
thermal1454 LOC (<1%) 5 files
firewire1207 LOC (<1%) 4 files
io_uring1068 LOC (<1%) 7 files
build932 LOC (<1%) 70 files
gpio807 LOC (<1%) 6 files
cgroup569 LOC (<1%) 4 files
accounting463 LOC (<1%) 1 files
bootconfig454 LOC (<1%) 2 files
edid445 LOC (<1%) 7 files
laptop257 LOC (<1%) 2 files
firmware226 LOC (<1%) 1 files
pci217 LOC (<1%) 1 files
wmi166 LOC (<1%) 1 files
spi131 LOC (<1%) 1 files
leds94 LOC (<1%) 2 files
counter68 LOC (<1%) 1 files
rcu25 LOC (<1%) 1 files
pcmcia25 LOC (<1%) 1 files
memory-model21 LOC (<1%) 1 files
Dependencies
Dependencies among components are static code dependencies among files in different components.

No component dependencies found.



2022-02-02 22:46