Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/502034.502042acmconferencesArticle/Chapter ViewAbstractPublication PagessospConference Proceedingsconference-collections
Article

An empirical study of operating systems errors

Published: 21 October 2001 Publication History

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.

References

[1]
A. Aiken, M. Fahndrich, and Z. Su. Detecting Races in Relay Ladder Logic Programs. In Proceedings of the I s t International Conference on Tools and Algorithms for the Construction and Analysis of Systems, April 1998.
[2]
J. Arlat, M. Aguera, L. Amat, Y. Crouzet, J.-C. Fabre, J.- C. Laprie, E. Martins, and D. Powell. Fault Injection for Dependability Validation - A Methodology and Some Applications. IEEE Transactions on Software Engineering, 16(2), February 1990.
[3]
V. Basili and B. Perricone. Software Errors and Complexity: an Empirical Investigation. Communications of the Association for Computing Machinery, 27(1):42-52, 1984.
[4]
M. Bishop and M. Dilger. Checking for Race Conditions in File Accesses. Computing systems, pages 131-152, Spring 1996.
[5]
B. Chen, Y. Endo, K. Chan, D. Mazires, A. Dias, M. Smith, and M. Seltzer. The Measured Performance of Personal Computer Operating Systems. ACM Transactions on Computer Systems(TOCS), February 1996.
[6]
R. Chillarege and N. Bowen. Understanding Large System Failures - A Fault Injection Experiment. In The lgth International Symposium on Fault Tolerant Computing, June 1989.
[7]
D.R. Cox and D. Oakes. Analysis of Survival Data. Chapman and Hall, London, UK, 1984.
[8]
D.R. Engler, B. Chelf, A. Chou, and S. Hallem. Checking System Rules Using System-Specific, Programmer-Written Compiler Extensions. In Proceedings of Operating Systems Design and Implementation (OSDI), September 2000.
[9]
N. E. Fenton and N. Ohlsson. Quantitative Analysis of Faults and Failures in a Complex Software System. IEEE Transactions on Software Engineering, 26(8):797-814, August 2000.
[10]
J. Gray. A Census of Tandem System Availability Between 1985 and 1990. IEEE Transactions on Software Engineering, 39(4), October 1990.
[11]
Intrinsa. A Technical Introduction to PREfix/Enterprise. Technical report, Intrinsa Corporation, 1998.
[12]
N.L. Johnson and S. Kotz. Discrete Distributions. John Wiley & Sons, New York, NY, 1969.
[13]
Philip J. Koopman Jr., John Sung, Christopher P. Dingman, Daniel P. Siewiorek, and Ted Marz. Comparing Operating Systems Using Robustness Benchmarks. In Symposium on Reliable Distributed Systems, pages 72-79, 1997.
[14]
A. Kanawati, N. Kanawati, and J. Abraham. FERRARI: A Flexible Software-Based Fault and Error Injection System. IEEE Transactions on Software Engineering, 44(2), February 1995.
[15]
I. Lee, R. Iyer, and F. Symptoms. Faults, Symptoms, and Software Fault Tolerance in the Tandem GUARDIAN Operating System. In International Symposium on Fault- Tolerant Computing (FTCS), 1993.
[16]
W.E. Leland, M.S. Taqq, W. Willinger, and D.V. Wilson. On the Self-Similar Nature of Ethernet Traffic. In ACM SIGCOMM, pages 183-193, San Francisco, California, 1993.
[17]
B.P. Miller, L. Fredriksen, and B. So. An Empirical Study of the Reliability of UNIX Utilities. Communications of the Association for Computing Machinery, 33(12):32-44, 1990.
[18]
B.P. Miller, D. Koski, C.P. Lee, V. Maganty, R. Murthy, A. Natarajan, and J. Steidl. Fuzz Revisited: A Reexamination of the Reliability of UNIX Utilities and Services. Technical Report CS-TR-1995-1268, University of Wisconsin, 1995.
[19]
R. Motwani and P. Raghavan. Randomized Algorithms. Cambridge University Press, Cambridge, UK, 1995.
[20]
S.E. Perl and R.L. Sites. Studies of Windows NT Performance Using Dynamic Execution Traces. In Operating Systems Design and Implementation, pages 169-183, 1996.
[21]
M. Rosenblum, E. Bugnion, S.A. Herrod, E. Witchel, and A. Gupta. The Impact of Architectural Trends on Operating System Performance. In Symposium on Operating Systems Principles, pages 285-298, 1995.
[22]
S.D. Silvey. Statistical Inference. Chapman and Hall, London, UK, 1975.
[23]
M. Sullivan and R. Chillarege. Software Defects and Their Impact on System 118 Availability - A Study of Field Failures in Operating Systems. In Plst International Symposium on Fault Tolerant Computing, June 1991.
[24]
M. Sullivan and R. Chillarege. A Comparison of Software Defects in Database Management Systems and Operating Systems. In 22nd International Symposium on Fault- Tolerant Computing, July 1992.
[25]
D. Wagner, J. Foster, E. Brewer, and A. Aiken. A First Step Towards Automated Detection of Buffer Overrun Vulnerabilities. In The 2000 Network and Distributed Systems Security Conference. San Diego, CA, February 2000.
[26]
Z. Xu, R. Kalbarczyk, and Iyer. Networked Windows NT System Filed Failure Data Analysis. In Proc. of Pacific Rim International Symposium on Dependable Computing, 1999.

