A case for static analysis of linux to find faults in interrupt request handlers

Takeshi Yoshimura, Kenji Kono

Research output: Contribution to journalArticle

Abstract

Bugs in operating system kernels threaten system reliability and availability. Static analysis of device drivers is one of the most useful methods to find and fix bugs in operating systems. Unfortunately, existing tools focus on bug patterns that come from developers’ ad hoc beliefs and experiences, although the developers have a chance to utilize many past bug reports. The objective of this paper is to uncover particular types of real bugs in a widely used operating system. Specifically, this paper presents a case for finding six real bugs in Linux when obtaining 160 bug reports about interrupt request line (IRQ) handlers in past Linux. The 160 bug reports enable us to recognize nine patterns of mishandling IRQ handlers, and our analyzer, which is based on the recognized patterns, successfully detects the uncovered bugs.

Original languageEnglish
Pages (from-to)573-582
Number of pages10
JournalJournal of Information Processing
Volume24
Issue number3
DOIs
Publication statusPublished - 2016

    Fingerprint

Keywords

  • Dependability
  • Operating system
  • Static analysis
  • Symbolic execution

ASJC Scopus subject areas

  • Computer Science(all)

Cite this