Linux / Arch / X86
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 at level 1 (relative to the source code root).

Bubble Chart | Tree Map
Components
The "primary" logical decomposition has 22 components.
  • 1,283 files, 303,053 lines of code (100.0% vs. main code).
  • "kernel" is biggest, containing 23.79% of code.
  • "video" is smallest, containing 0.01% of code.


kernel72098 LOC (23%) 236 files
kvm55978 LOC (18%) 73 files
include37485 LOC (12%) 413 files
crypto35379 LOC (11%) 81 files
events27779 LOC (9%) 30 files
mm13060 LOC (4%) 47 files
math-emu9461 LOC (3%) 45 files
boot7528 LOC (2%) 59 files
xen7480 LOC (2%) 36 files
platform6924 LOC (2%) 34 files
pci6093 LOC (2%) 23 files
lib5828 LOC (1%) 45 files
entry4893 LOC (1%) 31 files
um3886 LOC (1%) 77 files
net3420 LOC (1%) 2 files
tools1730 LOC (<1%) 9 files
hyperv1512 LOC (<1%) 8 files
realmode890 LOC (<1%) 20 files
power864 LOC (<1%) 6 files
ia32553 LOC (<1%) 3 files
purgatory187 LOC (<1%) 4 files
video25 LOC (<1%) 1 files
Dependencies
Dependencies among components are static code dependencies among files in different components.
  • Analyzed system has 4 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 4 links contain 4 dependencies.
G power power xen xen crypto crypto pci pci video video math-emu math-emu tools tools boot boot tools->boot 1 include include tools->include 1 um um tools->um 1 net net realmode realmode entry entry platform platform hyperv hyperv um->include 1 ia32 ia32 kvm kvm lib lib mm mm events events kernel kernel purgatory purgatory


Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details about dependencies...






2022-02-02 12:56