An empirical study of operating systems errors
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
Quantitative Analysis of Faults and Failures in a Complex Software System
IEEE Transactions on Software Engineering
Comparing Operating Systems Using Robustness Benchmarks
SRDS '97 Proceedings of the 16th Symposium on Reliable Distributed Systems
Improving the reliability of commodity operating systems
ACM Transactions on Computer Systems (TOCS)
Detection and prevention of stack buffer overflow attacks
Communications of the ACM
MINIX 3: a highly reliable, self-repairing operating system
ACM SIGOPS Operating Systems Review
Construction of a Highly Dependable Operating System
EDCC '06 Proceedings of the Sixth European Dependable Computing Conference
Queuing Models for Field Defect Resolution Process
ISSRE '06 Proceedings of the 17th International Symposium on Software Reliability Engineering
Linux Device Drivers, 3rd Edition
Linux Device Drivers, 3rd Edition
Linux Kernel Development (2nd Edition) (Novell Press)
Linux Kernel Development (2nd Edition) (Novell Press)
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Linux Bugs: Life Cycle and Resolution Analysis
QSIC '08 Proceedings of the 2008 The Eighth International Conference on Quality Software
Software Engineering
Hi-index | 0.00 |
Efforts to improve application reliability can be irrelevant 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 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 bugs may be resolved and the impact of bug severities on their resolution times. To acquire this insight, we conducted an extensive analysis of the publicly available bug data on the Linux kernel over a period of seven years. We also justify and explain the statistical bug occurrence trends observed from the data, using the architecture of the Linux kernel as an anchor. The statistical analysis of the Linux bug data suggests 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. Finally, our study of the architectural properties of the bugs suggests that the dependence among the modules rather than the unreliabilities of the individual modules is the primary cause of the bugs and their impact on system reliability.