Automated resource release in device drivers

Jia Ju Bai, Yu Ping Wang*, Hu Qiu Liu, Shi Min Hu

*此作品的通讯作者

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

1 引用 (Scopus)

摘要

Device drivers require system resources to control hardware and provide fundamental services for applications. The acquired resources must be explicitly released by drivers. Otherwise, these resources will never be reclaimed by the operating system, and they are not available for other programs any more, causing hard-to-find system problems. We study on Linux driver mailing lists, and find many applied patches handle improper resource-release operations, especially in error handling paths. In order to improve current resource management and avoid resource-release omissions in device drivers, we propose a novel approach named AutoRR, which can automatically and safely release resources based on specification-mining techniques. During execution, we maintain a resource-state table by recording the runtime information of function calls. If the driver fails to release acquired resources during execution, AutoRR will report violations and call corresponding releasing functions with the recorded runtime information to release acquired resources. To fully and safely release acquired resources, a dynamic analysis of resource dependency and allocation hierarchy is also performed, which can avoid dead resources and double frees. AutoRR works in both normal execution and error handling paths for reliable resource management. We implement AutoRR with LLVM, and evaluate it on 8 Ethernet drivers in Linux 3.17.2. The evaluation shows that the overhead of AutoRR is very low, and it has successfully fixed 18 detected resource-release omission violations without side effects. Our work shows a feasible way of using specification-mining results to avoid related violations.

源语言英语
主期刊名2015 IEEE 26th International Symposium on Software Reliability Engineering, ISSRE 2015
出版商Institute of Electrical and Electronics Engineers Inc.
172-182
页数11
ISBN(电子版)9781509004065
DOI
出版状态已出版 - 13 1月 2016
已对外发布
活动26th IEEE International Symposium on Software Reliability Engineering, ISSRE 2015 - Gaithersbury, 美国
期限: 2 11月 20155 11月 2015

出版系列

姓名2015 IEEE 26th International Symposium on Software Reliability Engineering, ISSRE 2015

会议

会议26th IEEE International Symposium on Software Reliability Engineering, ISSRE 2015
国家/地区美国
Gaithersbury
时期2/11/155/11/15

指纹

探究 'Automated resource release in device drivers' 的科研主题。它们共同构成独一无二的指纹。

引用此