{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T12:44:20Z","timestamp":1740141860716,"version":"3.37.3"},"reference-count":27,"publisher":"SAGE Publications","issue":"11","license":[{"start":{"date-parts":[[2013,11,1]],"date-time":"2013-11-01T00:00:00Z","timestamp":1383264000000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/journals.sagepub.com\/page\/policies\/text-and-data-mining-license"}],"funder":[{"DOI":"10.13039\/501100003725","name":"National Research Foundation of Korea","doi-asserted-by":"crossref","id":[{"id":"10.13039\/501100003725","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/501100002701","name":"Ministry of Education, Republic of Korea","doi-asserted-by":"publisher","id":[{"id":"10.13039\/501100002701","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["journals.sagepub.com"],"crossmark-restriction":true},"short-container-title":["International Journal of Distributed Sensor Networks"],"published-print":{"date-parts":[[2013,11,1]]},"abstract":"<jats:p> Data races are common in interrupt-driven programs and have already led to well-known real-world problems. Unfortunately, existing dynamic tools for reporting data races in interrupt-driven programs are not only unsound, but they also fail to verify the existence of data races in such programs. This paper presents an efficient and scalable on-the-fly technique that precisely detects, without false positives, apparent data races in interrupt-driven programs. The technique combines a tailored lightweight labeling scheme to maintain logical concurrency between the main program and every instance of its interrupt handlers with a precise detection protocol that analyzes conflicting shared memory accesses by storing at most two accesses for each shared variable. We implemented a prototype of this technique, called iRace, on top of the Avrora simulation framework. An empirical evaluation of iRace revealed the presence of data races in some existing TinyOS components and applications with a worst-case slowdown of only about 6 times on average and an increased average memory consumption of only about 20% in comparison with the original program execution. The evaluation also proved that the labeling scheme alone generates an average runtime overhead of only about 0.4x while consuming only about 12% more memory than the original program execution. <\/jats:p>","DOI":"10.1155\/2013\/953593","type":"journal-article","created":{"date-parts":[[2013,11,21]],"date-time":"2013-11-21T22:11:09Z","timestamp":1385071869000},"page":"953593","update-policy":"https:\/\/doi.org\/10.1177\/sage-journals-update-policy","source":"Crossref","is-referenced-by-count":4,"title":["Verification of Data Races in Concurrent Interrupt Handlers"],"prefix":"10.1177","volume":"9","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-7729-8701","authenticated-orcid":false,"given":"Guy Martin","family":"Tchamgoue","sequence":"first","affiliation":[{"name":"Department of Informatics, Gyeongsang National University, 660-701 Jinju, Republic of Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Kyong Hoon","family":"Kim","sequence":"additional","affiliation":[{"name":"Department of Informatics, Gyeongsang National University, 660-701 Jinju, Republic of Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yong-Kee","family":"Jun","sequence":"additional","affiliation":[{"name":"Department of Informatics, Gyeongsang National University, 660-701 Jinju, Republic of Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"179","published-online":{"date-parts":[[2013,11,21]]},"reference":[{"key":"B1-2013-953593","doi-asserted-by":"publisher","DOI":"10.1145\/1147403.1147416"},{"key":"B2-2013-953593","doi-asserted-by":"publisher","DOI":"10.1145\/130616.130623"},{"key":"B3-2013-953593","doi-asserted-by":"publisher","DOI":"10.1109\/MC.1993.274940"},{"volume-title":"Proceedings of the 9th Conference on Operating Systems Design and Implementation (USENIX '10)","author":"Erickson J.","key":"B5-2013-953593"},{"key":"B6-2013-953593","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-27207-3_45"},{"key":"B7-2013-953593","doi-asserted-by":"publisher","DOI":"10.1145\/2384616.2384650"},{"key":"B8-2013-953593","first-page":"121","volume-title":"Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA '09)","volume":"44","author":"Flanagan C."},{"key":"B9-2013-953593","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2011.5764688"},{"key":"B10-2013-953593","doi-asserted-by":"publisher","DOI":"10.1145\/1808266.1808278"},{"key":"B11-2013-953593","doi-asserted-by":"publisher","DOI":"10.1145\/1453101.1453115"},{"first-page":"290","volume-title":"Proceedings of the 5th ACM International Conference on Embedded Software (EMSOFT '05)","author":"Regehr J.","key":"B12-2013-953593"},{"key":"B13-2013-953593","doi-asserted-by":"publisher","DOI":"10.1109\/ICDCS.2010.75"},{"key":"B14-2013-953593","doi-asserted-by":"publisher","DOI":"10.1145\/1542452.1542471"},{"key":"B15-2013-953593","doi-asserted-by":"publisher","DOI":"10.1145\/1658192.1658195"},{"key":"B16-2013-953593","first-page":"21","volume":"4","author":"Ha O. K.","year":"2011","journal-title":"International Journal Fo U- and E- Service, Science and Technology"},{"key":"B17-2013-953593","first-page":"25","volume":"4","author":"Kim Y. C.","year":"2011","journal-title":"International Journal of Database Theory and Application"},{"key":"B18-2013-953593","doi-asserted-by":"publisher","DOI":"10.1145\/265924.265927"},{"key":"B19-2013-953593","doi-asserted-by":"publisher","DOI":"10.1145\/1390841.1390847"},{"first-page":"1","volume-title":"ACM SIGPLAN Conference on Programming Language Design and Implementation","author":"Gay D.","key":"B20-2013-953593"},{"key":"B21-2013-953593","doi-asserted-by":"publisher","DOI":"10.1016\/j.entcs.2007.04.002"},{"key":"B22-2013-953593","doi-asserted-by":"publisher","DOI":"10.1109\/IPSN.2005.1440978"},{"key":"B23-2013-953593","first-page":"59","volume-title":"Proceedings of the Conference on Languages, Compilers, and Tools for Embedded Systems (Lctes '05)","volume":"40","author":"Titzer B. L."},{"key":"B24-2013-953593","doi-asserted-by":"publisher","DOI":"10.1145\/378993.379006"},{"key":"B25-2013-953593","first-page":"55","volume":"40","author":"Tchamgoue G. M.","year":"2012","journal-title":"International Journal of Advanced Science and Technology"},{"key":"B26-2013-953593","first-page":"1","volume":"4","author":"Tchamgoue G. M.","year":"2011","journal-title":"International Journal of Hybrid Information Technology"},{"key":"B28-2013-953593","doi-asserted-by":"publisher","DOI":"10.1145\/122759.122767"},{"key":"B29-2013-953593","doi-asserted-by":"publisher","DOI":"10.1145\/359545.359563"}],"container-title":["International Journal of Distributed Sensor Networks"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/journals.sagepub.com\/doi\/pdf\/10.1155\/2013\/953593","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/journals.sagepub.com\/doi\/full-xml\/10.1155\/2013\/953593","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/journals.sagepub.com\/doi\/pdf\/10.1155\/2013\/953593","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,5,16]],"date-time":"2021-05-16T21:31:08Z","timestamp":1621200668000},"score":1,"resource":{"primary":{"URL":"http:\/\/journals.sagepub.com\/doi\/10.1155\/2013\/953593"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013,11,1]]},"references-count":27,"journal-issue":{"issue":"11","published-print":{"date-parts":[[2013,11,1]]}},"alternative-id":["10.1155\/2013\/953593"],"URL":"https:\/\/doi.org\/10.1155\/2013\/953593","relation":{},"ISSN":["1550-1477","1550-1477"],"issn-type":[{"type":"print","value":"1550-1477"},{"type":"electronic","value":"1550-1477"}],"subject":[],"published":{"date-parts":[[2013,11,1]]}}}