{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,24]],"date-time":"2026-02-24T16:51:51Z","timestamp":1771951911298,"version":"3.50.1"},"reference-count":130,"publisher":"Association for Computing Machinery (ACM)","issue":"10","license":[{"start":{"date-parts":[[2023,2,2]],"date-time":"2023-02-02T00:00:00Z","timestamp":1675296000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"French ANR CODAS","award":["ANR-17-CE23-0004-01"],"award-info":[{"award-number":["ANR-17-CE23-0004-01"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Comput. Surv."],"published-print":{"date-parts":[[2023,10,31]]},"abstract":"<jats:p>Parallelism is often required for performance. In these situations an excess of non-determinism is harmful as it means the program can have several different behaviours or even different results. Even in domains such as high-performance computing where parallelism is crucial for performance, the computed value should be deterministic. Unfortunately, non-determinism in programs also allows dynamic scheduling of tasks, reacting to the first task that succeeds, cancelling tasks that cannot lead to a result, and so on. Non-determinism is thus both a desired asset or an undesired property depending on the situation. In practice, it is often necessary to limit non-determinism and to identify precisely the sources of non-determinism to control what parts of a program are deterministic or not.<\/jats:p>\n          <jats:p>This survey takes the perspective of programming languages, and studies how programming models can ensure the determinism of parallel programs. This survey studies not only deterministic languages but also programming models that prevent one particularly demanding source of non-determinism: data races.<\/jats:p>\n          <jats:p>Our objective is to compare existing solutions to the following questions: How programming languages can help programmers write programs that run in a parallel manner without visible non-determinism? What programming paradigms ensure this kind of properties? We study these questions and discuss the merits and limitations of different approaches.<\/jats:p>","DOI":"10.1145\/3564529","type":"journal-article","created":{"date-parts":[[2022,9,27]],"date-time":"2022-09-27T11:22:04Z","timestamp":1664277724000},"page":"1-28","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":12,"title":["A Survey on Parallelism and Determinism"],"prefix":"10.1145","volume":"55","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-8013-1611","authenticated-orcid":false,"given":"Laure","family":"Gonnord","sequence":"first","affiliation":[{"name":"LCIS (UGA, Grenoble INP), France and LIP (EnsL, UCBL, CNRS, Inria), Lyon, France"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-7137-3523","authenticated-orcid":false,"given":"Ludovic","family":"Henrio","sequence":"additional","affiliation":[{"name":"CNRS, EnsL, UCBL, Inria, LIP, Lyon, France"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0246-1930","authenticated-orcid":false,"given":"Lionel","family":"Morel","sequence":"additional","affiliation":[{"name":"INSA de Lyon, CITI Lab, Villeurbanne, France"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2107-7678","authenticated-orcid":false,"given":"Gabriel","family":"Radanne","sequence":"additional","affiliation":[{"name":"Inria, EnsL, UCBL, CNRS, LIP, Lyon, France"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2023,2,2]]},"reference":[{"key":"e_1_3_2_2_2","first-page":"265","volume-title":"Proceedings of the USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201916)","volume":"16","author":"Abadi Mart\u00edn","year":"2016","unstructured":"Mart\u00edn Abadi, Paul Barham, Jianmin Chen, Zhifeng Chen, Andy Davis, Jeffrey Dean, Matthieu Devin, Sanjay Ghemawat, Geoffrey Irving, Michael Isard, et\u00a0al. 2016. TensorFlow: A system for large-scale machine learning. In Proceedings of the USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201916), Vol. 16. 265\u2013283."},{"key":"e_1_3_2_3_2","doi-asserted-by":"publisher","DOI":"10.1145\/3088525.3088527"},{"key":"e_1_3_2_4_2","doi-asserted-by":"publisher","DOI":"10.1109\/2.546611"},{"key":"e_1_3_2_5_2","doi-asserted-by":"publisher","DOI":"10.1145\/1229428.1229471"},{"key":"e_1_3_2_6_2","doi-asserted-by":"publisher","DOI":"10.5555\/7929"},{"key":"e_1_3_2_7_2","doi-asserted-by":"publisher","DOI":"10.1145\/1122445.1122456"},{"key":"e_1_3_2_8_2","doi-asserted-by":"publisher","DOI":"10.1145\/1639950.1640073"},{"key":"e_1_3_2_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/3446804.3446847"},{"key":"e_1_3_2_10_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.procs.2013.05.330"},{"key":"e_1_3_2_11_2","doi-asserted-by":"publisher","DOI":"10.1145\/356458.1008651"},{"key":"e_1_3_2_12_2","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2019.8661197"},{"key":"e_1_3_2_13_2","doi-asserted-by":"crossref","first-page":"55","DOI":"10.1145\/800228.806932","volume-title":"Proceedings of the Symposium on Artificial Intelligence and Programming Languages","author":"Jr. Henry G. Baker","year":"1977","unstructured":"Henry G. Baker Jr. and Carl Hewitt. 1977. The incremental garbage collection of processes. In Proceedings of the Symposium on Artificial Intelligence and Programming Languages. 55\u201359."},{"key":"e_1_3_2_14_2","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0026821"},{"key":"e_1_3_2_15_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-21487-5_4"},{"key":"e_1_3_2_16_2","doi-asserted-by":"publisher","DOI":"10.1145\/1229428.1229463"},{"key":"e_1_3_2_17_2","volume-title":"Proceedings of the ACM SIGOPS Conference Principles and Practice of Parallel Programming (PPoPP\u201907)","author":"Baude F.","year":"2007","unstructured":"F. Baude, D. Caromel, C. Delb\u00e9, and L. Henrio. 2007. Promised messages: Recovering from inconsistent global states. In Proceedings of the ACM SIGOPS Conference Principles and Practice of Parallel Programming (PPoPP\u201907)."},{"key":"e_1_3_2_18_2","doi-asserted-by":"publisher","DOI":"10.1145\/3158093"},{"key":"e_1_3_2_19_2","volume-title":"Proof, Language and Interaction: Essays in Honour of Robin Milner","author":"Berry G\u00e9rard","year":"2000","unstructured":"G\u00e9rard Berry. 2000. The foundations of Esterel. In Proof, Language and Interaction: Essays in Honour of Robin Milner. MIT Press."},{"key":"e_1_3_2_20_2","doi-asserted-by":"publisher","DOI":"10.1023\/A:1008796718837"},{"key":"e_1_3_2_21_2","doi-asserted-by":"publisher","DOI":"10.1109\/78.485935"},{"key":"e_1_3_2_22_2","doi-asserted-by":"publisher","DOI":"10.1145\/3122848"},{"key":"e_1_3_2_23_2","doi-asserted-by":"crossref","first-page":"101","DOI":"10.1145\/1375581.1375595","volume-title":"Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI\u201908)","author":"Bondhugula Uday","year":"2008","unstructured":"Uday Bondhugula, Albert Hartono, Jagannathan Ramanujam, and Ponnuswamy Sadayappan. 2008. A practical automatic polyhedral parallelizer and locality optimizer. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI\u201908). 101\u2013113."},{"key":"e_1_3_2_24_2","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-45337-7_2"},{"key":"e_1_3_2_25_2","doi-asserted-by":"publisher","DOI":"10.1145\/1040305.1040329"},{"key":"e_1_3_2_26_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-18941-3_1"},{"key":"e_1_3_2_27_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-18941-3_1"},{"key":"e_1_3_2_28_2","doi-asserted-by":"crossref","first-page":"731","DOI":"10.1109\/TC.1984.5009358","article-title":"Systolic VLSI arrays for polynomial GCD computation","author":"Brent Richard","year":"1984","unstructured":"Richard Brent and Hsiang-Tsung Kung. 1984. Systolic VLSI arrays for polynomial GCD computation. IEEE Trans. Comput. (1984), 731\u2013736.","journal-title":"IEEE Trans. Comput."},{"key":"e_1_3_2_29_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.procs.2010.04.234"},{"key":"e_1_3_2_30_2","doi-asserted-by":"publisher","DOI":"10.12921\/cmst.2006.12.01.69-77"},{"key":"e_1_3_2_31_2","volume-title":"A Theory of Distributed Objects","author":"Caromel Denis","year":"2005","unstructured":"Denis Caromel and Ludovic Henrio. 2005. A Theory of Distributed Objects. Springer-Verlag."},{"key":"e_1_3_2_32_2","doi-asserted-by":"publisher","DOI":"10.1145\/964001.964012"},{"key":"e_1_3_2_33_2","doi-asserted-by":"crossref","first-page":"72","DOI":"10.1007\/978-3-540-74466-5_9","volume-title":"Euro-Par 2007: Parallel Processing","author":"Caromel Denis","year":"2007","unstructured":"Denis Caromel and Mario Leyton. 2007. Fine tuning algorithmic skeletons. In Euro-Par 2007: Parallel Processing, Anne-Marie Kermarrec, Luc Boug\u00e9, and Thierry Priol (Eds.). Springer, Berlin, 72\u201381."},{"key":"e_1_3_2_34_2","series-title":"Proceedings of the 1st International Conference on Parallel Processing (EURO-PAR\u201995),","first-page":"15","volume":"966","author":"Caspi Paul","year":"1995","unstructured":"Paul Caspi and Alain Girault. 1995. Execution of distributed reactive systems. In Proceedings of the 1st International Conference on Parallel Processing (EURO-PAR\u201995),Lecture Notes in Computer Science, S. Haridi, K. Ali, and P. Magnusson (Eds.), Vol. 966. Springer-Verlag, Berlin, 15\u201326."},{"key":"e_1_3_2_35_2","doi-asserted-by":"publisher","DOI":"10.1145\/1331331.1331339"},{"key":"e_1_3_2_36_2","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.ECOOP.2017.6"},{"key":"e_1_3_2_37_2","doi-asserted-by":"publisher","DOI":"10.1145\/1094811.1094852"},{"key":"e_1_3_2_38_2","doi-asserted-by":"publisher","DOI":"10.1145\/2790077"},{"key":"e_1_3_2_39_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-0348-8534-8_21"},{"key":"e_1_3_2_40_2","volume-title":"Proceedings of the ACM International Conference on Embedded Software (EMSOFT\u201912)","author":"Cohen Albert","year":"2012","unstructured":"Albert Cohen, L\u00e9onard G\u00e9rard, and Marc Pouzet. 2012. Programming parallelism with futures in Lustre. In Proceedings of the ACM International Conference on Embedded Software (EMSOFT\u201912). ACM, New York, NY."},{"key":"e_1_3_2_41_2","volume-title":"Algorithmic Skeletons: Structured Management of Parallel Computation","author":"Cole Murray","year":"1991","unstructured":"Murray Cole. 1991. Algorithmic Skeletons: Structured Management of Parallel Computation. MIT Press, Cambridge, MA."},{"key":"e_1_3_2_42_2","volume-title":"Proceedings of the International Conference on Real-Time and Network Systems (RTNS\u20192011)","author":"Cordovilla Mikel","year":"2011","unstructured":"Mikel Cordovilla, Fr\u00e9d\u00e9ric Boniol, Julien Forget, Eric Noulard, and Claire Pagetti. 2011. Developing critical embedded systems on multicore architectures: The Prelude-SchedMCore toolset. In Proceedings of the International Conference on Real-Time and Network Systems (RTNS\u20192011). Irccyn, Nantes, France."},{"key":"e_1_3_2_43_2","doi-asserted-by":"publisher","DOI":"10.1145\/115372.115320"},{"key":"e_1_3_2_44_2","doi-asserted-by":"publisher","DOI":"10.1145\/3167132.3167254"},{"key":"e_1_3_2_45_2","doi-asserted-by":"publisher","DOI":"10.1109\/99.660313"},{"key":"e_1_3_2_46_2","doi-asserted-by":"publisher","DOI":"10.1109\/99.660313"},{"key":"e_1_3_2_47_2","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2005.167"},{"key":"e_1_3_2_48_2","doi-asserted-by":"publisher","DOI":"10.1007\/11785477_16"},{"key":"e_1_3_2_49_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10626-013-0163-5"},{"key":"e_1_3_2_50_2","doi-asserted-by":"crossref","first-page":"59","DOI":"10.1145\/378795.378811","volume-title":"Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI\u201901)","author":"DeLine Robert","year":"2001","unstructured":"Robert DeLine and Manuel F\u00e4hndrich. 2001. Enforcing high-level protocols in low-level software. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI\u201901). ACM, 59\u201369."},{"key":"e_1_3_2_51_2","doi-asserted-by":"crossref","first-page":"362","DOI":"10.1007\/3-540-06859-7_145","volume-title":"Proceedings of the Symposium on Programming","author":"Dennis Jack B.","year":"1974","unstructured":"Jack B. Dennis. 1974. First version of a data flow procedure language. In Proceedings of the Symposium on Programming. 362\u2013376."},{"key":"e_1_3_2_52_2","doi-asserted-by":"publisher","DOI":"10.1504\/IJES.2008.02029"},{"key":"e_1_3_2_53_2","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2011.308"},{"key":"e_1_3_2_54_2","doi-asserted-by":"publisher","DOI":"10.1109\/DFM.2014.13"},{"key":"e_1_3_2_55_2","doi-asserted-by":"publisher","DOI":"10.1145\/2380356.2380383"},{"key":"e_1_3_2_56_2","unstructured":"Johan Eker and J\u00f6rn W. Janneck. 2001. An introduction to the Caltrop actor language. University of California at Berkeley."},{"key":"e_1_3_2_57_2","unstructured":"Johan Eker and J\u00f6rn W. Janneck. 2003. CAL Language Report: Specification of the CAL Actor Language. ERL Technical Memo UCB\/ERL M03\/48 University of California at Berkeley."},{"key":"e_1_3_2_58_2","doi-asserted-by":"publisher","DOI":"10.1145\/1165389.945468"},{"key":"e_1_3_2_59_2","first-page":"37","volume-title":"Proceedings of the IEEE Workshop on Signal Processing Systems (SiPS\u201911)","author":"Ersfolk Johan","year":"2011","unstructured":"Johan Ersfolk, Ghislain Roquier, Fareed Jokhio, Johan Lilius, and Marco Mattavelli. 2011. Scheduling of dynamic dataflow programs with model checking. In Proceedings of the IEEE Workshop on Signal Processing Systems (SiPS\u201911). IEEE, 37\u201342."},{"key":"e_1_3_2_60_2","doi-asserted-by":"publisher","DOI":"10.1145\/2938369"},{"key":"e_1_3_2_61_2","doi-asserted-by":"publisher","DOI":"10.1007\/BF01407835"},{"key":"e_1_3_2_62_2","doi-asserted-by":"publisher","DOI":"10.1007\/BF01379404"},{"key":"e_1_3_2_63_2","doi-asserted-by":"publisher","DOI":"10.1145\/1583991.1584017"},{"key":"e_1_3_2_64_2","doi-asserted-by":"publisher","DOI":"10.1145\/2248418.2248426"},{"key":"e_1_3_2_65_2","doi-asserted-by":"publisher","DOI":"10.1145\/2967973.2968599"},{"key":"e_1_3_2_66_2","unstructured":"ENTCS Proceedings of the International Workshop on Synchronous Languages Applications and Programs (SLAP\u201905) Alain Girault F. Maraninchi M. Pouzet V. Roy A survey of automatic distribution method for synchronous programs 2005"},{"key":"e_1_3_2_67_2","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-45828-X_20"},{"key":"e_1_3_2_68_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.v40:12"},{"key":"e_1_3_2_69_2","volume-title":"Compiler Techniques for Scalable Performance of Stream Programs on Multicore Architectures","author":"Gordon Michael I.","year":"2010","unstructured":"Michael I. Gordon. 2010. Compiler Techniques for Scalable Performance of Stream Programs on Multicore Architectures. Ph.D. Dissertation. Massachusetts Institute of Technology."},{"key":"e_1_3_2_70_2","doi-asserted-by":"publisher","DOI":"10.1145\/512529.512563"},{"key":"e_1_3_2_71_2","doi-asserted-by":"publisher","DOI":"10.1145\/1345206.1345233"},{"key":"e_1_3_2_72_2","doi-asserted-by":"publisher","DOI":"10.1145\/2338967.2336808"},{"key":"e_1_3_2_73_2","unstructured":"LNCS Proceedings of the 20th IFIP WG 6.1 International Conference (COORDINATION\u201918) Held as Part of the 13th International Federated Conference on Distributed Computing Techniques (DisCoTec\u201918) Ga\u00e9tan Hains Ludovic Henrio Pierre Leca Wijnand Suijlen Giovanna Di Marzo Serugendo Michele Loreti Active objects for coordinating BSP computations (short paper) 2018"},{"key":"e_1_3_2_74_2","volume-title":"Proceedings of the 3th ACM-IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE\u201905)","author":"Halbwachs Nicolas","year":"2005","unstructured":"Nicolas Halbwachs. 2005. A synchronous language at work: The story of Lustre. In Proceedings of the 3th ACM-IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE\u201905)."},{"key":"e_1_3_2_75_2","doi-asserted-by":"publisher","DOI":"10.1109\/5.97300"},{"key":"e_1_3_2_76_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.tcs.2008.09.019"},{"key":"e_1_3_2_77_2","doi-asserted-by":"publisher","DOI":"10.1145\/4472.4478"},{"issue":"5","key":"e_1_3_2_78_2","doi-asserted-by":"crossref","first-page":"519","DOI":"10.1002\/cpe.956","article-title":"JAC: Declarative Java concurrency","volume":"18","author":"Haustein M.","year":"2006","unstructured":"M. Haustein and K. P. Lohr. 2006. JAC: Declarative Java concurrency. Concurr. Comput.: Pract. Exp. 18, 5 (2006), 519\u2013546.","journal-title":"Concurr. Comput.: Pract. Exp."},{"key":"e_1_3_2_79_2","doi-asserted-by":"crossref","first-page":"160","DOI":"10.1007\/978-3-319-03850-6_12","volume-title":"Principles of Distributed Systems","author":"Hayduk Yaroslav","year":"2013","unstructured":"Yaroslav Hayduk, Anita Sobe, Derin Harmanci, Patrick Marlier, and Pascal Felber. 2013. Speculative concurrent processing with transactional memory in the actor model. In Principles of Distributed Systems, Roberto Baldoni, Nicolas Nisse, and Maarten van Steen (Eds.). Springer International Publishing, Cham, 160\u2013175."},{"key":"e_1_3_2_80_2","doi-asserted-by":"publisher","DOI":"10.1145\/3062341.3062354"},{"key":"e_1_3_2_81_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-63461-2_10"},{"key":"e_1_3_2_82_2","doi-asserted-by":"publisher","DOI":"10.1145\/78969.78972"},{"key":"e_1_3_2_83_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.procs.2017.05.123"},{"key":"e_1_3_2_84_2","series-title":"Proceedings of the 9th International Symposium on Formal Methods for Components and Objects (FMCO\u201911)","first-page":"142","volume":"6957","author":"Johnsen Einar Broch","year":"2011","unstructured":"Einar Broch Johnsen, Reiner H\u00e4hnle, Jan Sch\u00e4fer, Rudolf Schlatte, and Martin Steffen. 2011. ABS: A core language for abstract behavioral specification. In Proceedings of the 9th International Symposium on Formal Methods for Components and Objects (FMCO\u201911), Bernhard Aichernig, Frank S. de Boer, and Marcello M. Bonsangue (Eds.). Lecture Notes in Computer Science, Vol. 6957. 142\u2013164."},{"key":"e_1_3_2_85_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10270-006-0011-2"},{"key":"e_1_3_2_86_2","first-page":"193","volume-title":"Proceedings of the Norwegian Informatics Conference (NIK\u201903)","author":"Johnsen Einar Broch","year":"2003","unstructured":"Einar Broch Johnsen, Olaf Owe, and Marte Arnestad. 2003. Combining active and reactive behavior in concurrent objects. In Proceedings of the Norwegian Informatics Conference (NIK\u201903), Dag Langmyhr (Ed.). Tapir Academic Publisher, 193\u2013204."},{"key":"e_1_3_2_87_2","doi-asserted-by":"publisher","DOI":"10.1145\/1640089.1640097"},{"key":"e_1_3_2_88_2","doi-asserted-by":"publisher","DOI":"10.1145\/3158154"},{"key":"e_1_3_2_89_2","volume-title":"Information Processing","author":"Kahn Gilles","year":"1974","unstructured":"Gilles Kahn. 1974. The semantics of a simple language for parallel programming. In Information Processing. North-Holland."},{"key":"e_1_3_2_90_2","doi-asserted-by":"publisher","DOI":"10.1137\/0114108"},{"key":"e_1_3_2_91_2","doi-asserted-by":"publisher","DOI":"10.1145\/321406.321418"},{"key":"e_1_3_2_92_2","first-page":"13","volume-title":"Proceedings of the Mitteilungen - Gesellschaft f\u00fcr Informatik e.V., Parallel-Algorithmen und Rechnerstrukturen","volume":"24","author":"Kessler Christoph W.","year":"2007","unstructured":"Christoph W. Kessler and J\u00f6rg Keller. 2007. Models for parallel computing: Review and perspectives. In Proceedings of the Mitteilungen - Gesellschaft f\u00fcr Informatik e.V., Parallel-Algorithmen und Rechnerstrukturen. vol. 24, 13\u201329."},{"key":"e_1_3_2_93_2","doi-asserted-by":"publisher","DOI":"10.1145\/360827.360844"},{"key":"e_1_3_2_94_2","doi-asserted-by":"publisher","DOI":"10.1145\/3377555.3377886"},{"key":"e_1_3_2_95_2","doi-asserted-by":"publisher","DOI":"10.1109\/SBAC-PAD.2013.8"},{"key":"e_1_3_2_96_2","doi-asserted-by":"publisher","DOI":"10.1142\/S0218126603000763"},{"key":"e_1_3_2_97_2","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1987.5009446"},{"key":"e_1_3_2_98_2","doi-asserted-by":"publisher","DOI":"10.1109\/FDL.2019.8876922"},{"key":"e_1_3_2_99_2","doi-asserted-by":"publisher","DOI":"10.1145\/73560.73564"},{"key":"e_1_3_2_100_2","doi-asserted-by":"publisher","DOI":"10.1145\/1807167.1807184"},{"key":"e_1_3_2_101_2","doi-asserted-by":"publisher","DOI":"10.1145\/2663171.2663188"},{"key":"e_1_3_2_102_2","doi-asserted-by":"publisher","DOI":"10.1145\/165123.165164"},{"key":"e_1_3_2_103_2","doi-asserted-by":"publisher","DOI":"10.1145\/1708016.1708027"},{"key":"e_1_3_2_104_2","doi-asserted-by":"publisher","DOI":"10.1007\/11580850_12"},{"key":"e_1_3_2_105_2","unstructured":"Lecture Notes in Computer Science Proceedings of the International Conference on Verification Model Checking and Abstract Interpretation (VMCAI\u201915) 8931 Antoine Min\u00e9 Astr\u00e9eA: A static analyzer for large embedded multi-task software 2015"},{"key":"e_1_3_2_106_2","doi-asserted-by":"publisher","DOI":"10.1145\/3314221.3314646"},{"key":"e_1_3_2_107_2","doi-asserted-by":"publisher","DOI":"10.1145\/2951913.2951925"},{"key":"e_1_3_2_108_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.tcs.2006.08.016"},{"key":"e_1_3_2_109_2","doi-asserted-by":"publisher","DOI":"10.1145\/3408985"},{"key":"e_1_3_2_110_2","doi-asserted-by":"publisher","DOI":"10.1145\/73560.73562"},{"key":"e_1_3_2_111_2","first-page":"275","article-title":"JCoBox: Generalizing active objects to concurrent components","author":"Schafer Jan","year":"2010","unstructured":"Jan Schafer and Arnd Poetzsch-Heffter. 2010. JCoBox: Generalizing active objects to concurrent components. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP\u201910). 275\u2013299.","journal-title":"Proceedings of the European Conference on Object-Oriented Programming (ECOOP\u201910)"},{"key":"e_1_3_2_112_2","doi-asserted-by":"crossref","first-page":"53","DOI":"10.1145\/2370816.2370826","volume-title":"Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT\u201912)","author":"Schneider Scott","year":"2012","unstructured":"Scott Schneider, Martin Hirzel, Bugra Gedik, and Kun-Lung Wu. 2012. Auto-parallelizing stateful distributed streaming applications. In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT\u201912). ACM, 53\u201364."},{"key":"e_1_3_2_113_2","doi-asserted-by":"publisher","DOI":"10.1145\/224964.224987"},{"key":"e_1_3_2_114_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-58589-0_2"},{"key":"e_1_3_2_115_2","doi-asserted-by":"publisher","DOI":"10.1145\/280277.280278"},{"key":"e_1_3_2_116_2","volume-title":"Beyond the Realm of the Polyhedral Model: Combining Speculative Program Parallelization with Polyhedral Compilation","author":"Sukumaran-Rajam Aravind","year":"2015","unstructured":"Aravind Sukumaran-Rajam. 2015. Beyond the Realm of the Polyhedral Model: Combining Speculative Program Parallelization with Polyhedral Compilation. Theses. Universit\u00e9 de Strasbourg."},{"key":"e_1_3_2_117_2","first-page":"302","volume-title":"Proceedings of the European Conference on Object-Oriented Programming (ECOOP\u201913)","author":"Tasharofi Samira","year":"2013","unstructured":"Samira Tasharofi, Peter Dinges, and Ralph E. Johnson. 2013. Why do scala developers mix the actor model with other concurrency models? In Proceedings of the European Conference on Object-Oriented Programming (ECOOP\u201913). 302\u2013326."},{"key":"e_1_3_2_118_2","doi-asserted-by":"publisher","DOI":"10.1090\/dimacs\/018\/18"},{"key":"e_1_3_2_119_2","unstructured":"Actix Team. Actix: Actor Framework for Rust. Retrieved from https:\/\/github.com\/actix\/actix."},{"key":"e_1_3_2_120_2","unstructured":"Rayon Team. Rayon: Data Parallelism for Rust. Retrieved from https:\/\/github.com\/rayon-rs\/rayon."},{"key":"e_1_3_2_121_2","unstructured":"Tokio Team. Tokio: Asynchronous Programming for Rust. Retrieved from https:\/\/tokio.rs\/."},{"key":"e_1_3_2_122_2","volume-title":"Language and Compiler Support for Stream Programs","author":"Thies William","year":"2009","unstructured":"William Thies. 2009. Language and Compiler Support for Stream Programs. Ph.D. Dissertation. Massachusetts Institute of Technology."},{"key":"e_1_3_2_123_2","doi-asserted-by":"publisher","DOI":"10.1145\/1926385.1926436"},{"key":"e_1_3_2_124_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-45234-6_7"},{"key":"e_1_3_2_125_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-45234-6_7"},{"key":"e_1_3_2_126_2","doi-asserted-by":"publisher","DOI":"10.1145\/79173.79181"},{"key":"e_1_3_2_127_2","volume-title":"Advanced Topics in Types and Programming Languages","author":"Walker David","year":"2002","unstructured":"David Walker. 2002. Substructural type systems. In Advanced Topics in Types and Programming Languages, Benjamin Pierce (Ed.)."},{"key":"e_1_3_2_128_2","unstructured":"Aaron Weiss Daniel Patterson Nicholas D. Matsakis and Amal Ahmed. 2019. Oxide: The essence of rust. arxiv:1903.00982. Retrieved from http:\/\/arxiv.org\/abs\/1903.00982."},{"key":"e_1_3_2_129_2","doi-asserted-by":"publisher","DOI":"10.5555\/2663429"},{"key":"e_1_3_2_130_2","doi-asserted-by":"publisher","DOI":"10.1145\/2442516.2442520"},{"key":"e_1_3_2_131_2","doi-asserted-by":"crossref","first-page":"116","DOI":"10.1145\/2024724.2024752","volume-title":"Proceedings of the 48th ACM\/EDAC\/IEEE Design Automation Conference (DAC\u201911)","author":"Zhai J. T.","year":"2011","unstructured":"J. T. Zhai, H. Nikolov, and T. Stefanov. 2011. Modeling adaptive streaming applications with parameterized polyhedral process networks. In Proceedings of the 48th ACM\/EDAC\/IEEE Design Automation Conference (DAC\u201911). 116\u2013121."}],"container-title":["ACM Computing Surveys"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3564529","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3564529","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T18:09:10Z","timestamp":1750183750000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3564529"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,2,2]]},"references-count":130,"journal-issue":{"issue":"10","published-print":{"date-parts":[[2023,10,31]]}},"alternative-id":["10.1145\/3564529"],"URL":"https:\/\/doi.org\/10.1145\/3564529","relation":{},"ISSN":["0360-0300","1557-7341"],"issn-type":[{"value":"0360-0300","type":"print"},{"value":"1557-7341","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,2,2]]},"assertion":[{"value":"2021-04-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-08-11","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-02-02","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}