logo Netzschleuder network catalog, repository, and centrifuge

linux — Linux source inclusions (v3.16)

Description

A directed network of the inclusions between the source code files of the Linux kernel, version 3.16 (released in August 2014), extracted from the kernel's source tarball following the method of J. Kunegis. Each directed edge points from a C source or header file to a file it includes with an #include directive (repeated inclusions are counted once). The included files were located heuristically: an #include was resolved by looking for the file relative to the directory of the including file and its parent directories (and their include subdirectories), then relative to the top directory, then by a unique match of the file name anywhere in the tree; system headers (e.g. sys/... or endian.h) and the generated linux/version.h were ignored, as were includes that could not be resolved. The paths were then simplified by removing architecture-, platform- and API-specific directory components (e.g. arch/<arch>/, include/, asm/, uapi/, linux/, mach-*/), so that several files with the same simplified path, such as the variants of the same header for different architectures, are merged into one node. Only files that include or are included by some file are part of the network. Since a file and a file it includes can be mapped to the same node, 530 nodes have self-loops.

The network has the following properties:

  • (Node) name: the simplified path of the file(s), which identifies the node.
  • (Node) files: the list of the paths, relative to the top directory of the source tree, of the source files whose simplified path is that of the node (empty only for config.h, which is generated during the build).
Tags
Technological Software Unweighted Metadata
Added
2020-08-11
Citation
Upstream URL OK
https://www.kernel.org/
Upstream license
GPL-2.0, https://www.kernel.org/pub/linux/kernel/COPYING
Networks
Tip: hover over a column header for a description.
Column legend
$\left<k\right>$
Mean degree
$\sigma_k$
Standard deviation of the degrees
$\lambda_h$
Largest eigenvalue of the Hashimoto (non-backtracking) matrix
$\tau$
Random walk mixing time
$r$
Degree assortativity
$c$
Global clustering coefficient
$\oslash$
(Pseudo-) diameter
$S$
Relative size of the largest component
NPs
Node properties
EPs
Edge properties
Name Nodes Edges $\left<k\right>$ $\sigma_k$ $\lambda_h$ $\tau$ $r$ $c$ $\oslash$ $S$ Kind Mode NPs EPs gt GraphML GML csv
linux 30,837 213,954 6.94 107.79 155.62 67.60 -0.17 0.00 12 1.00 Directed Unipartite 674 KiB 1.3 MiB 1.3 MiB 1022 KiB
Ridiculograms*
* These are automatically generated force-directed visualizations, and can be quite meaningless for networks both big and small. They should not be taken seriously as sources of scientific insight. See here for a discussion.