Linux / Documentation
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 (79 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 79 components.
  • 7,566 files, 771,048 lines of code (100.0% vs. main code).
  • "devicetree" is biggest, containing 35.77% of code.
  • "nios2" is smallest, containing 0% of code.


devicetree275812 LOC (35%) 4482 files
admin-guide62164 LOC (8%) 346 files
userspace-api52177 LOC (6%) 387 files
networking45894 LOC (5%) 225 files
translations44780 LOC (5%) 296 files
driver-api43515 LOC (5%) 287 files
filesystems29825 LOC (3%) 126 files
hwmon15647 LOC (2%) 208 files
trace14415 LOC (1%) 35 files
sound12118 LOC (1%) 49 files
virt11777 LOC (1%) 43 files
RCU10860 LOC (1%) 21 files
scsi9872 LOC (1%) 42 files
process9675 LOC (1%) 39 files
core-api9067 LOC (1%) 47 files
input6773 LOC (<1%) 35 files
x866189 LOC (<1%) 40 files
dev-tools6172 LOC (<1%) 29 files
arm5522 LOC (<1%) 72 files
power5363 LOC (<1%) 28 files
powerpc5120 LOC (<1%) 29 files
gpu5103 LOC (<1%) 44 files
vm4319 LOC (<1%) 32 files
usb4250 LOC (<1%) 25 files
bpf4126 LOC (<1%) 27 files
i2c3656 LOC (<1%) 44 files
fb3586 LOC (<1%) 35 files
ROOT3471 LOC (<1%) 8 files
security3451 LOC (<1%) 21 files
locking3401 LOC (<1%) 18 files
arm643321 LOC (<1%) 19 files
kbuild3103 LOC (<1%) 12 files
firmware-guide3030 LOC (<1%) 24 files
block2790 LOC (<1%) 18 files
s3902748 LOC (<1%) 14 files
PCI2664 LOC (<1%) 17 files
scheduler2602 LOC (<1%) 15 files
crypto2186 LOC (<1%) 18 files
ia641842 LOC (<1%) 10 files
kernel-hacking1779 LOC (<1%) 3 files
sparc1741 LOC (<1%) 6 files
hid1667 LOC (<1%) 9 files
sphinx1641 LOC (<1%) 13 files
staging1528 LOC (<1%) 9 files
watchdog1454 LOC (<1%) 10 files
leds1443 LOC (<1%) 19 files
cdrom1411 LOC (<1%) 4 files
features1375 LOC (<1%) 43 files
misc-devices1356 LOC (<1%) 16 files
livepatch1280 LOC (<1%) 9 files
doc-guide1127 LOC (<1%) 6 files
spi986 LOC (<1%) 7 files
timers866 LOC (<1%) 7 files
m68k860 LOC (<1%) 4 files
w1830 LOC (<1%) 17 files
fault-injection619 LOC (<1%) 5 files
netlabel605 LOC (<1%) 6 files
infiniband581 LOC (<1%) 8 files
accounting549 LOC (<1%) 6 files
tools509 LOC (<1%) 15 files
maintainer503 LOC (<1%) 6 files
fpga455 LOC (<1%) 2 files
cpu-freq412 LOC (<1%) 4 files
tty375 LOC (<1%) 8 files
riscv334 LOC (<1%) 6 files
isdn310 LOC (<1%) 4 files
sh297 LOC (<1%) 5 files
pcmcia286 LOC (<1%) 5 files
ide271 LOC (<1%) 5 files
xtensa243 LOC (<1%) 5 files
mhi224 LOC (<1%) 3 files
parisc176 LOC (<1%) 4 files
iio116 LOC (<1%) 3 files
openrisc114 LOC (<1%) 4 files
sphinx-static90 LOC (<1%) 2 files
mips90 LOC (<1%) 4 files
arc79 LOC (<1%) 3 files
nvdimm50 LOC (<1%) 1 files
nios230 LOC (<1%) 3 files
Dependencies
Dependencies among components are static code dependencies among files in different components.

No component dependencies found.



2022-02-04 08:58