Linux / Arch / Mips
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 (43 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 43 components.
  • 1,351 files, 219,901 lines of code (100.0% vs. main code).
  • "include" is biggest, containing 41.35% of code.
  • "power" is smallest, containing 0.04% of code.


include90928 LOC (41%) 623 files
kernel27915 LOC (12%) 107 files
cavium-octeon11551 LOC (5%) 39 files
pci9854 LOC (4%) 60 files
mm9401 LOC (4%) 39 files
alchemy7659 LOC (3%) 25 files
kvm6814 LOC (3%) 15 files
math-emu6540 LOC (2%) 45 files
bcm63xx3450 LOC (1%) 21 files
net2878 LOC (1%) 4 files
txx92661 LOC (1%) 16 files
sibyte2408 LOC (1%) 18 files
lib2323 LOC (1%) 17 files
lantiq2316 LOC (1%) 16 files
loongson642225 LOC (1%) 15 files
loongson2ef2127 LOC (<1%) 33 files
bcm47xx2124 LOC (<1%) 10 files
dec2092 LOC (<1%) 19 files
crypto1925 LOC (<1%) 5 files
sgi-ip221775 LOC (<1%) 12 files
ar71667 LOC (<1%) 8 files
sgi-ip271572 LOC (<1%) 14 files
ralink1515 LOC (<1%) 18 files
vr41xx1487 LOC (<1%) 12 files
boot1474 LOC (<1%) 21 files
sni1472 LOC (<1%) 9 files
ath251350 LOC (<1%) 11 files
mti-malta1123 LOC (<1%) 9 files
fw1085 LOC (<1%) 14 files
generic1013 LOC (<1%) 17 files
ath791001 LOC (<1%) 6 files
pic32933 LOC (<1%) 10 files
sgi-ip32763 LOC (<1%) 8 files
rb532733 LOC (<1%) 7 files
jazz724 LOC (<1%) 4 files
loongson32716 LOC (<1%) 8 files
sgi-ip30627 LOC (<1%) 8 files
vdso543 LOC (<1%) 7 files
cobalt420 LOC (<1%) 11 files
tools323 LOC (<1%) 2 files
bmips173 LOC (<1%) 3 files
n64131 LOC (<1%) 2 files
power90 LOC (<1%) 3 files
Dependencies
Dependencies among components are static code dependencies among files in different components.
  • Analyzed system has 2 links (arrows) between components.
  • The number on the arrow represents the number of files from referring component that depend on files in referred component.
  • These 2 links contain 2 dependencies.
G cavium-octeon cavium-octeon power power loongson2ef loongson2ef bmips bmips crypto crypto pci pci include include pci->include 1 math-emu math-emu tools tools sgi-ip22 sgi-ip22 net net txx9 txx9 vdso vdso boot boot boot->include 1 sni sni bcm47xx bcm47xx ar7 ar7 fw fw sibyte sibyte rb532 rb532 loongson64 loongson64 sgi-ip30 sgi-ip30 cobalt cobalt n64 n64 sgi-ip27 sgi-ip27 ath79 ath79 ath25 ath25 vr41xx vr41xx lantiq lantiq kvm kvm pic32 pic32 dec dec ralink ralink lib lib mm mm generic generic mti-malta mti-malta loongson32 loongson32 sgi-ip32 sgi-ip32 bcm63xx bcm63xx kernel kernel jazz jazz alchemy alchemy


Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details about dependencies...






2022-02-02 12:30