首页> 外文会议>IEEE International Conference on Software Analysis, Evolution, and Reengineering >Detecting Data Races Caused by Inconsistent Lock Protection in Device Drivers
【24h】

Detecting Data Races Caused by Inconsistent Lock Protection in Device Drivers

机译:检测设备驱动程序中锁保护不一致导致的数据争用

获取原文

摘要

Data races are often hard to detect in device drivers, due to the non-determinism of concurrent execution. According to our study of Linux driver patches that fix data races, more than 38% of patches involve a pattern that we call inconsistent lock protection. Specifically, if a variable is accessed within two concurrently executed functions, the sets of locks held around each access are disjoint, at least one of the locksets is non-empty, and at least one of the involved accesses is a write, then a data race may occur.In this paper, we present a runtime analysis approach, named DILP, to detect data races caused by inconsistent lock protection in device drivers. By monitoring driver execution, DILP collects the information about runtime variable accesses and executed functions. Then after driver execution, DILP analyzes the collected information to detect and report data races caused by inconsistent lock protection. We evaluate DILP on 12 device drivers in Linux 4.16.9, and find 25 real data races.
机译:由于并发执行的不确定性,通常难以在设备驱动程序中检测到数据争用。根据我们对修复数据争用的Linux驱动程序补丁的研究,超过38%的补丁涉及一种称为不一致锁定保护的模式。具体而言,如果在两个并发执行的函数中访问变量,则每个访问周围持有的锁的集合是不相交的,至少一个锁集是非空的,并且至少一个涉及的访问是写操作,然后是数据在本文中,我们提出了一种运行时分析方法,称为DILP,用于检测由设备驱动程序中的锁保护不一致导致的数据争用。通过监视驱动程序执行,DILP收集有关运行时变量访问和已执行功能的信息。然后,在驱动程序执行后,DILP分析收集的信息以检测和报告由不一致的锁保护引起的数据竞争。我们在Linux 4.16.9的12种设备驱动程序上评估DILP,并发现25种真实的数据竞争。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号