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.
ASJC Scopus subject areas
- コンピュータ サイエンス（全般）