Linux Kernels as Complex Networks: A Novel Method to Study Evolution Lei Wang Zheng Wang Chen Yang Li Zhang

Qiang Ye

School of Computer Science, Beijing University of Aeronautics and Astronautics, Beijing, China [email protected], {wangzheng, yangchen}@cse.buaa.edu.cn, [email protected]

Dept. of Computer Science & IT, UPEI, Charlottetown, Canada [email protected]

Outline Introduction z Call graphs of Linux kernel modules z Evolution of nodes and edges z Features of complex networks z A method to find major structural changes z Conclusions z

Introduction (1) z

There are all kinds of networks around us: – Social networks (e.g. friendship networks) – Technological networks (e.g. the Internet) – Biological networks (e.g. neural networks)

Many real networks are neither regular graph nor random graph. z Complex networks have been used to study these networks. z

Introduction (2) Code statistics is a widely used method to study software evolution. z However, this method can only be used to predict the scale of software systems in terms of code size. z

– It cannot be used to study the internal structures of software system. z

We use complex networks to study the evolution of operating systems.

Call graphs of Linux kernel modules (1) A call graph is a directed graph that represents the calling relationship between functions in a program. z Each function in the program is modeled as a graph node. z When a function calls another function, an edge is added to the graph. z

– The edge starts from the caller node and ends at the called node.

Call graphs of Linux kernel modules (2) We compiled 223 different Linux kernels that fall in the range of Version 1.1.0 to 2.4.35 z For clarity, we assigned sequence numbers to these kernels according to the chronological order. z Namely, the kernel that appeared earliest is No. 1 kernel and the most recent kernel is No. 223 kernel. z

Evolution of nodes z

Number of nodes: we are focused on the file system and drivers module.

Evolution of edges z

Number of edges

Two problems to solve z

Are the call graphs of Linux kernel complex networks?

z

How to use the features of complex networks? – Many studies focused on how to generate complex networks – They were not carried out from the view of software engineering

Features of complex networks z

Small-world: – The average path length is very small.

z

Other features: – Scale-free – Clustering coefficient – Preferential attachment

Average path length z

The average path length of a graph is defined as the average distance between any pair of nodes in the graph.

L=

1 1 N ( N + 1) 2

∑d i≥ j

ij

where dij is the distance between node i and j, N is the number of nodes within the graph, and L is the average path length of the graph.

Small-world feature

A method to find major structural changes The theory of small-world model shows that L scales as ln(N), N is the number of nodes in the graph. z We checked whether this property holds for the call graphs of Linux kernels using the concept of the "slope" of the average path length. z

k ij =

L j − Li

ln ( N j ) − ln ( N i )

Unusual evolutional points

Structural Change Discovery 1. 2.

3.

4.

Calculate the slope and find out the unusual evolutional points. Compare the call graph of the kernel that leads to an unusual evolutional point with that of its previous kernel, and find out the edges that are added or deleted in the call graph of the later kernel. Find out the nodes that are associated with the edges that were found in step 2 and count the number of appearances. This might result in a large number of nodes. However, 1 to 3 nodes usually account for more than 50% of the total number of appearances. Finally, we need to analyze the Linux code of the functions corresponding to the nodes that account for more than 50% and find out the structural changes.

The first unusual point Node

edge

smp_processor_id

175

sys_vhangup

2

mem_mmap

2

xiafs_unlink

1





Four unusual points in fs z z

z

SMP support leads to the first and second unusual point that corresponds to kernel 1.3.39 and 2.1.29. The unusual point corresponding to kernel 2.3.48 occurs because of the reconstruction of hfs file system and two functions in vfs, block_read_full_page and block_write_full_page. Finally, the jfs file system reconstruction triggers the last unusual point that corresponds to kernel 2.4.23.

Conclusions z

Generated the call graphs of 223 Linux kernels (Version 1.1.0 to Version 2.4.35)

z

The call graphs of the file system and driver module in all Linux kernels under investigation are scale-free small-world complex networks.

z

Proposed a generic method that could be used to find major structural changes that occur during the evolution of software systems.

Linux Kernels as Complex Networks: A Novel Method ...

study software evolution. ○ However, this ... predict the scale of software systems in terms of ... functions corresponding to the nodes that account for more than ...

551KB Sizes 1 Downloads 224 Views

Recommend Documents

Orthogonal complex spreading method for multichannel and ...
Sep 2, 2004 - CSEM/Pro Telecom, et al., “FMAiFRAMEs Multiple. Access A Harmonized ... Sequence WM'nl by a ?rst data Xnl of a mh block and. (51) Int. Cl.

