Skip to main navigation Skip to search Skip to main content

On the evolution of Linux kernels: A complex network perspective

  • Lei Wang*
  • , Pengzhi Yu
  • , Zheng Wang
  • , Chen Yang
  • , Qiang Ye
  • *Corresponding author for this work
  • Beihang University
  • University of Prince Edward Island

Research output: Contribution to journalArticlepeer-review

Abstract

This paper presents a novel method to study the evolution of Linux kernel components using complex networks to understand how Linux kernel components evolve over time. After analyzing the node degree distribution, clustering coefficient, and average path length of the call graphs corresponding to the kernel components of 130 development versions and 94 stable versions (V1.0 to V2.4.35), we found that the call graphs of the file system, driver, kernel, memory management, and net components are scale-free, small-world complex networks. In addition, all of the five components exhibit very strong preferential attachment tendency. With such in-depth understanding of the features of the Linux kernel components, we propose a generic method that could be used to find major structural changes that occur during the evolution of software systems.

Original languageEnglish
Pages (from-to)439-458
Number of pages20
JournalJournal of Software Maintenance and Evolution
Volume25
Issue number5
DOIs
StatePublished - May 2013

Keywords

  • Complex networks
  • Linux kernel
  • Software evolution

Fingerprint

Dive into the research topics of 'On the evolution of Linux kernels: A complex network perspective'. Together they form a unique fingerprint.

Cite this