An Empirical Study of Operating Systems Errors

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.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 2000
Accession Number
ADA419594

Entities

People

  • Andy Chou
  • Benjamin Chelf
  • Dawson Engler
  • Junfeng Yang
  • Seth Hallem

Organizations

  • Stanford University

Tags

Communities of Interest

  • Biomedical
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Compilers
  • Computer Programs
  • Data Science
  • Data Sets
  • Databases
  • Device Drivers
  • Estimators
  • Goodness Of Fit Tests
  • Information Science
  • Measurement
  • Operating Systems
  • Probability
  • Software Development
  • Standards
  • Statistical Algorithms
  • Statistical Analysis
  • Statistical Tests

Fields of Study

  • Computer science

Readers

  • Computer Science.
  • Cybersecurity.
  • Regression Analysis.