facebookincubator / oculus-linux-kernel
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 (20 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 12 components.

Bubble Chart | Tree Map
Components
The "primary" logical decomposition has 20 components.
  • 39,678 files, 13,409,260 lines of code (100.0% vs. main code).
  • "drivers" is biggest, containing 62.02% of code.
  • "android" is smallest, containing 0% of code.


drivers8316169 LOC (62%) 16856 files
arch1822561 LOC (13%) 12215 files
fs799193 LOC (5%) 1633 files
sound796465 LOC (5%) 1551 files
net613231 LOC (4%) 1406 files
include468577 LOC (3%) 4220 files
kernel149881 LOC (1%) 287 files
tools116662 LOC (<1%) 591 files
mm71042 LOC (<1%) 104 files
lib70832 LOC (<1%) 242 files
security52715 LOC (<1%) 158 files
scripts48231 LOC (<1%) 165 files
crypto39926 LOC (<1%) 123 files
block25116 LOC (<1%) 77 files
virt8167 LOC (<1%) 19 files
ipc6360 LOC (<1%) 14 files
init3015 LOC (<1%) 12 files
usr544 LOC (<1%) 1 files
firmware303 LOC (<1%) 2 files
android270 LOC (<1%) 2 files
Dependencies
Dependencies among components are static code dependencies among files in different components.

No component dependencies found.



2022-04-15 02:05