Orthogonal complex spreading method for multichannel and ...
Sep 2, 2004 - CSEM/Pro Telecom, et al., “FMAiFRAMEs Multiple. Access A Harmonized Concept for UMTS/IMT*2000;. FMA2*Wideband CDMA”, Homepage: ...

Synchronization in complex networks
Sep 18, 2008 - oscillating elements are constrained to interact in a complex network topology. We also ... Finally, we review several applications of synchronization in complex networks to different dis- ciplines: ...... last claim will be of extreme

Optimal Synchronization of Complex Networks
Sep 30, 2014 - 2Department of Applied Mathematics, University of Colorado at Boulder, Boulder, Colorado 80309, USA ... of interacting dynamical systems.

Immunization of complex networks
Feb 8, 2002 - does not lead to the eradication of infections in all complex networks. ... degree of local clustering. ..... 1. a Reduced prevalence g /0 from computer simulations of the SIS model in the WS network with uniform and targeted.

Wealth dynamics on complex networks
Fax: +39-0577-23-4689. E-mail address: [email protected] (D. Garlaschelli). .... Random graphs, regular lattices and scale-free networks. The first point of ...

Self-Organization and Complex Networks
Jun 10, 2008 - Roma, Italy, e-mail: [email protected] .... [9, 10], it turned out that examples of fractal structures (even if approximate due to .... in the bulk, for topplings on the boundary sites (i ∈ ∂Λ) some amount of sand falls.

Stabilizing weighted complex networks
Nov 14, 2007 - only the network topology, but also the node self-dynamics and the control gains. ..... β = −0.76 (diamonds); β = 0 (stars); β = 0.17 (dots). where.

Synchronization in complex networks
Sep 24, 2008 - now take advantage of the recent theory of complex networks. In this review, we report the ..... 141. 5.2.4. Wireless communication networks.

Hong Kong as a complex adaptive system
complex adaptive system in its transformation from dusty entrepot port to the .... not been met, it is the potent combination of entrepreneurial talent and capital that ...... in complex systems is provided by David H. Freedman, “Is Management Stil

The Learning Environment as a Chaotic and Complex Adaptive ...
The Learning Environment as a Chaotic and Complex Adaptive System.pdf. The Learning Environment as a Chaotic and Complex Adaptive System.pdf. Open.

Dynamical Processes in Complex Networks
UNIVERSITAT POLIT`ECNICA DE CATALUNYA. Departament de F´ısica i Enginyeria Nuclear. PhD Thesis. Michele Catanzaro. Dynamical Processes in Complex. Networks. Advisor: Dr. Romualdo Pastor-Satorras. 2008 ...

Synchronization processes in complex networks
Nov 7, 2006 - of biological and social organizations (see [6] and references therein). ... study of synchronization processes and complex networks .... Page 5 ...

Synchronization processes in complex networks
Nov 7, 2006 - is to determine certain properties of individual nodes (degree, centrality ..... [21] A. Arenas, A. Diaz-Guilera, C.J. Perez-Vicente, Phys. Rev. Lett.

Efficient routing on complex networks
Apr 7, 2006 - 1Department of Electronic Science and Technology, University of Science and ... largest degree are very susceptible to traffic congestion, an effective way to ... fixed routing table, which is followed by all the information packets ...

Dynamical Processes in Complex Networks
1.4.5 Data sets and their limitations . . . . . . . . . . . . . . . . . . . 40. 1.5 Conclusions: A ...... Despite the massive vaccination campaigns that follow-up briefly after the ...

Renormalization flows in complex networks - IFISC
Feb 6, 2009 - can be performed on computer-generated networks in order to classify them in universality classes. We also ... classes, characterized by a set of different scaling exponents. The paper is .... Color online Study of renormalization flows

Renormalization flows in complex networks - IFISC
Feb 6, 2009 - ten be described by power laws hence the name “scale-free networks” 8 . ..... 100. ER. BA perturbed WS perturbed FM a. 100. 101. 102. 103. 104. 105 ..... pages of the domain of the University of Notre Dame Indi- ana, USA 26 ...

Complex networks: Structure and dynamics
Jan 10, 2006 - 255. 6.2. The Internet and the World Wide Web . ... Structure of the Internet . ..... Watts' pioneering book on the subject deals with the structure and the dynamics .... emerging, e.g., in mobile and wireless connected units.

Epidemic dynamics on complex networks
small-world and scale-free networks, and network immunization. ... consisted of neurons connecting through neural fiber [5], the Internet is a network of many.

Dynamical Processes in Complex Networks
3.4.1 The degree distribution cutoff . ..... On the other hand, computer science has focused on ... Further, all species do not spend the entire year in the area.