Faults in Linux: Ten years later

Nicolas Palix, Gaël Thomas, Suman Saha, Christophe Calvès, Julia Lawall, Gilles Muller

Research output: Chapter in Book/Report/Conference proceedingConference contribution

100 Citations (Scopus)

Abstract

In 2001, Chou et al. published a study of faults found by applying a static analyzer to Linux versions 1.0 through 2.4.1. A major result of their work was that the drivers directory contained up to 7 times more of certain kinds of faults than other directories. This result inspired a number of development and research efforts on improving the reliability of driver code. Today Linux is used in a much wider range of environments, provides a much wider range of services, and has adopted a new development and release model. What has been the impact of these changes on code quality? Are drivers still a major problem? To answer these questions, we have transported the experiments of Chou et al. to Linux versions 2.6.0 to 2.6.33, released between late 2003 and early 2010. We find that Linux has more than doubled in size during this period, but that the number of faults per line of code has been decreasing. And, even though drivers still accounts for a large part of the kernel code and contains the most faults, its fault rate is now below that of other directories, such as arch (HAL) and fs (file systems). These results can guide further development and research efforts. To enable others to continually update these results as Linux evolves, we define our experimental protocol and make our checkers and results available in a public archive.

Original languageEnglish (US)
Title of host publicationASPLOS XVI - 16th International Conference on Architectural Support for Programming Languages and Operating Systems
Pages305-318
Number of pages14
DOIs
StatePublished - Mar 31 2011
Event16th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2011 - Newport Beach, CA, United States
Duration: Mar 5 2011Mar 11 2011

Publication series

NameInternational Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS

Conference

Conference16th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2011
CountryUnited States
CityNewport Beach, CA
Period3/5/113/11/11

Fingerprint

Arches
Linux
Experiments

All Science Journal Classification (ASJC) codes

  • Software
  • Information Systems
  • Hardware and Architecture

Cite this

Palix, N., Thomas, G., Saha, S., Calvès, C., Lawall, J., & Muller, G. (2011). Faults in Linux: Ten years later. In ASPLOS XVI - 16th International Conference on Architectural Support for Programming Languages and Operating Systems (pp. 305-318). (International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS). https://doi.org/10.1145/1950365.1950401
Palix, Nicolas ; Thomas, Gaël ; Saha, Suman ; Calvès, Christophe ; Lawall, Julia ; Muller, Gilles. / Faults in Linux : Ten years later. ASPLOS XVI - 16th International Conference on Architectural Support for Programming Languages and Operating Systems. 2011. pp. 305-318 (International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS).
@inproceedings{291e9665203f40ef98eb230eafeccf8e,
title = "Faults in Linux: Ten years later",
abstract = "In 2001, Chou et al. published a study of faults found by applying a static analyzer to Linux versions 1.0 through 2.4.1. A major result of their work was that the drivers directory contained up to 7 times more of certain kinds of faults than other directories. This result inspired a number of development and research efforts on improving the reliability of driver code. Today Linux is used in a much wider range of environments, provides a much wider range of services, and has adopted a new development and release model. What has been the impact of these changes on code quality? Are drivers still a major problem? To answer these questions, we have transported the experiments of Chou et al. to Linux versions 2.6.0 to 2.6.33, released between late 2003 and early 2010. We find that Linux has more than doubled in size during this period, but that the number of faults per line of code has been decreasing. And, even though drivers still accounts for a large part of the kernel code and contains the most faults, its fault rate is now below that of other directories, such as arch (HAL) and fs (file systems). These results can guide further development and research efforts. To enable others to continually update these results as Linux evolves, we define our experimental protocol and make our checkers and results available in a public archive.",
author = "Nicolas Palix and Ga{\"e}l Thomas and Suman Saha and Christophe Calv{\`e}s and Julia Lawall and Gilles Muller",
year = "2011",
month = "3",
day = "31",
doi = "10.1145/1950365.1950401",
language = "English (US)",
isbn = "9781450302661",
series = "International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS",
pages = "305--318",
booktitle = "ASPLOS XVI - 16th International Conference on Architectural Support for Programming Languages and Operating Systems",

}

