TY - GEN
T1 - Faults in Linux
T2 - 16th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2011
AU - Palix, Nicolas
AU - Thomas, Gaël
AU - Saha, Suman
AU - Calvès, Christophe
AU - Lawall, Julia
AU - Muller, Gilles
PY - 2011
Y1 - 2011
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
Y2 - 5 March 2011 through 11 March 2011
ER -