Linux Bugs: Life Cycle and Resolution Analysis

Efforts to improve application reliability can fade if the reliability of the underlying operating system on which the application resides is not seriously considered. An important first step in improving the reliability of an operating system is to first gain insights into why and how the bugs originate, contributions of the different modules to the bugs, their distribution across severities, the different ways in which the bug may be resolved and the impact of bug severity on the resolution time. To gain this insight we conducted an extensive analysis of the publicly available bug data on the Linux kernel over a period of seven years. Our observations suggest that the Linux kernel may draw significant benefits from the continual reliability improvement efforts of its developers. These efforts, however, are disproportionately targeted towards popular configurations and hardware platforms, due to which the reliability of these configurations may be better than those that are not commonly used. Thus, a key finding of our study is that it may be prudent to restrict to using common configurations and platforms when using open source systems such as Linux in applications with stringent reliability expectations.

[1]  Junfeng Yang,et al.  An empirical study of operating systems errors , 2001, SOSP.

[2]  Swapna S. Gokhale,et al.  Queuing Models for Field Defect Resolution Process , 2006, 2006 17th International Symposium on Software Reliability Engineering.

[3]  Daniel P. Siewiorek,et al.  Comparing operating systems using robustness benchmarks , 1997, Proceedings of SRDS'97: 16th IEEE Symposium on Reliable Distributed Systems.

[4]  Brian N. Bershad,et al.  Recovering device drivers , 2004, TOCS.

[5]  Carla E. Brodley,et al.  Detection and prevention of stack buffer overflow attacks , 2005, CACM.

[6]  Herbert Bos,et al.  MINIX 3: a highly reliable, self-repairing operating system , 2006, OPSR.

[7]  Norman E. Fenton,et al.  Quantitative Analysis of Faults and Failures in a Complex Software System , 2000, IEEE Trans. Software Eng..

[8]  Herbert Bos,et al.  Can we make operating systems reliable and secure? , 2006, Computer.

[9]  Ravishankar K. Iyer,et al.  Characterization of linux kernel behavior under errors , 2003, 2003 International Conference on Dependable Systems and Networks, 2003. Proceedings..

[10]  Herbert Bos,et al.  Construction of a Highly Dependable Operating System , 2006, 2006 Sixth European Dependable Computing Conference.

[11]  Robert Love,et al.  Linux Kernel Development (2nd Edition) (Novell Press) , 2005 .