{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,23]],"date-time":"2026-01-23T21:20:09Z","timestamp":1769203209855,"version":"3.49.0"},"reference-count":50,"publisher":"IEEE","license":[{"start":{"date-parts":[[2019,2,1]],"date-time":"2019-02-01T00:00:00Z","timestamp":1548979200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/ieeexplore.ieee.org\/Xplorehelp\/downloads\/license-information\/IEEE.html"},{"start":{"date-parts":[[2019,2,1]],"date-time":"2019-02-01T00:00:00Z","timestamp":1548979200000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-029"},{"start":{"date-parts":[[2019,2,1]],"date-time":"2019-02-01T00:00:00Z","timestamp":1548979200000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-037"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2019,2]]},"DOI":"10.1109\/saner.2019.8668017","type":"proceedings-article","created":{"date-parts":[[2019,3,19]],"date-time":"2019-03-19T01:30:10Z","timestamp":1552959010000},"page":"366-376","source":"Crossref","is-referenced-by-count":8,"title":["Detecting Data Races Caused by Inconsistent Lock Protection in Device Drivers"],"prefix":"10.1109","author":[{"given":"Qiu-Liang","family":"Chen","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jia-Ju","family":"Bai","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Zu-Ming","family":"Jiang","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Julia","family":"Lawall","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Shi-Min","family":"Hu","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"263","reference":[{"key":"ref39","doi-asserted-by":"publisher","DOI":"10.1145\/359545.359563"},{"key":"ref38","doi-asserted-by":"publisher","DOI":"10.1109\/ICST.2011.20"},{"key":"ref33","doi-asserted-by":"publisher","DOI":"10.1145\/349299.349328"},{"key":"ref32","doi-asserted-by":"publisher","DOI":"10.1145\/1181309.1181315"},{"key":"ref31","year":"0","journal-title":"The Netperf Benchmark"},{"key":"ref30","first-page":"587","article-title":"DSAC: effective static analysis of sleep-in-atomic-context bugs in kernel modules","author":"bai","year":"2018","journal-title":"Proceedings of the 2018 USENIX Annual Technical Conference"},{"key":"ref37","doi-asserted-by":"publisher","DOI":"10.1109\/SCAM.2011.16"},{"key":"ref36","doi-asserted-by":"publisher","DOI":"10.1145\/1133981.1134019"},{"key":"ref35","doi-asserted-by":"publisher","DOI":"10.1145\/379605.379687"},{"key":"ref34","first-page":"83","article-title":"Automated type-based analysis of data races and atomicity","author":"sasturkar","year":"2005","journal-title":"Proceedings of Principles and Practice of Parallel Programming"},{"key":"ref28","first-page":"289","article-title":"Cooperative task management without manual stack management","author":"adya","year":"2002","journal-title":"Proceedings of the 2002 USENIX Annual Technical Conference"},{"key":"ref27","year":"0","journal-title":"Clang compiler"},{"key":"ref29","author":"corbet","year":"2008","journal-title":"Atomic context and kernel api design"},{"key":"ref2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-013-9258-8"},{"key":"ref1","doi-asserted-by":"publisher","DOI":"10.1145\/1519065.1519095"},{"key":"ref20","first-page":"151","article-title":"Effective data-race detection for the kernel","author":"erickson","year":"2010","journal-title":"Proceedings of the 9th Conference on Operating Systems Design and Implementation (OSDI)"},{"key":"ref22","doi-asserted-by":"publisher","DOI":"10.1145\/265924.265927"},{"key":"ref21","doi-asserted-by":"publisher","DOI":"10.1007\/s11227-016-1691-1"},{"key":"ref24","year":"0","journal-title":"LLVM Compiler Infrastructure"},{"key":"ref23","year":"0","journal-title":"KernelStrider detecting data races in Linux kernel modules by collecting runtime information"},{"key":"ref26","doi-asserted-by":"publisher","DOI":"10.1145\/2150976.2150987"},{"key":"ref25","year":"0","journal-title":"Linux rt kernel patch project"},{"key":"ref50","doi-asserted-by":"publisher","DOI":"10.1145\/1287624.1287654"},{"key":"ref10","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2011.35"},{"key":"ref11","doi-asserted-by":"publisher","DOI":"10.1145\/504282.504288"},{"key":"ref40","doi-asserted-by":"publisher","DOI":"10.1145\/378795.378832"},{"key":"ref12","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542490"},{"key":"ref13","doi-asserted-by":"publisher","DOI":"10.1002\/spe.2121"},{"key":"ref14","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542491"},{"key":"ref15","doi-asserted-by":"publisher","DOI":"10.1145\/945465.945468"},{"key":"ref16","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-73368-3_26"},{"key":"ref17","first-page":"391","article-title":"Static race detection for device drivers: the Goblint approach","author":"vojdani","year":"2016","journal-title":"Proc International Conference on Automated Software Engineering (ASE)"},{"key":"ref18","doi-asserted-by":"publisher","DOI":"10.1145\/1595696.1595701"},{"key":"ref19","doi-asserted-by":"publisher","DOI":"10.1145\/1321631.1321719"},{"key":"ref4","year":"0","journal-title":"Data race"},{"key":"ref3","doi-asserted-by":"publisher","DOI":"10.1145\/1346281.1346323"},{"key":"ref6","doi-asserted-by":"publisher","DOI":"10.1145\/1966445.1966465"},{"key":"ref5","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950310"},{"key":"ref8","first-page":"1060","article-title":"Detecting concurrency bugs from the perspectives of synchronization intentions","author":"lu","year":"2011","journal-title":"IEEE Transactions on Parallel and Distributed Systems (TPDS)"},{"key":"ref7","doi-asserted-by":"publisher","DOI":"10.1145\/1806596.1806626"},{"key":"ref49","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2015.30"},{"key":"ref9","doi-asserted-by":"publisher","DOI":"10.1145\/1133981.1134018"},{"key":"ref46","doi-asserted-by":"publisher","DOI":"10.1145\/1065944.1065958"},{"key":"ref45","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250762"},{"key":"ref48","first-page":"313","article-title":"Generating data race witnesses by an SMT-based analysis","author":"said","year":"2011","journal-title":"Proc of 3rd Inter Symposium on IPSN"},{"key":"ref47","doi-asserted-by":"publisher","DOI":"10.1145\/2063384.2063452"},{"key":"ref42","doi-asserted-by":"publisher","DOI":"10.1145\/2103656.2103702"},{"key":"ref41","doi-asserted-by":"publisher","DOI":"10.1145\/781498.781529"},{"key":"ref44","doi-asserted-by":"publisher","DOI":"10.1145\/859618.859632"},{"key":"ref43","doi-asserted-by":"publisher","DOI":"10.1145\/2786805.2803209"}],"event":{"name":"2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER)","location":"Hangzhou, China","start":{"date-parts":[[2019,2,24]]},"end":{"date-parts":[[2019,2,27]]}},"container-title":["2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER)"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/8663526\/8667965\/08668017.pdf?arnumber=8668017","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,7,18]],"date-time":"2022-07-18T14:50:24Z","timestamp":1658155824000},"score":1,"resource":{"primary":{"URL":"https:\/\/ieeexplore.ieee.org\/document\/8668017\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,2]]},"references-count":50,"URL":"https:\/\/doi.org\/10.1109\/saner.2019.8668017","relation":{},"subject":[],"published":{"date-parts":[[2019,2]]}}}