{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,26]],"date-time":"2025-03-26T17:47:21Z","timestamp":1743011241675,"version":"3.40.3"},"publisher-location":"Cham","reference-count":40,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030352240"},{"type":"electronic","value":"9783030352257"}],"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-35225-7_12","type":"book-chapter","created":{"date-parts":[[2019,11,19]],"date-time":"2019-11-19T13:04:56Z","timestamp":1574168696000},"page":"163-181","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Parallel Roles for Practical Deterministic Parallel Programming"],"prefix":"10.1007","author":[{"given":"Michael","family":"Faes","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Thomas R.","family":"Gross","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2019,11,15]]},"reference":[{"key":"12_CR1","unstructured":"Xtext. http:\/\/www.eclipse.org\/Xtext\/"},{"key":"12_CR2","doi-asserted-by":"crossref","unstructured":"Allen, M.D., Sridharan, S., Sohi, G.S.: Serialization sets: a dynamic dependence-based parallel execution model. In: Proceedings of the 14th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 2009), pp. 85\u201396. ACM, New York (2009)","DOI":"10.1145\/1504176.1504190"},{"key":"12_CR3","doi-asserted-by":"crossref","unstructured":"Bierhoff, K., Aldrich, J.: Modular typestate checking of aliased objects. In: Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems and Applications (OOPSLA 2007), pp. 301\u2013320. ACM, New York (2007)","DOI":"10.1145\/1297027.1297050"},{"key":"12_CR4","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"306","DOI":"10.1007\/978-3-642-22655-7_15","volume-title":"ECOOP 2011 \u2013 Object-Oriented Programming","author":"RL Bocchino","year":"2011","unstructured":"Bocchino, R.L., Adve, V.S.: Types, regions, and effects for safe programming with object-oriented parallel frameworks. In: Mezini, M. (ed.) ECOOP 2011. LNCS, vol. 6813, pp. 306\u2013332. Springer, Heidelberg (2011). https:\/\/doi.org\/10.1007\/978-3-642-22655-7_15"},{"key":"12_CR5","unstructured":"Bocchino, R.L., Adve, V.S., Adve, S.V., Snir, M.: Parallel programming must be deterministic by default. In: Proceedings of the 1st USENIX Conference on Hot Topics in Parallelism (HotPar 2009). USENIX Association, Berkeley (2009). http:\/\/dl.acm.org\/citation.cfm?id=1855591.1855595"},{"key":"12_CR6","doi-asserted-by":"crossref","unstructured":"Bocchino, R.L., et al.: A type and effect system for deterministic parallel Java. In: Proceedings of the 24th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA 2009), pp. 97\u2013116. ACM, New York (2009)","DOI":"10.1145\/1640089.1640097"},{"key":"12_CR7","doi-asserted-by":"crossref","unstructured":"Boyapati, C., Lee, R., Rinard, M.: Ownership types for safe programming: preventing data races and deadlocks. In: Proceedings of the 17th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2002), pp. 211\u2013230. ACM, New York (2002)","DOI":"10.1145\/582419.582440"},{"key":"12_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"55","DOI":"10.1007\/3-540-44898-5_4","volume-title":"Static Analysis","author":"J Boyland","year":"2003","unstructured":"Boyland, J.: Checking interference with fractional permissions. In: Cousot, R. (ed.) SAS 2003. LNCS, vol. 2694, pp. 55\u201372. Springer, Heidelberg (2003). https:\/\/doi.org\/10.1007\/3-540-44898-5_4"},{"key":"12_CR9","doi-asserted-by":"crossref","unstructured":"Boyland, J.T., Retert, W.: Connecting effects and uniqueness with adoption. In: Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2005), pp. 283\u2013295. ACM, New York (2005)","DOI":"10.1145\/1047659.1040329"},{"key":"12_CR10","unstructured":"Minh, C.C., Chung, J., Kozyrakis, C., Olukotun, K.: STAMP: stanford transactional applications for multi-processing. In: Proceedings of The IEEE International Symposium on Workload Characterization (IISWC 2008), September 2008"},{"key":"12_CR11","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"53","DOI":"10.1007\/3-540-45337-7_4","volume-title":"ECOOP 2001 \u2014 Object-Oriented Programming","author":"DG Clarke","year":"2001","unstructured":"Clarke, D.G., Noble, J., Potter, J.M.: Simple ownership types for object containment. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 53\u201376. Springer, Heidelberg (2001). https:\/\/doi.org\/10.1007\/3-540-45337-7_4"},{"key":"12_CR12","doi-asserted-by":"crossref","unstructured":"Clarke, D.G., Potter, J.M., Noble, J.: Ownership types for flexible alias protection. In: Proceedings of the 13th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 1998), pp. 48\u201364. ACM, New York (1998)","DOI":"10.1145\/286942.286947"},{"key":"12_CR13","doi-asserted-by":"crossref","unstructured":"Devietti, J., Lucia, B., Ceze, L., Oskin, M.: DMP: deterministic shared memory multiprocessing. In: Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS XIV), pp. 85\u201396. ACM, New York (2009)","DOI":"10.1145\/1508244.1508255"},{"issue":"9","key":"12_CR14","doi-asserted-by":"publisher","first-page":"592","DOI":"10.1016\/j.parco.2011.02.005","volume":"37","author":"D Gay","year":"2011","unstructured":"Gay, D., Galenson, J., Naik, M., Yelick, K.: Yada: straightforward parallel programming. Parallel Comput. 37(9), 592\u2013609 (2011)","journal-title":"Parallel Comput."},{"issue":"3","key":"12_CR15","doi-asserted-by":"publisher","first-page":"268","DOI":"10.1145\/230538.230540","volume":"14","author":"G Gottlob","year":"1996","unstructured":"Gottlob, G., Schrefl, M., R\u00f6ck, B.: Extending object-oriented systems with roles. ACM Trans. Inf. Syst. 14(3), 268\u2013296 (1996)","journal-title":"ACM Trans. Inf. Syst."},{"key":"12_CR16","doi-asserted-by":"crossref","unstructured":"Harris, T., Fraser, K.: Language support for lightweight transactions. In: Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA 2003), pp. 388\u2013402. ACM, New York (2003)","DOI":"10.1145\/949338.949340"},{"key":"12_CR17","doi-asserted-by":"crossref","unstructured":"Herlihy, M., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures. In: Proceedings of the 20th Annual International Symposium on Computer Architecture (ISCA 1993), pp. 289\u2013300. ACM, New York (1993)","DOI":"10.1145\/173682.165164"},{"key":"12_CR18","doi-asserted-by":"crossref","unstructured":"Heumann, S.T., Adve, V.S., Wang, S.: The tasks with effects model for safe concurrency. In: Proceedings of the 18th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 2013), pp. 239\u2013250. ACM, New York (2013)","DOI":"10.1145\/2442516.2442540"},{"key":"12_CR19","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"420","DOI":"10.1007\/11901433_23","volume-title":"Formal Methods and Software Engineering","author":"B Jacobs","year":"2006","unstructured":"Jacobs, B., Smans, J., Piessens, F., Schulte, W.: A statically verifiable programming model for concurrent object-oriented programs. In: Liu, Z., He, J. (eds.) ICFEM 2006. LNCS, vol. 4260, pp. 420\u2013439. Springer, Heidelberg (2006). https:\/\/doi.org\/10.1007\/11901433_23"},{"key":"12_CR20","doi-asserted-by":"crossref","unstructured":"Kawaguchi, M., Rondon, P., Bakst, A., Jhala, R.: Deterministic parallelism via liquid effects. In: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2012), pp. 45\u201354. ACM, New York (2012)","DOI":"10.1145\/2345156.2254071"},{"key":"12_CR21","first-page":"57","volume-title":"1995 International Conference on Object Oriented Information Systems","author":"BB Kristensen","year":"1996","unstructured":"Kristensen, B.B.: Object-Oriented Modeling with Roles. In: Murphy, J., Stone, B. (eds.) OOIS 1995, pp. 57\u201371. Springer, London (1996)"},{"key":"12_CR22","doi-asserted-by":"crossref","unstructured":"Lam, M.S., Rinard, M.C.: Coarse-grain parallel programming in Jade. In: Proceedings of the 3rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 1991), pp. 94\u2013105. ACM, New York (1991)","DOI":"10.1145\/109626.109636"},{"issue":"5","key":"12_CR23","doi-asserted-by":"publisher","first-page":"33","DOI":"10.1109\/MC.2006.180","volume":"39","author":"EA Lee","year":"2006","unstructured":"Lee, E.A.: The problem with threads. Computer 39(5), 33\u201342 (2006)","journal-title":"Computer"},{"key":"12_CR24","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"460","DOI":"10.1007\/978-3-642-24100-0_43","volume-title":"Distributed Computing","author":"L Lu","year":"2011","unstructured":"Lu, L., Scott, M.L.: Toward a formal semantic framework for deterministic parallel programming. In: Peleg, D. (ed.) DISC 2011. LNCS, vol. 6950, pp. 460\u2013474. Springer, Heidelberg (2011). https:\/\/doi.org\/10.1007\/978-3-642-24100-0_43"},{"key":"12_CR25","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"518","DOI":"10.1007\/978-3-642-28869-2_26","volume-title":"Programming Languages and Systems","author":"Y Lu","year":"2012","unstructured":"Lu, Y., Potter, J., Zhang, C., Xue, J.: A type and effect system for determinism in multithreaded programs. In: Seidl, H. (ed.) ESOP 2012. LNCS, vol. 7211, pp. 518\u2013538. Springer, Heidelberg (2012). https:\/\/doi.org\/10.1007\/978-3-642-28869-2_26"},{"key":"12_CR26","doi-asserted-by":"crossref","unstructured":"Lucassen, J.M., Gifford, D.K.: Polymorphic effect systems. In: Proceedings of the 15th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 1988), pp. 47\u201357. ACM, New York (1988)","DOI":"10.1145\/73560.73564"},{"key":"12_CR27","doi-asserted-by":"crossref","unstructured":"Matsakis, N.D., Klock II, F.S.: The rust language. In: Proceedings of the 2014 ACM SIGAda Annual Conference on High Integrity Language Technology (HILT 2014), pp. 103\u2013104. ACM, New York (2014)","DOI":"10.1145\/2692956.2663188"},{"key":"12_CR28","doi-asserted-by":"crossref","unstructured":"Pernici, B.: Objects with roles. In: Proceedings of the ACM SIGOIS and IEEE CS TC-OA Conference on Office Information Systems (COCS 1990), pp. 205\u2013215. ACM, New York (1990)","DOI":"10.1145\/91478.91542"},{"key":"12_CR29","doi-asserted-by":"crossref","unstructured":"Rauchwerger, L., Padua, D.: The LRPD test: speculative run-time parallelization of loops with privatization and reduction parallelization. In: Proceedings of the ACM SIGPLAN 1995 Conference on Programming Language Design and Implementation (PLDI 1995), pp. 218\u2013232. ACM, New York, June 1995","DOI":"10.1145\/223428.207148"},{"key":"12_CR30","unstructured":"Reenskaug, W., Wold, P., Lehne, O.A.: Working with Objects: OORAM Software Engineering Method. J a Majors, Greenwich, June 1995"},{"key":"12_CR31","doi-asserted-by":"crossref","unstructured":"Riehle, D., Gross, T.: Role model based framework design and integration. In: Proceedings of the 13th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 1998), pp. 117\u2013133. ACM, New York (1998)","DOI":"10.1145\/286942.286951"},{"issue":"3","key":"12_CR32","doi-asserted-by":"publisher","first-page":"483","DOI":"10.1145\/291889.291893","volume":"20","author":"MC Rinard","year":"1998","unstructured":"Rinard, M.C., Lam, M.S.: The design, implementation, and evaluation of Jade. ACM Trans. Program. Lang. Syst. 20(3), 483\u2013545 (1998)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"12_CR33","doi-asserted-by":"crossref","unstructured":"Shavit, N., Touitou, D.: Software transactional memory. In: Proceedings of the 14th Annual ACM Symposium on Principles of Distributed Computing (PODC 1995), pp. 204\u2013213. ACM, New York (1995)","DOI":"10.1145\/224964.224987"},{"key":"12_CR34","doi-asserted-by":"crossref","unstructured":"Smith, L.A., Bull, J.M., Obdrz\u00e1lek, J.: A parallel java grande benchmark suite. In: Proceedings of the 2001 ACM\/IEEE Conference on Supercomputing (SC 2001), pp. 8. ACM, New York (2001)","DOI":"10.1145\/582034.582042"},{"key":"12_CR35","doi-asserted-by":"crossref","unstructured":"Sohi, G.S., Breach, S.E., Vijaykumar, T.N.: Multiscalar processors. In: Proceedings of the 22nd Annual International Symposium on Computer Architecture (ISCA 1995), pp. 414\u2013425. ACM, New York, June 1995","DOI":"10.1145\/225830.224451"},{"key":"12_CR36","unstructured":"Steffan, J., Mowry, T.: The potential for using thread-level data speculation to facilitate automatic parallelization. In: Proceedings of the 4th International Symposium on High-Performance Computer Architecture (HPCA 1998), pp. 2\u201313. IEEE Computer Society, Washington DC (1998)"},{"key":"12_CR37","doi-asserted-by":"crossref","unstructured":"Stork, S., Marques, P., Aldrich, J.: Concurrency by default: using permissions to express dataflow in stateful programs. In: Proceedings of the 24th ACM SIGPLAN Conference Companion on Object Oriented Programming Systems Languages and Applications (OOPSLA 2009), pp. 933\u2013940. ACM, New York (2009)","DOI":"10.1145\/1639950.1640060"},{"issue":"1","key":"12_CR38","doi-asserted-by":"publisher","first-page":"2:1","DOI":"10.1145\/2543920","volume":"36","author":"S Stork","year":"2014","unstructured":"Stork, S., et al.: \u00c6minium: a permission-based concurrent-by-default programming language approach. ACM Trans. Program. Lang. Syst. 36(1), 2:1\u20132:42 (2014)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"12_CR39","doi-asserted-by":"crossref","unstructured":"von Praun, C., Ceze, L., Ca\u015fcaval, C.: Implicit parallelism with ordered transactions. In: Proceedings of the 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 2007), pp. 79\u201389. ACM, New York (2007)","DOI":"10.1145\/1229428.1229443"},{"key":"12_CR40","doi-asserted-by":"crossref","unstructured":"Welc, A., Jagannathan, S., Hosking, A.: Safe futures for Java. In: Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2005), pp. 439\u2013453. ACM, New York (2005)","DOI":"10.1145\/1094811.1094845"}],"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-35225-7_12","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,10,6]],"date-time":"2022-10-06T03:33:18Z","timestamp":1665027198000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-35225-7_12"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019]]},"ISBN":["9783030352240","9783030352257"],"references-count":40,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-35225-7_12","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":"15 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":"College Station, TX","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":"2017","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"11 October 2017","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"13 October 2017","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"30","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"lcpc2017","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/parasol.tamu.edu\/lcpc2017\/","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":"Hotcrp.com","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"24","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":"13","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":"4","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":"3","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","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)"}}]}}