{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,11]],"date-time":"2026-04-11T00:44:28Z","timestamp":1775868268883,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":63,"publisher":"ACM","license":[{"start":{"date-parts":[[2022,3,28]],"date-time":"2022-03-28T00:00:00Z","timestamp":1648425600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"The Engineering and Physical Sciences Research Council (EPSRC)","award":["EP\/T006544\/1, EP\/K011715\/1, EP\/K034413\/1, EP\/L00058X\/1, EP\/N027833\/1, EP\/N028201\/1, EP\/T014709\/1, EP\/V000462\/1"],"award-info":[{"award-number":["EP\/T006544\/1, EP\/K011715\/1, EP\/K034413\/1, EP\/L00058X\/1, EP\/N027833\/1, EP\/N028201\/1, EP\/T014709\/1, EP\/V000462\/1"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2022,4,2]]},"DOI":"10.1145\/3503221.3508404","type":"proceedings-article","created":{"date-parts":[[2022,3,28]],"date-time":"2022-03-28T13:58:22Z","timestamp":1648475902000},"page":"246-261","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":20,"title":["Deadlock-free asynchronous message reordering in rust with multiparty session types"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-7180-4530","authenticated-orcid":false,"given":"Zak","family":"Cutner","sequence":"first","affiliation":[{"name":"Imperial College London, London, UK"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3925-8557","authenticated-orcid":false,"given":"Nobuko","family":"Yoshida","sequence":"additional","affiliation":[{"name":"Imperial College London, London, UK"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2057-0495","authenticated-orcid":false,"given":"Martin","family":"Vassor","sequence":"additional","affiliation":[{"name":"Imperial College London, London, UK"}]}],"member":"320","published-online":{"date-parts":[[2022,3,28]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"[n.d.]. Introduction to Protocol Engineering. http:\/\/cs.uccs.edu\/~cs522\/pe\/pe.htm"},{"key":"e_1_3_2_1_2_1","unstructured":"[n.d.]. vScr. https:\/\/github.com\/nuscr\/nuscr"},{"key":"e_1_3_2_1_3_1","unstructured":"[n.d.]. Rumpsteak. https:\/\/github.com\/zakcutner\/rumpsteak"},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1561\/2500000031"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/3110281"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-96142-2_23"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.23638\/LMCS-17(1:20)2021"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.ic.2017.07.010"},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.tcs.2018.02.010"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/3290342"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/3428223"},{"key":"e_1_3_2_1_12_1","volume-title":"Ferrite: A Judgmental Embedding of Session Types in Rust. arXiv:2009.13619 (repository is found at https:\/\/github.com\/ferrite-rs\/ferrite).","author":"Chen Ruofei","year":"2021","unstructured":"Ruofei Chen and Stephanie Balzer. 2021. Ferrite: A Judgmental Embedding of Session Types in Rust. arXiv:2009.13619 (repository is found at https:\/\/github.com\/ferrite-rs\/ferrite)."},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.23638\/LMCS-13(2:12)2017"},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/ESPM251964.2020.00006"},{"key":"e_1_3_2_1_15_1","unstructured":"Alex Crichton. [n.d.]. Futures. https:\/\/github.com\/rust-lang\/futures-rs"},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.5281\/zenodo.5786034"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"crossref","unstructured":"Zak Cutner Nobuko Yoshida and Martin Vassor. 2021. Deadlock-Free Asynchronous Message Reordering in Rust with Multiparty Session Types. (repository is found at https:\/\/arxiv.org\/abs\/2112.12693).","DOI":"10.1145\/3503221.3508404"},{"key":"e_1_3_2_1_18_1","volume-title":"Practical interruptible conversations: Distributed dynamic verification with multiparty session types and Python. FMSD","author":"Demangeon Romain","year":"2015","unstructured":"Romain Demangeon, Kohei Honda, Raymond Hu, Rumyana Neykova, and Nobuko Yoshida. 2015. Practical interruptible conversations: Distributed dynamic verification with multiparty session types and Python. FMSD (2015), 1--29."},{"key":"e_1_3_2_1_19_1","unstructured":"Ryan Donovan. 2020. Why the Developers Who Use Rust Love It so Much. https:\/\/stackoverflow.blog\/2020\/06\/05\/why-the-developers-who-use-rust-love-it-so-much\/"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/3475061.3475082"},{"key":"e_1_3_2_1_21_1","volume-title":"Proceedings of the Fifteenth National Conference on Artificial Intelligence (AAAI). AAAI, 299--304","author":"Edelkamp Stefan","year":"1998","unstructured":"Stefan Edelkamp and Richard E. Korf. 1998. The Branching Factor of Regular Search Spaces. In Proceedings of the Fifteenth National Conference on Artificial Intelligence (AAAI). AAAI, 299--304. https:\/\/www.aaai.org\/Papers\/AAAI\/1998\/AAAI98-042.pdf"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00236-005-0177-z"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","unstructured":"Simon Gay and Ant\u00f3nio Ravara. 2017. Behavioural Types: from Theory to Tools. 1--412. 10.13052\/rp-9788793519817","DOI":"10.13052\/rp-9788793519817"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.13052\/rp-9788793519817"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/3434297"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.ECOOP.2021.10"},{"key":"e_1_3_2_1_27_1","unstructured":"Brook Heisler. [n.d.]. Criterion.rs. https:\/\/github.com\/bheisler\/criterion.rs"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1007\/bfb0053567"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1328438.1328472"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2827695"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-49665-7_24"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-54494-5_7"},{"key":"e_1_3_2_1_33_1","volume-title":"Shin","author":"Huang Hai","year":"2002","unstructured":"Hai Huang, Padmanabhan Pillai, and Kang G. Shin. 2002. Improving Wait-Free Algorithms for Interprocess Communication in Embedded Real-Time Systems. In 2002 USENIX Annual Technical Conference. USENIX Association. https:\/\/www.usenix.org\/legacy\/events\/usenix02\/huang.html"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/2808098.2808100"},{"key":"e_1_3_2_1_35_1","volume-title":"IT University of Copenhagen","author":"Hinrichsen Jonas Kastberg","unstructured":"Jonas Kastberg Hinrichsen. 2021. Sessions and Separation. Ph.D. Dissertation. IT University of Copenhagen, Copenhagen. http:\/\/itu.dk\/people\/jkas\/papers\/thesis.pdf"},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","unstructured":"Ralf Jung. 2020. Understanding and evolving the Rust programming language. 10.22028\/D291-31946","DOI":"10.22028\/D291-31946"},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.cpc.2012.06.003"},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.4204\/eptcs.304.4"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1016\/0004-3702(85)90084-0"},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2017.10.006"},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-50029-0_8"},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-54458-7_26"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-25540-4_6"},{"key":"e_1_3_2_1_44_1","volume-title":"MPI: A Message-Passing Interface Standard. https:\/\/www.mpi-forum.org\/docs\/mpi-4.0\/mpi40-report.pdf (version 4.0).","author":"Interface Forum Message Passing","year":"2021","unstructured":"Message Passing Interface Forum. 2021. MPI: A Message-Passing Interface Standard. https:\/\/www.mpi-forum.org\/docs\/mpi-4.0\/mpi40-report.pdf (version 4.0)."},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/3446804.3446854"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/3178372.3179495"},{"key":"e_1_3_2_1_47_1","volume-title":"Let It Recover: Multiparty Protocol-Induced Recovery. In 26th International Conference on Compiler Construction. ACM, 98--108","author":"Neykova Rumyana","year":"2017","unstructured":"Rumyana Neykova and Nobuko Yoshida. 2017. Let It Recover: Multiparty Protocol-Induced Recovery. In 26th International Conference on Compiler Construction. ACM, 98--108."},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-40787-1_25"},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-46663-6_11"},{"key":"e_1_3_2_1_50_1","unstructured":"David Peter. [n.d.]. Hyperfine. https:\/\/github.com\/sharkdp\/hyperfine"},{"key":"e_1_3_2_1_51_1","unstructured":"Boqin Qin. 2020. rust-lock-bug-detector: Statically Detect Double-Lock & Conflicting-Lock Bugs on MIR. https:\/\/github.com\/BurtonQin\/rust-lock-bug-detector"},{"key":"e_1_3_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/3385412.3386036"},{"key":"e_1_3_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.ECOOP.2017.24"},{"key":"e_1_3_2_1_54_1","unstructured":"Scribble Authors. [n.d.]. Scribble: Describing Multi Party Protocols. http:\/\/www.scribble.org\/"},{"key":"e_1_3_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-96983-1_40"},{"key":"e_1_3_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-58184-7_118"},{"key":"e_1_3_2_1_57_1","unstructured":"The Rust Project Developers. [n.d.]. Procedural Macros. https:\/\/doc.rust-lang.org\/reference\/procedural-macros.html"},{"key":"e_1_3_2_1_58_1","unstructured":"The Rust Project Developers. [n.d.]. The MIR (Mid-level IR). https:\/\/rustc-dev-guide.rust-lang.org\/mir\/index.html"},{"key":"e_1_3_2_1_59_1","unstructured":"Tokio Contributors. [n.d.]. Tokio. https:\/\/github.com\/tokio-rs\/tokio"},{"key":"e_1_3_2_1_60_1","unstructured":"Allen Welkie and Elliott Mahler. [n.d.]. RustFFT. https:\/\/github.com\/ejmahler\/RustFFT"},{"key":"e_1_3_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-36987-3_5"},{"key":"e_1_3_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-05119-2_3"},{"key":"e_1_3_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/3428216"}],"event":{"name":"PPoPP '22: 27th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming","location":"Seoul Republic of Korea","acronym":"PPoPP '22","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","SIGHPC ACM Special Interest Group on High Performance Computing, Special Interest Group on High Performance Computing"]},"container-title":["Proceedings of the 27th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3503221.3508404","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3503221.3508404","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T19:00:49Z","timestamp":1750186849000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3503221.3508404"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,3,28]]},"references-count":63,"alternative-id":["10.1145\/3503221.3508404","10.1145\/3503221"],"URL":"https:\/\/doi.org\/10.1145\/3503221.3508404","relation":{},"subject":[],"published":{"date-parts":[[2022,3,28]]},"assertion":[{"value":"2022-03-28","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}