{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,26]],"date-time":"2025-03-26T02:03:08Z","timestamp":1742954588014,"version":"3.40.3"},"publisher-location":"Cham","reference-count":25,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030309411"},{"type":"electronic","value":"9783030309428"}],"license":[{"start":{"date-parts":[[2019,1,1]],"date-time":"2019-01-01T00:00:00Z","timestamp":1546300800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2019]]},"DOI":"10.1007\/978-3-030-30942-8_21","type":"book-chapter","created":{"date-parts":[[2019,9,22]],"date-time":"2019-09-22T23:03:06Z","timestamp":1569193386000},"page":"337-353","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Static Analysis for Detecting High-Level Races in RTOS Kernels"],"prefix":"10.1007","author":[{"given":"Abhishek","family":"Singh","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Rekha","family":"Pai","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Deepak","family":"D\u2019Souza","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Meenakshi","family":"D\u2019Souza","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2019,9,23]]},"reference":[{"issue":"2","key":"21_CR1","doi-asserted-by":"publisher","first-page":"207","DOI":"10.1145\/1119479.1119480","volume":"28","author":"M Abadi","year":"2006","unstructured":"Abadi, M., Flanagan, C., Freund, S.N.: Types for safe locking: static race detection for Java. ACM Trans. Program. Lang. Syst. (TOPLAS) 28(2), 207\u2013255 (2006)","journal-title":"ACM Trans. Program. Lang. Syst. (TOPLAS)"},{"issue":"1\u20132","key":"21_CR2","doi-asserted-by":"publisher","first-page":"167","DOI":"10.1006\/inco.1999.2847","volume":"160","author":"R Alur","year":"2000","unstructured":"Alur, R., McMillan, K.L., Peled, D.A.: Model-checking of correctness conditions for concurrent objects. Inf. Comput. 160(1\u20132), 167\u2013188 (2000)","journal-title":"Inf. Comput."},{"key":"21_CR3","doi-asserted-by":"publisher","first-page":"207","DOI":"10.1002\/stvr.281","volume":"13","author":"C Artho","year":"2003","unstructured":"Artho, C., Havelund, K., Biere, A.: High-level data races. J. Softw. Test. Verif. Reliab. 13, 207\u2013227 (2003)","journal-title":"J. Softw. Test. Verif. Reliab."},{"key":"21_CR4","unstructured":"Barry, R.: The FreeRTOS kernel, v10.0.0 (2017). \nhttps:\/\/freertos.org"},{"key":"21_CR5","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"697","DOI":"10.1007\/978-3-030-17184-1_25","volume-title":"Programming Languages and Systems","author":"N Chopra","year":"2019","unstructured":"Chopra, N., Pai, R., D\u2019Souza, D.: Data races and static analysis for interrupt-driven kernels. In: Caires, L. (ed.) ESOP 2019. LNCS, vol. 11423, pp. 697\u2013723. Springer, Cham (2019). \nhttps:\/\/doi.org\/10.1007\/978-3-030-17184-1_25"},{"key":"21_CR6","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"8","DOI":"10.1007\/978-3-642-39611-3_8","volume-title":"Hardware and Software: Verification and Testing","author":"RJ Dias","year":"2013","unstructured":"Dias, R.J., Pessanha, V., Louren\u00e7o, J.M.: Precise detection of atomicity violations. In: Biere, A., Nahir, A., Vos, T. (eds.) HVC 2012. LNCS, vol. 7857, pp. 8\u201323. Springer, Heidelberg (2013). \nhttps:\/\/doi.org\/10.1007\/978-3-642-39611-3_8"},{"key":"21_CR7","unstructured":"Elmas, T., Qadeer, S., Tasiran, S.: Precise race detection and efficient model checking using locksets. Technical Report MSR-TR-2005-118. Microsoft Research (2005)"},{"issue":"5","key":"21_CR8","doi-asserted-by":"publisher","first-page":"237","DOI":"10.1145\/1165389.945468","volume":"37","author":"D Engler","year":"2003","unstructured":"Engler, D., Ashcraft, K.: RacerX: effective, static detection of race conditions and deadlocks. SIGOPS Oper. Syst. Rev. 37(5), 237\u2013252 (2003)","journal-title":"SIGOPS Oper. Syst. Rev."},{"key":"21_CR9","doi-asserted-by":"crossref","unstructured":"Flanagan, C., Qadeer, S.: A type and effect system for atomicity. In Proceedings ACM SIGPLAN Programming Language Design and Implementation (PLDI), pp. 338\u2013349 (2003)","DOI":"10.1145\/780822.781169"},{"issue":"8","key":"21_CR10","doi-asserted-by":"publisher","first-page":"749","DOI":"10.1109\/32.940728","volume":"27","author":"K Havelund","year":"2001","unstructured":"Havelund, K., Lowry, M.R., Penix, J.: Formal analysis of a space-craft controller using SPIN. IEEE Trans. Softw. Eng. 27(8), 749\u2013765 (2001)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"21_CR11","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"216","DOI":"10.1007\/3-540-48234-2_17","volume-title":"Theoretical and Practical Aspects of SPIN Model Checking","author":"K Havelund","year":"1999","unstructured":"Havelund, K., Skakkeb\u00e6k, J.U.: Applying model checking in Java verification. In: Dams, D., Gerth, R., Leue, S., Massink, M. (eds.) SPIN 1999. LNCS, vol. 1680, pp. 216\u2013231. Springer, Heidelberg (1999). \nhttps:\/\/doi.org\/10.1007\/3-540-48234-2_17"},{"key":"21_CR12","doi-asserted-by":"crossref","unstructured":"Henzinger, T.A., Jhala, R., Majumdar, R.: Race checking by context inference. In: Proceedings of ACM SIGPLAN Programming Language Design and Implementation (PLDI), pp. 1\u201313 (2004)","DOI":"10.1145\/996893.996844"},{"key":"21_CR13","unstructured":"Texas Instruments: TI-RTOS: A Real-Time Operating System for Microcontrollers. \nhttp:\/\/www.ti.com\/tool\/ti-rtos\n\n, 2017"},{"key":"21_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"405","DOI":"10.1007\/978-3-319-52234-0_22","volume-title":"Verification, Model Checking, and Abstract Interpretation","author":"S Mukherjee","year":"2017","unstructured":"Mukherjee, S., Kumar, A., D\u2019Souza, D.: Detecting all high-level dataraces in an RTOS kernel. In: Bouajjani, A., Monniaux, D. (eds.) VMCAI 2017. LNCS, vol. 10145, pp. 405\u2013423. Springer, Cham (2017). \nhttps:\/\/doi.org\/10.1007\/978-3-319-52234-0_22"},{"key":"21_CR15","unstructured":"Necula, G.: CIL - infrastructure for C Program Analysis and Transformation (v. 1.3.7) (2002). \nhttp:\/\/people.eecs.berkeley.edu\/~necula\/cil\/"},{"issue":"9","key":"21_CR16","doi-asserted-by":"publisher","first-page":"139","DOI":"10.1016\/j.entcs.2007.04.002","volume":"174","author":"J Regehr","year":"2007","unstructured":"Regehr, J., Cooprider, N.: Interrupt verification via thread verification. Electr. Notes Theor. Comput. Sci. 174(9), 139\u2013150 (2007)","journal-title":"Electr. Notes Theor. Comput. Sci."},{"issue":"4","key":"21_CR17","doi-asserted-by":"publisher","first-page":"391","DOI":"10.1145\/265924.265927","volume":"15","author":"S Savage","year":"1997","unstructured":"Savage, S., Burrows, M., Nelson, G., Sobalvarro, P., Anderson, T.E.: Eraser: a dynamic data race detector for multithreaded programs. ACM Trans. Comput. Syst. 15(4), 391\u2013411 (1997)","journal-title":"ACM Trans. Comput. Syst."},{"key":"21_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"21","DOI":"10.1007\/978-3-642-54013-4_2","volume-title":"Verification, Model Checking, and Abstract Interpretation","author":"MD Schwarz","year":"2014","unstructured":"Schwarz, M.D., Seidl, H., Vojdani, V., Apinis, K.: Precise analysis of value-dependent synchronization in priority scheduled programs. In: McMillan, K.L., Rival, X. (eds.) VMCAI 2014. LNCS, vol. 8318, pp. 21\u201338. Springer, Heidelberg (2014). \nhttps:\/\/doi.org\/10.1007\/978-3-642-54013-4_2"},{"key":"21_CR19","doi-asserted-by":"crossref","unstructured":"Schwarz, M.D., Seidl, H., Vojdani, V., Lammich, P., M\u00fcller-Olm, M.: Static analysis of interrupt-driven programs synchronized via the priority ceiling protocol. In Proceedings of ACM SIGPLAN-SIGACT Principles of Programming Languages (POPL), pp. 93\u2013104 (2011)","DOI":"10.1145\/1925844.1926398"},{"key":"21_CR20","unstructured":"Sterling, N.: WARLOCK - a static data race analysis tool. In: Proceedings of Usenix Winter Technical Conference, pp. 97\u2013106 (1993)"},{"key":"21_CR21","doi-asserted-by":"crossref","unstructured":"Sung, C., Kusano, M., Wang, C.: Modular verification of interrupt-driven software. In: Proceedings of the 32nd IEEE\/ACM International Conference on Automated Software Engineering, ASE 2017, pp. 206\u2013216 (2017)","DOI":"10.1109\/ASE.2017.8115634"},{"issue":"6","key":"21_CR22","doi-asserted-by":"publisher","first-page":"103","DOI":"10.5381\/jot.2004.3.6.a5","volume":"3","author":"C von Praun","year":"2004","unstructured":"von Praun, C., Gross, T.R.: Static detection of atomicity violations in object-oriented programs. J. Object Technol. 3(6), 103\u2013122 (2004)","journal-title":"J. Object Technol."},{"key":"21_CR23","doi-asserted-by":"crossref","unstructured":"Voung, J.W., Jhala, R., Lerner, S.: RELAY: static race detection on millions of lines of code. In: Proceedings of ESEC\/SIGSOFT Foundations of Software Engineering (FSE), pp. 205\u2013214 (2007)","DOI":"10.1145\/1287624.1287654"},{"key":"21_CR24","doi-asserted-by":"crossref","unstructured":"Wang, Y., Wang, L., Yu, T., Zhao, J., Li, X.: Automatic detection and validation of race conditions in interrupt-driven embedded software. In: Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2017, pp. 113\u2013124. ACM (2017)","DOI":"10.1145\/3092703.3092724"},{"key":"21_CR25","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"191","DOI":"10.1007\/978-3-642-31759-0_14","volume-title":"Model Checking Software","author":"R Zeng","year":"2012","unstructured":"Zeng, R., Sun, Z., Liu, S., He, X.: McPatom: a predictive analysis tool for atomicity violation using model checking. In: Donaldson, A., Parker, D. (eds.) SPIN 2012. LNCS, vol. 7385, pp. 191\u2013207. Springer, Heidelberg (2012). \nhttps:\/\/doi.org\/10.1007\/978-3-642-31759-0_14"}],"container-title":["Lecture Notes in Computer Science","Formal Methods \u2013 The Next 30 Years"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-30942-8_21","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,5,5]],"date-time":"2020-05-05T06:08:43Z","timestamp":1588658923000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-30942-8_21"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019]]},"ISBN":["9783030309411","9783030309428"],"references-count":25,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-30942-8_21","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2019]]},"assertion":[{"value":"23 September 2019","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"FM","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Symposium on Formal Methods","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Porto","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Portugal","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2019","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"7 October 2019","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"11 October 2019","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"3","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"fm2019","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/formalmethods2019.inesctec.pt\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"129","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"44","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"7","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"34% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"4","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"5,5","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"No","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}