Faults in Linux 2.6

Nicolas Palix 1, * Gaël Thomas 2 Suman Saha 2 Christophe Calvès 2 Gilles Muller 2 Julia L. Lawall 2
* Corresponding author
1 Erods
LIG - Laboratoire d'Informatique de Grenoble, UJF - Université Joseph Fourier
2 Regal - Large-Scale Distributed Systems and Applications
LIP6 - Laboratoire d'Informatique de Paris 6, INRIA Paris-Rocquencourt
Abstract : In August 2011, Linux entered its third decade. Ten years before, 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 numerous efforts on improving the reliability of driver code. Today, Linux is used in a wider range of environments, provides a wider range of services, and has adopted a new development and release model. What has been the impact of these changes on code quality? To answer this question, we have transported Chou et al.'s experiments to all versions of Linux 2.6; released between 2003 and 2011. We find that Linux has more than doubled in size during this period, but the number of faults per line of code has been decreasing. Moreover, the fault rate of drivers is now below that of other directories, such as arch. These results can guide further development and research efforts for the decade to come. To allow updating these results as Linux evolves, we define our experimental protocol and make our checkers available.
Document type :
Journal articles
ACM Transactions on Computer Systems, Association for Computing Machinery, 2014, 32 (2), pp.1--40. <10.1145/2619090>

Contributor : Nicolas Palix <>
Submitted on : Wednesday, July 16, 2014 - 10:03:44 AM
Last modification on : Wednesday, December 16, 2015 - 3:41:05 PM
Document(s) archivé(s) le : Thursday, November 20, 2014 - 6:12:52 PM





Nicolas Palix, Gaël Thomas, Suman Saha, Christophe Calvès, Gilles Muller, et al.. Faults in Linux 2.6. ACM Transactions on Computer Systems, Association for Computing Machinery, 2014, 32 (2), pp.1--40. <10.1145/2619090>. <hal-01022704>




Record views


Document downloads