Cited By

View all
  • (2024)Balancing analysis time and bug detectionProceedings of the 2024 USENIX Conference on Usenix Annual Technical Conference10.5555/3691992.3692023(493-508)Online publication date: 10-Jul-2024
  • (2024)Cloud-Native Database Systems and Unikernels: Reimagining OS Abstractions for Modern HardwareProceedings of the VLDB Endowment10.14778/3659437.365946217:8(2115-2122)Online publication date: 1-Apr-2024
  • (2024)Veld: Verified Linux DriversProceedings of the 2nd Workshop on Kernel Isolation, Safety and Verification10.1145/3698576.3698766(23-30)Online publication date: 4-Nov-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SOSP '01: Proceedings of the eighteenth ACM symposium on Operating systems principles
October 2001
254 pages
ISBN:1581133898
DOI:10.1145/502034
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 October 2001

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

SOSP01
Sponsor:
SOSP01: 18th Symposium on Operating System Principles
October 21 - 24, 2001
Alberta, Banff, Canada

Acceptance Rates

SOSP '01 Paper Acceptance Rate 17 of 85 submissions, 20%;
Overall Acceptance Rate 174 of 961 submissions, 18%

Upcoming Conference

SOSP '25
ACM SIGOPS 31st Symposium on Operating Systems Principles
October 13 - 16, 2025
Seoul , Republic of Korea

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)81
  • Downloads (Last 6 weeks)11
Reflects downloads up to 24 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Balancing analysis time and bug detectionProceedings of the 2024 USENIX Conference on Usenix Annual Technical Conference10.5555/3691992.3692023(493-508)Online publication date: 10-Jul-2024
  • (2024)Cloud-Native Database Systems and Unikernels: Reimagining OS Abstractions for Modern HardwareProceedings of the VLDB Endowment10.14778/3659437.365946217:8(2115-2122)Online publication date: 1-Apr-2024
  • (2024)Veld: Verified Linux DriversProceedings of the 2nd Workshop on Kernel Isolation, Safety and Verification10.1145/3698576.3698766(23-30)Online publication date: 4-Nov-2024
  • (2024)SafeBPF: Hardware-assisted Defense-in-depth for eBPF Kernel ExtensionsProceedings of the 2024 on Cloud Computing Security Workshop10.1145/3689938.3694781(80-94)Online publication date: 19-Nov-2024
  • (2024)Mining Fix Patterns for System Interaction BugsProceedings of the 15th Asia-Pacific Symposium on Internetware10.1145/3671016.3671398(367-376)Online publication date: 24-Jul-2024
  • (2024)Bugs in Pods: Understanding Bugs in Container Runtime SystemsProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3680366(1364-1376)Online publication date: 11-Sep-2024
  • (2024)Understanding and Detecting Real-World Safety Issues in RustIEEE Transactions on Software Engineering10.1109/TSE.2024.338039350:6(1306-1324)Online publication date: Jun-2024
  • (2024)BarriCCAde: Isolating Closed-Source Drivers with ARM CCA2024 IEEE European Symposium on Security and Privacy Workshops (EuroS&PW)10.1109/EuroSPW61312.2024.00033(245-251)Online publication date: 8-Jul-2024
  • (2024)Measurement‐Based Analysis of Large‐Scale ClustersDependable Computing10.1002/9781119743453.ch12(585-665)Online publication date: 26-Apr-2024
  • (2024)Internals of Fault Injection TechniquesDependable Computing10.1002/9781119743453.ch11(511-584)Online publication date: 26-Apr-2024
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media