Faults in linux: ten years later

Faults in linux: ten years later
复制标题

DOI:
10.1145/1950365.1950401
复制
发表时间:
2011-03
期刊:
--
影响因子:
--
通讯作者:
Nicolas Palix;Gaël Thomas;S. Saha;C. Calvès;J. Lawall;Gilles Muller
Nicolas Palix;Gaël Thomas;S. Saha;C. Calvès;J. Lawall;Gilles Muller
中科院分区:
其他
文献类型:
--
作者:
Nicolas Palix;Gaël Thomas;S. Saha;C. Calvès;J. Lawall;Gilles Muller

文献摘要

被引文献

相似文献

Chou等人在2001年。通过将静态分析仪应用于Linux版本1.0至2.4.1,发布了一项对故障的研究。他们工作的主要结果是,驾驶员目录包含的某些故障的7倍是其他目录。该结果激发了许多开发和研究工作,以提高驾驶员代码的可靠性。如今,Linux已在更广泛的环境中使用,提供了更广泛的服务,并采用了新的开发和发布模型。这些更改对代码质量的影响是什么?驾驶员仍然是一个主要问题吗?为了回答这些问题,我们运输了Chou等人的实验。到Linux版本2.6.0至2.6.33,在2003年末至2010年初发布。我们发现Linux在此期间的尺寸增加了一倍以上,但是每行代码的故障数量正在减少。而且,即使驾驶员仍然占内核代码的很大一部分,并且包含最大的故障,但其故障率现在低于其他目录(例如ARCH(HAL)和FS(文件系统))的故障率。这些结果可以指导进一步的发展和研究工作。为了使其他人能够随着Linux的发展而不断更新这些结果,我们定义了我们的实验协议,并在公共档案中提供了我们的跳棋和结果。
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.