arrow
Return

The Linux kernel as a case study in software evolution

delete2010-03-01
delete94
delete
OA
AI
A
Ayelet Israeli
D
Dror G. Feitelson *
DOI:10.1016/j.jss.2009.09.042delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
We use 810 versions of the Linux kernel, released over a period of 14 years, to characterize the system's evolution, using Lehman's laws of software evolution as a basis. We investigate different possible interpretations of these laws, as reflected by different metrics that can be used to quantify them. For example, system growth has traditionally been quantified using lines of code or number of functions, but functional growth of an operating system like Linux can also be quantified using the number of system calls. In addition we use the availability of the source code to track metrics, such as McCabe's cyclomatic complexity, that have not been tracked across so many versions previously. We find that the data supports several of Lehman's laws, mainly those concerned with growth and with the stability of the process. We also make some novel observations, e.g. that the average complexity of functions is decreasing with time, but this is mainly due to the addition of many small functions. (C) 2009 Elsevier Inc. All rights reserved.
Keywords:
Software evolution
Lehman's laws
Linux kernel
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

Journal of Systems and Software cover
Journal of Systems and Software
IF:
4.1
Papers:
5.4K
Citations:
8.4K

Organization

H
Hebrew University of Jerusalem
Scholars:
2.8W
Papers: 2.3W
Citations: 2.7W