跳到主要导航 跳到搜索 跳到主要内容

BP-Miner: Mining paired functions from the binary code of drivers for error handling

  • Tsinghua University

科研成果: 书/报告/会议事项章节会议稿件同行评审

摘要

Kernel extension functions are provided as interfaces for drivers to manage devices and resources, and there are many implicit rules about their usages. One of the most important rules is that many functions should be called in pairs. That is to say, when an error occurs in a function, the driver should call related functions to handle it and release the acquired resources before returning, and we name these functions between normal execution paths and error handling paths as paired functions. However, many developers are unaware of them, which causes lots of bugs. Therefore, it is highly significant to automatically extract paired functions and detect violations for drivers. This paper proposes an efficient tool named BP-Miner, which can extract paired functions from binary code of driver modules and detect violations for error handling in drivers with extracted paired functions. BP-Miner constructs control flow graph (CFG) based on basic blocks of binary code, and locates potential execution paths to extract paired functions. We have evaluated BP-Miner with Linux drivers 2.6.38 and 3.13.0-rc7. 76 bugs are reported by BP-Miner in 2.6.38 which have been fixed in the current latest version 3.13.0-rc7. BP-Miner spends about 90 minutes handling 3653 module files for 3.13.0-rc7, and 859 violations have been detected with 1167 extracted paired functions. As it works on the binary code, it can be utilized to check close-source drivers.

源语言英语
主期刊名Proceedings - 21st Asia-Pacific Software Engineering Conference, APSEC 2014
编辑Yann-Gael Gueheneuc, Gihwon Kwon, Sungdeok Cha
出版商IEEE Computer Society
415-422
页数8
ISBN(电子版)9781479974252
DOI
出版状态已出版 - 2014
已对外发布
活动21st Asia-Pacific Software Engineering Conference, APSEC 2014 - Jeju Island, 韩国
期限: 1 12月 20144 12月 2014

出版系列

姓名Proceedings - Asia-Pacific Software Engineering Conference, APSEC
1
ISSN(印刷版)1530-1362

会议

会议21st Asia-Pacific Software Engineering Conference, APSEC 2014
国家/地区韩国
Jeju Island
时期1/12/144/12/14

指纹

探究 'BP-Miner: Mining paired functions from the binary code of drivers for error handling' 的科研主题。它们共同构成独一无二的指纹。

引用此