{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T09:59:08Z","timestamp":1740131948032,"version":"3.37.3"},"reference-count":73,"publisher":"Institute of Electrical and Electronics Engineers (IEEE)","license":[{"start":{"date-parts":[[2022,1,1]],"date-time":"2022-01-01T00:00:00Z","timestamp":1640995200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/ieeexplore.ieee.org\/Xplorehelp\/downloads\/license-information\/IEEE.html"},{"start":{"date-parts":[[2022,1,1]],"date-time":"2022-01-01T00:00:00Z","timestamp":1640995200000},"content-version":"am","delay-in-days":0,"URL":"https:\/\/ieeexplore.ieee.org\/Xplorehelp\/downloads\/license-information\/IEEE.html"}],"funder":[{"DOI":"10.13039\/501100001809","name":"National Natural Science Foundation of China","doi-asserted-by":"publisher","award":["62002195"],"award-info":[{"award-number":["62002195"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["IIEEE Trans. Software Eng."],"published-print":{"date-parts":[[2022]]},"DOI":"10.1109\/tse.2021.3138735","type":"journal-article","created":{"date-parts":[[2021,12,28]],"date-time":"2021-12-28T21:20:22Z","timestamp":1640726422000},"page":"1-1","source":"Crossref","is-referenced-by-count":1,"title":["Hybrid Static-Dynamic Analysis of Data Races Caused by Inconsistent Locking Discipline in Device Drivers"],"prefix":"10.1109","author":[{"given":"Jia-Ju","family":"Bai","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Qiu-Liang","family":"Chen","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":"ref73","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2015.30"},{"key":"ref72","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-20398-5_23"},{"key":"ref71","doi-asserted-by":"publisher","DOI":"10.1145\/1375581.1375600"},{"key":"ref70","doi-asserted-by":"publisher","DOI":"10.1145\/3276514"},{"year":"0","key":"ref39","article-title":"Patchwork for Linux kernel"},{"key":"ref38","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2019.00017"},{"year":"0","key":"ref33","article-title":"KernelStrider: Detecting data races in Linux kernel modules"},{"key":"ref32","doi-asserted-by":"publisher","DOI":"10.1145\/265924.265927"},{"key":"ref31","doi-asserted-by":"publisher","DOI":"10.1007\/s11227-016-1691-1"},{"key":"ref30","first-page":"151","article-title":"Effective data-race detection for the kernel","author":"erickson","year":"2010","journal-title":"Proc 9th Int Conf Operating Syst Des Implementation"},{"key":"ref37","doi-asserted-by":"publisher","DOI":"10.1145\/512529.512560"},{"year":"0","key":"ref36","article-title":"Clang compiler"},{"key":"ref35","doi-asserted-by":"publisher","DOI":"10.1145\/1133981.1134019"},{"year":"0","key":"ref34","article-title":"KCSAN: Concurrency sanitizer for the Linux kernel"},{"key":"ref60","doi-asserted-by":"publisher","DOI":"10.1145\/2103656.2103702"},{"key":"ref62","doi-asserted-by":"publisher","DOI":"10.1145\/859618.859632"},{"key":"ref61","doi-asserted-by":"publisher","DOI":"10.1145\/2786805.2803209"},{"key":"ref63","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250762"},{"key":"ref28","doi-asserted-by":"publisher","DOI":"10.1145\/1595696.1595701"},{"key":"ref64","doi-asserted-by":"publisher","DOI":"10.1145\/1065944.1065958"},{"key":"ref27","doi-asserted-by":"publisher","DOI":"10.1145\/2970276.2970337"},{"key":"ref65","doi-asserted-by":"publisher","DOI":"10.1145\/2063384.2063452"},{"key":"ref66","doi-asserted-by":"publisher","DOI":"10.1145\/349299.349328"},{"key":"ref29","doi-asserted-by":"publisher","DOI":"10.1145\/1321631.1321719"},{"key":"ref67","doi-asserted-by":"publisher","DOI":"10.1145\/1065944.1065956"},{"key":"ref68","doi-asserted-by":"publisher","DOI":"10.1145\/379605.379687"},{"key":"ref69","doi-asserted-by":"publisher","DOI":"10.1109\/SCAM.2011.16"},{"key":"ref2","doi-asserted-by":"publisher","DOI":"10.1145\/1519065.1519095"},{"key":"ref1","doi-asserted-by":"publisher","DOI":"10.1109\/SANER.2019.8668017"},{"key":"ref20","doi-asserted-by":"publisher","DOI":"10.1145\/359545.359563"},{"key":"ref22","first-page":"288","article-title":"AutoPA: Automatically generating active driver from original passive driver code","author":"bai","year":"2018","journal-title":"Proc Int Symp Code Generation Optim"},{"key":"ref21","doi-asserted-by":"publisher","DOI":"10.1145\/1851276.1851283"},{"key":"ref24","doi-asserted-by":"crossref","first-page":"179","DOI":"10.1145\/781498.781529","article-title":"Efficient on-the-fly data race detection in multithreaded C++ programs","author":"pozniansky","year":"2003","journal-title":"Proc 9th Int Symp Princ Pract Parallel Program"},{"key":"ref23","first-page":"255","article-title":"Effective static analysis of concurrency use-after-free bugs in Linux device drivers","author":"bai","year":"2019","journal-title":"Proc USENIX Annu Tech Conf"},{"key":"ref26","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-73368-3_26"},{"key":"ref25","doi-asserted-by":"publisher","DOI":"10.1145\/945465.945468"},{"year":"0","key":"ref50","article-title":"Netperf benchmark"},{"key":"ref51","doi-asserted-by":"publisher","DOI":"10.1145\/1181309.1181315"},{"key":"ref59","doi-asserted-by":"publisher","DOI":"10.1145\/378795.378832"},{"year":"0","key":"ref58","article-title":"Patchwork for Linux NFS filesystem"},{"year":"0","key":"ref57","article-title":"Patchwork for QEMU"},{"year":"0","key":"ref56","article-title":"Patchwork for FFmpeg"},{"key":"ref55","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884866"},{"year":"0","key":"ref54","article-title":"Fuzzing"},{"key":"ref53","doi-asserted-by":"publisher","DOI":"10.1109\/FTCS.1993.627324"},{"year":"0","key":"ref52","article-title":"Razzer repository"},{"key":"ref10","doi-asserted-by":"publisher","DOI":"10.1145\/1133981.1134018"},{"key":"ref11","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2011.35"},{"key":"ref40","doi-asserted-by":"publisher","DOI":"10.1145\/2150976.2150987"},{"key":"ref12","doi-asserted-by":"publisher","DOI":"10.1002\/spe.2121"},{"key":"ref13","doi-asserted-by":"publisher","DOI":"10.1145\/504282.504288"},{"key":"ref14","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542490"},{"key":"ref15","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542491"},{"key":"ref16","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2007.346191"},{"year":"0","key":"ref17","article-title":"Helgrind: A thread error detector"},{"key":"ref18","doi-asserted-by":"publisher","DOI":"10.1145\/2254064.2254127"},{"key":"ref19","doi-asserted-by":"publisher","DOI":"10.1145\/2854038.2854043"},{"key":"ref4","first-page":"329","article-title":"Learning from mistakes: A comprehensive study on real world concurrency bug characteristics","author":"lu","year":"2008","journal-title":"Proc 6th Int Conf Archit Support Program Lang Oper Syst"},{"key":"ref3","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-013-9258-8"},{"key":"ref6","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950310"},{"year":"0","key":"ref5","article-title":"Data race"},{"key":"ref8","doi-asserted-by":"publisher","DOI":"10.1145\/1806596.1806626"},{"key":"ref7","doi-asserted-by":"publisher","DOI":"10.1145\/1966445.1966465"},{"key":"ref49","doi-asserted-by":"publisher","DOI":"10.1145\/2150976.2150997"},{"key":"ref9","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2011.254"},{"key":"ref46","doi-asserted-by":"publisher","DOI":"10.1145\/1287624.1287654"},{"key":"ref45","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2017.06.004"},{"key":"ref48","doi-asserted-by":"publisher","DOI":"10.1145\/1273442.1250738"},{"key":"ref47","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2017.33"},{"key":"ref42","first-page":"561","article-title":"Spindle: Informed memory access monitoring","author":"wang","year":"2018","journal-title":"Proc USENIX Annu Tech Conf"},{"key":"ref41","doi-asserted-by":"publisher","DOI":"10.1145\/3302424.3303948"},{"key":"ref44","doi-asserted-by":"publisher","DOI":"10.1145\/2771783.2771811"},{"year":"0","key":"ref43","article-title":"Locking in the linux kernel"}],"container-title":["IEEE Transactions on Software Engineering"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/32\/4359463\/09664358.pdf?arnumber=9664358","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,1,20]],"date-time":"2023-01-20T20:26:11Z","timestamp":1674246371000},"score":1,"resource":{"primary":{"URL":"https:\/\/ieeexplore.ieee.org\/document\/9664358\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022]]},"references-count":73,"URL":"https:\/\/doi.org\/10.1109\/tse.2021.3138735","relation":{},"ISSN":["0098-5589","1939-3520","2326-3881"],"issn-type":[{"type":"print","value":"0098-5589"},{"type":"electronic","value":"1939-3520"},{"type":"electronic","value":"2326-3881"}],"subject":[],"published":{"date-parts":[[2022]]}}}