Measuring the use of assertions in operating system kernels
摘要
Assertions are a classical and typical software development technique. These are extensively used also in operating systems and their kernels, including the Linux kernel. The paper fills a gap in existing knowledge by empirically examining the longitudinal evolution of assertion use in the Linux kernel. According to the results, the use of assertions that cause a kernel panic has slightly but not substantially decreased from the kernel’s third to the sixth release series. At the same time, the use of softer assertion variants has increased; these do not cause a panic by default but instead produce warnings. In addition, a quantitative comparison is carried out regarding hard, panic-causing assertions in recent Linux, FreeBSD, NetBSD, and OpenBSD kernels. With these results, the paper contributes to the existing but limited empirical knowledge about fault handling in operating system kernels.