{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T00:59:44Z","timestamp":1740099584606,"version":"3.37.3"},"publisher-location":"Cham","reference-count":28,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030346263"},{"type":"electronic","value":"9783030346270"}],"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-34627-0_8","type":"book-chapter","created":{"date-parts":[[2019,11,12]],"date-time":"2019-11-12T09:02:55Z","timestamp":1573549375000},"page":"94-111","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Optimized Sound and Complete Data Race Detection in Structured Parallel Programs"],"prefix":"10.1007","author":[{"given":"Kyle","family":"Storey","sequence":"first","affiliation":[]},{"given":"Jacob","family":"Powell","sequence":"additional","affiliation":[]},{"given":"Ben","family":"Ogles","sequence":"additional","affiliation":[]},{"given":"Joshua","family":"Hooker","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0602-2000","authenticated-orcid":false,"given":"Peter","family":"Aldous","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2264-2958","authenticated-orcid":false,"given":"Eric","family":"Mercer","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2019,11,13]]},"reference":[{"issue":"10","key":"8_CR1","doi-asserted-by":"publisher","first-page":"646","DOI":"10.1109\/32.637147","volume":"23","author":"K Audenaert","year":"1997","unstructured":"Audenaert, K.: Clock trees: Logical clocks for programs with nested parallelism. IEEE Trans. Softw. Eng. 23(10), 646\u2013658 (1997)","journal-title":"IEEE Trans. Softw. Eng."},{"doi-asserted-by":"publisher","unstructured":"Bender, M.A., Fineman, J.T., Gilbert, S., Leiserson, C.E.: On-the-fly maintenance of series-parallel relationships in fork-join multithreaded programs. In: Proceedings of the Sixteenth Annual ACM Symposium on Parallelism in Algorithms and Architectures, SPAA 2004, pp. 133\u2013144. ACM, New York (2004). \nhttps:\/\/doi.org\/10.1145\/1007912.1007933","key":"8_CR2","DOI":"10.1145\/1007912.1007933"},{"doi-asserted-by":"publisher","unstructured":"Brat, G., Visser, W.: Combining static analysis and model checking for software analysis. In: Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001). IEEE Computer Society (2001). \nhttps:\/\/doi.org\/10.1109\/ase.2001.989812","key":"8_CR3","DOI":"10.1109\/ase.2001.989812"},{"doi-asserted-by":"crossref","unstructured":"Cav\u00e9, V., Zhao, J., Shirako, J., Sarkar, V.: Habanero-Java: the new adventures of old X10, August 2011","key":"8_CR4","DOI":"10.1145\/2093157.2093165"},{"doi-asserted-by":"publisher","unstructured":"Cheng, G.I., Feng, M., Leiserson, C.E., Randall, K.H., Stark, A.F.: Detecting data races in CILK programs that use locks. In: Proceedings of the Tenth Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1998, pp. 298\u2013309. ACM, New York (1998). \nhttps:\/\/doi.org\/10.1145\/277651.277696","key":"8_CR5","DOI":"10.1145\/277651.277696"},{"key":"8_CR6","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"494","DOI":"10.1007\/3-540-44681-8_73","volume-title":"Euro-Par 2001 Parallel Processing","author":"M Christiaens","year":"2001","unstructured":"Christiaens, M., De Bosschere, K.: Accordion clocks: logical clocks for data race detection. In: Sakellariou, R., Gurd, J., Freeman, L., Keane, J. (eds.) Euro-Par 2001. LNCS, vol. 2150, pp. 494\u2013503. Springer, Heidelberg (2001). \nhttps:\/\/doi.org\/10.1007\/3-540-44681-8_73"},{"doi-asserted-by":"crossref","unstructured":"Dennis, J.B., Gao, G.R., Sarkar, V.: Determinacy and repeatability of parallel program schemata. In: Data-Flow Execution Models for Extreme Scale Computing (DFM), pp. 1\u20139. IEEE (2012)","key":"8_CR7","DOI":"10.1109\/DFM.2012.10"},{"issue":"6","key":"8_CR8","doi-asserted-by":"publisher","first-page":"305","DOI":"10.1145\/2666356.2594322","volume":"49","author":"D Dimitrov","year":"2014","unstructured":"Dimitrov, D., Raychev, V., Vechev, M., Koskinen, E.: Commutativity race detection. SIGPLAN Not. 49(6), 305\u2013315 (2014)","journal-title":"SIGPLAN Not."},{"doi-asserted-by":"publisher","unstructured":"Elmas, T., Qadeer, S., Tasiran, S.: Goldilocks: a race and transaction-aware Java runtime. In: Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2007, pp. 245\u2013255. ACM, New York (2007). \nhttps:\/\/doi.org\/10.1145\/1250734.1250762","key":"8_CR9","DOI":"10.1145\/1250734.1250762"},{"doi-asserted-by":"publisher","unstructured":"Engler, D., Ashcraft, K.: RacerX: effective, static detection of race conditions and deadlocks. In: Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles, SOSP 2003 pp. 237\u2013252. ACM, New York (2003). \nhttps:\/\/doi.org\/10.1145\/945445.945468","key":"8_CR10","DOI":"10.1145\/945445.945468"},{"issue":"3","key":"8_CR11","doi-asserted-by":"publisher","first-page":"301","DOI":"10.1007\/s002240000120","volume":"32","author":"M Feng","year":"1999","unstructured":"Feng, M., Leiserson, C.E.: Efficient detection of determinacy races in CILK programs. Theory Comput. Syst. 32(3), 301\u2013326 (1999). \nhttps:\/\/doi.org\/10.1007\/s002240000120","journal-title":"Theory Comput. Syst."},{"doi-asserted-by":"publisher","unstructured":"Fidge, C.J.: Partial orders for parallel debugging. In: Proceedings of the 1988 ACM SIGPLAN and SIGOPS Workshop on Parallel and Distributed Debugging, PADD 1988, pp. 183\u2013194. ACM, New York (1988). \nhttps:\/\/doi.org\/10.1145\/68210.69233","key":"8_CR12","DOI":"10.1145\/68210.69233"},{"doi-asserted-by":"publisher","unstructured":"Flanagan, C., Freund, S.N.: FastTrack: efficient and precise dynamic race detection. In: Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2009, pp. 121\u2013133. ACM, New York (2009). \nhttps:\/\/doi.org\/10.1145\/1542476.1542490","key":"8_CR13","DOI":"10.1145\/1542476.1542490"},{"doi-asserted-by":"crossref","unstructured":"Godefroid, P.: Model checking for programming languages using VeriSoft. In: Proceedings of the 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 174\u2013186 (1997)","key":"8_CR14","DOI":"10.1145\/263699.263717"},{"issue":"6","key":"8_CR15","doi-asserted-by":"publisher","first-page":"266","DOI":"10.1145\/1273442.1250765","volume":"42","author":"A Gotsman","year":"2007","unstructured":"Gotsman, A., Berdine, J., Cook, B., Sagiv, M.: Thread-modular shape analysis. SIGPLAN Not. 42(6), 266\u2013277 (2007)","journal-title":"SIGPLAN Not."},{"doi-asserted-by":"crossref","unstructured":"Kahlon, V., Sinha, N., Kruus, E., Zhang, Y.: Static data race detection for concurrent programs with asynchronous calls. In: Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 13\u201322 (2009)","key":"8_CR16","DOI":"10.1145\/1595696.1595701"},{"issue":"6","key":"8_CR17","doi-asserted-by":"publisher","first-page":"157","DOI":"10.1145\/3140587.3062374","volume":"52","author":"Dileep Kini","year":"2017","unstructured":"Kini, D., Mathur, U., Viswanathan, M.: Dynamic race prediction in linear time. In: ACM SIGPLAN Notices, vol. 52, pp. 157\u2013170. ACM (2017)","journal-title":"ACM SIGPLAN Notices"},{"unstructured":"Kulikov, S., Shafiei, N., Van Breugel, F., Visser, W.: Detecting data races with Java PathFinder (2010). \nhttp:\/\/nastaran.ca\/files\/race.pdf","key":"8_CR18"},{"issue":"7","key":"8_CR19","doi-asserted-by":"publisher","first-page":"558","DOI":"10.1145\/359545.359563","volume":"21","author":"L Lamport","year":"1978","unstructured":"Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558\u2013565 (1978)","journal-title":"Commun. ACM"},{"issue":"6","key":"8_CR20","doi-asserted-by":"publisher","first-page":"519","DOI":"10.1145\/2666356.2594300","volume":"49","author":"L Lu","year":"2014","unstructured":"Lu, L., Ji, W., Scott, M.L.: Dynamic enforcement of determinism in a parallel scripting language. SIGPLAN Not. 49(6), 519\u2013529 (2014). \nhttps:\/\/doi.org\/10.1145\/2666356.2594300","journal-title":"SIGPLAN Not."},{"key":"8_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"218","DOI":"10.1007\/978-3-540-74061-2_14","volume-title":"Static Analysis","author":"A Malkis","year":"2007","unstructured":"Malkis, A., Podelski, A., Rybalchenko, A.: Precise thread-modular verification. In: Nielson, H.R., Fil\u00e9, G. (eds.) SAS 2007. LNCS, vol. 4634, pp. 218\u2013232. Springer, Heidelberg (2007). \nhttps:\/\/doi.org\/10.1007\/978-3-540-74061-2_14"},{"issue":"23","key":"8_CR22","first-page":"215","volume":"1","author":"F Mattern","year":"1989","unstructured":"Mattern, F., et al.: Virtual time and global states of distributed systems. Parallel Distrib. Algorithms 1(23), 215\u2013226 (1989)","journal-title":"Parallel Distrib. Algorithms"},{"doi-asserted-by":"publisher","unstructured":"Mellor-Crummey, J.: On-the-fly detection of data races for programs with nested fork-join parallelism. In: Proceedings of the 1991 ACM\/IEEE Conference on Supercomputing, Supercomputing 1991, pp. 24\u201333. ACM, New York (1991). \nhttps:\/\/doi.org\/10.1145\/125826.125861","key":"8_CR23","DOI":"10.1145\/125826.125861"},{"key":"8_CR24","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"367","DOI":"10.1007\/978-3-319-77935-5_25","volume-title":"NASA Formal Methods","author":"R Nakade","year":"2018","unstructured":"Nakade, R., Mercer, E., Aldous, P., McCarthy, J.: Model-checking task parallel programs for data-race. In: Dutle, A., Mu\u00f1oz, C., Narkawicz, A. (eds.) NFM 2018. LNCS, vol. 10811, pp. 367\u2013382. Springer, Cham (2018). \nhttps:\/\/doi.org\/10.1007\/978-3-319-77935-5_25"},{"key":"8_CR25","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"368","DOI":"10.1007\/978-3-642-16612-9_28","volume-title":"Runtime Verification","author":"R Raman","year":"2010","unstructured":"Raman, R., Zhao, J., Sarkar, V., Vechev, M., Yahav, E.: Efficient data race detection for async-finish parallelism. In: Barringer, H., Falcone, Y., Finkbeiner, B., Havelund, K., Lee, I., Pace, G., Ro\u015fu, G., Sokolsky, O., Tillmann, N. (eds.) RV 2010. LNCS, vol. 6418, pp. 368\u2013383. Springer, Heidelberg (2010). \nhttps:\/\/doi.org\/10.1007\/978-3-642-16612-9_28"},{"key":"8_CR26","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"368","DOI":"10.1007\/978-3-319-46982-9_23","volume-title":"Runtime Verification","author":"R Surendran","year":"2016","unstructured":"Surendran, R., Sarkar, V.: Dynamic determinacy race detection for task parallelism with futures. In: Falcone, Y., S\u00e1nchez, C. (eds.) RV 2016. LNCS, vol. 10012, pp. 368\u2013385. Springer, Cham (2016). \nhttps:\/\/doi.org\/10.1007\/978-3-319-46982-9_23"},{"key":"8_CR27","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"455","DOI":"10.1007\/978-3-642-15769-1_28","volume-title":"Static Analysis","author":"M Vechev","year":"2010","unstructured":"Vechev, M., Yahav, E., Raman, R., Sarkar, V.: Automatic verification of determinism for structured parallel programs. In: Cousot, R., Martel, M. (eds.) SAS 2010. LNCS, vol. 6337, pp. 455\u2013471. Springer, Heidelberg (2010). \nhttps:\/\/doi.org\/10.1007\/978-3-642-15769-1_28"},{"doi-asserted-by":"publisher","unstructured":"Voung, J.W., Jhala, R., Lerner, S.: RELAY: static race detection on millions of lines of code. In: Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC-FSE 2007, pp. 205\u2013214. ACM, New York (2007). \nhttps:\/\/doi.org\/10.1145\/1287624.1287654","key":"8_CR28","DOI":"10.1145\/1287624.1287654"}],"container-title":["Lecture Notes in Computer Science","Languages and Compilers for Parallel Computing"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-34627-0_8","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,11,12]],"date-time":"2019-11-12T09:04:17Z","timestamp":1573549457000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-34627-0_8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019]]},"ISBN":["9783030346263","9783030346270"],"references-count":28,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-34627-0_8","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":"13 November 2019","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"LCPC","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Workshop on Languages and Compilers for Parallel Computing","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Salt Lake City, UT","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"USA","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2018","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"9 October 2018","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"11 October 2018","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"31","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"lcpc2018","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/www.lcpcworkshop.org\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Double-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Confy","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"26","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":"14","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":"0","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":"54% - 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":"2","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":"2","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)"}}]}}