Loading [a11y]/accessibility-menu.js
ErrHunter: Detecting Error-Handling Bugs in the Linux Kernel Through Systematic Static Analysis | IEEE Journals & Magazine | IEEE Xplore

ErrHunter: Detecting Error-Handling Bugs in the Linux Kernel Through Systematic Static Analysis


Abstract:

Error handling is essential for operating systems, thus, there are many bugs in error-handling code, which could result in serious consequences. In this paper, we revisit...Show More

Abstract:

Error handling is essential for operating systems, thus, there are many bugs in error-handling code, which could result in serious consequences. In this paper, we revisit the problem of error miss-handling bugs and analyze the root cause of the most common ones in the Linux kernel. Based on the analysis, we propose a systematic static taint-analysis-based approach, ErrHunter, to detect multiple kinds of error miss-handling bugs in the Linux kernel. An automated critical variable identification approach is proposed to identify critical variables in the error-handling paths. A static cross-control-flow taint analysis approach is proposed to construct critical-variable control flow graphs (CCFGs), which describe the processing of critical variables in separate control flows. Based on the CCFGs, ErrHunter can target the root cause of the most common error miss-handling bugs and detect the bugs in a systematic way. ErrHunter is designed for kernel bug detection, so it can handle many specific features of the Linux kernel, such as memory management mechanisms, etc.
Published in: IEEE Transactions on Software Engineering ( Volume: 49, Issue: 2, 01 February 2023)
Page(s): 684 - 698
Date of Publication: 16 March 2022

ISSN Information:

Funding Agency:


Contact IEEE to Subscribe

References

References is not available for this document.