Automated and reliable resource release in device drivers based on dynamic analysis

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

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

2 Citations (Scopus)

Abstract

In a modern operating system, device drivers acquire system resources to work. The acquired resources should be explicitly released by the drivers, because the operating system never reclaims them. Moreover, improper resource release can cause system crashes or hangs. Thus resource release is very important to driver reliability. However, according to our study on Linux driver mailing lists, many applied patches involve the modifications of resource release. Thus current resource management in drivers is not reliable enough. In this paper, we propose a novel approach named AutoRR, which can automatically and reliably release resources based on dynamic analysis. To identify resource handling operations, we use the dynamic specification-mining technique to mine resource acquiring and releasing functions. During execution, we maintain a resource-state list by intercepting the mined functions. If the driver fails to release acquired resources, AutoRR will report bugs and call corresponding releasing functions to safely release the resources. Dynamic analyses of resource dependency, allocation hierarchy, error handling form and releasing time are performed to avoid introducing new bugs when releasing resources. The evaluation on 12 Linux drivers shows that 40 detected bugs are all successfully and safely tolerated, and the overhead is only 7.84%.

Original languageEnglish
Pages (from-to)463-479
Number of pages17
JournalJournal of Systems and Software
Volume137
DOIs
Publication statusPublished - Mar 2018
Externally publishedYes

Keywords

  • Device drivers
  • Dynamic analysis
  • Reliability
  • Resource management

Fingerprint

Dive into the research topics of 'Automated and reliable resource release in device drivers based on dynamic analysis'. Together they form a unique fingerprint.

Cite this