An empirical study of operating systems errors
Top Cited Papers
- 21 October 2001
- proceedings article
- Published by Association for Computing Machinery (ACM)
- Vol. 35 (5), 73-88
- https://doi.org/10.1145/502034.502042
Abstract
We present a study of operating system errors found by automatic, static, compiler analysis applied to the Linux and OpenBSD kernels. Our approach differs from previous studies that consider errors found by manual inspection of logs, testing, and surveys because static analysis is applied uniformly to the entire kernel source, though our approach necessarily considers a less comprehensive variety of errors than previous studies. In addition, automation allows us to track errors over multiple versions of the kernel source to estimate how long errors remain in the system before they are fixed.We found that device drivers have error rates up to three to seven times higher than the rest of the kernel. We found that the largest quartile of functions have error rates two to six times higher than the smallest quartile. We found that the newest quartile of files have error rates up to twice that of the oldest quartile, which provides evidence that code "hardens" over time. Finally, we found that bugs remain in the Linux kernel an average of 1.8 years before being fixed.Keywords
This publication has 11 references indexed in Scilit:
- A comparison of software defects in database management systems and operating systemsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Faults, symptoms, and software fault tolerance in the Tandem GUARDIAN90 operating systemPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Quantitative analysis of faults and failures in a complex software systemIEEE Transactions on Software Engineering, 2000
- The measured performance of personal computer operating systemsACM Transactions on Computer Systems, 1996
- The impact of architectural trends on operating system performancePublished by Association for Computing Machinery (ACM) ,1995
- FERRARI: a flexible software-based fault and error injection systemIEEE Transactions on Computers, 1995
- On the self-similar nature of Ethernet trafficPublished by Association for Computing Machinery (ACM) ,1993
- An empirical study of the reliability of UNIX utilitiesCommunications of the ACM, 1990
- Fault injection for dependability validation: a methodology and some applicationsIEEE Transactions on Software Engineering, 1990
- Software errors and complexity: an empirical investigation0Communications of the ACM, 1984