Palix, N, Thomas, G, Saha, S, Calvès, C, Lawall, J & Muller, G 2011, Faults in Linux: Ten years later. in ASPLOS XVI - 16th International Conference on Architectural Support for Programming Languages and Operating Systems. International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS, pp. 305-318, 16th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2011, Newport Beach, CA, United States, 3/5/11. https://doi.org/10.1145/1950365.1950401

Faults in Linux : Ten years later. / Palix, Nicolas; Thomas, Gaël; Saha, Suman; Calvès, Christophe; Lawall, Julia; Muller, Gilles.

ASPLOS XVI - 16th International Conference on Architectural Support for Programming Languages and Operating Systems. 2011. p. 305-318 (International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

T1 - Faults in Linux

T2 - Ten years later

AU - Palix, Nicolas

AU - Thomas, Gaël

AU - Saha, Suman

AU - Calvès, Christophe

AU - Lawall, Julia

AU - Muller, Gilles

PY - 2011/3/31

Y1 - 2011/3/31

N2 - In 2001, Chou et al. published a study of faults found by applying a static analyzer to Linux versions 1.0 through 2.4.1. A major result of their work was that the drivers directory contained up to 7 times more of certain kinds of faults than other directories. This result inspired a number of development and research efforts on improving the reliability of driver code. Today Linux is used in a much wider range of environments, provides a much wider range of services, and has adopted a new development and release model. What has been the impact of these changes on code quality? Are drivers still a major problem? To answer these questions, we have transported the experiments of Chou et al. to Linux versions 2.6.0 to 2.6.33, released between late 2003 and early 2010. We find that Linux has more than doubled in size during this period, but that the number of faults per line of code has been decreasing. And, even though drivers still accounts for a large part of the kernel code and contains the most faults, its fault rate is now below that of other directories, such as arch (HAL) and fs (file systems). These results can guide further development and research efforts. To enable others to continually update these results as Linux evolves, we define our experimental protocol and make our checkers and results available in a public archive.

AB - In 2001, Chou et al. published a study of faults found by applying a static analyzer to Linux versions 1.0 through 2.4.1. A major result of their work was that the drivers directory contained up to 7 times more of certain kinds of faults than other directories. This result inspired a number of development and research efforts on improving the reliability of driver code. Today Linux is used in a much wider range of environments, provides a much wider range of services, and has adopted a new development and release model. What has been the impact of these changes on code quality? Are drivers still a major problem? To answer these questions, we have transported the experiments of Chou et al. to Linux versions 2.6.0 to 2.6.33, released between late 2003 and early 2010. We find that Linux has more than doubled in size during this period, but that the number of faults per line of code has been decreasing. And, even though drivers still accounts for a large part of the kernel code and contains the most faults, its fault rate is now below that of other directories, such as arch (HAL) and fs (file systems). These results can guide further development and research efforts. To enable others to continually update these results as Linux evolves, we define our experimental protocol and make our checkers and results available in a public archive.

UR - http://www.scopus.com/inward/record.url?scp=79953094728&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=79953094728&partnerID=8YFLogxK

U2 - 10.1145/1950365.1950401

DO - 10.1145/1950365.1950401

M3 - Conference contribution

AN - SCOPUS:79953094728

SN - 9781450302661

T3 - International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS

SP - 305

EP - 318

BT - ASPLOS XVI - 16th International Conference on Architectural Support for Programming Languages and Operating Systems

ER -

Palix N, Thomas G, Saha S, Calvès C, Lawall J, Muller G. Faults in Linux: Ten years later. In ASPLOS XVI - 16th International Conference on Architectural Support for Programming Languages and Operating Systems. 2011. p. 305-318. (International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS). https://doi.org/10.1145/1950365.1950401