{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,1]],"date-time":"2026-04-01T04:29:50Z","timestamp":1775017790225,"version":"3.50.1"},"reference-count":68,"publisher":"Pleiades Publishing Ltd","issue":"6","license":[{"start":{"date-parts":[[2021,11,1]],"date-time":"2021-11-01T00:00:00Z","timestamp":1635724800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2021,11,1]],"date-time":"2021-11-01T00:00:00Z","timestamp":1635724800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Program Comput Soft"],"published-print":{"date-parts":[[2021,11]]},"DOI":"10.1134\/s0361768821060050","type":"journal-article","created":{"date-parts":[[2021,12,2]],"date-time":"2021-12-02T23:52:16Z","timestamp":1638489136000},"page":"439-456","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":8,"title":["A Survey of Programming Language Memory Models"],"prefix":"10.1134","volume":"47","author":[{"given":"E.","family":"Moiseenko","sequence":"first","affiliation":[]},{"given":"A.","family":"Podkopaev","sequence":"additional","affiliation":[]},{"given":"D.","family":"Koznov","sequence":"additional","affiliation":[]}],"member":"137","published-online":{"date-parts":[[2021,12,3]]},"reference":[{"key":"3610_CR1","series-title":"Cooperating sequential processes","volume-title":"The Origin of Concurrent Programming","author":"E.W. Dijkstra","year":"1968","unstructured":"Dijkstra, E.W., Cooperating sequential processes, in The Origin of Concurrent Programming, Springer, 1968, pp. 65\u2013138."},{"key":"3610_CR2","doi-asserted-by":"publisher","first-page":"690","DOI":"10.1109\/TC.1979.1675439","volume":"28","author":"L. Lamport","year":"1979","unstructured":"Lamport, L., How to make a multiprocessor computer that correctly executes multiprocess programs, IEEE Trans. Comput., 1979, vol. 28, no. 9, pp. 690\u2013691.","journal-title":"IEEE Trans. Comput."},{"key":"3610_CR3","doi-asserted-by":"crossref","unstructured":"Manson, J., Pugh, W., and Adve, S.V., The Java memory model, Conference Record of the Annual ACM Symposium on Principles of Programming Languages, Jan. 12\u201314, 2005, pp. 378\u2013391.","DOI":"10.1145\/1040305.1040336"},{"key":"3610_CR4","doi-asserted-by":"crossref","unstructured":"Bender, J. and Palsberg, J., A formalization of Java\u2019s concurrent access modes, Proc. ACM Program. Lang., 2019, vol. 3, no. OOPSLA, pp. 1\u201328.","DOI":"10.1145\/3360568"},{"key":"3610_CR5","doi-asserted-by":"crossref","unstructured":"Batty, M., Owens, S., Sarkar, S., Sewell, P., and Weber, T., Mathematizing C++ concurrency, Proc. POPL\u20192011, Jan. 26\u201328, 2011, pp. 55\u201366.","DOI":"10.1145\/1926385.1926394"},{"key":"3610_CR6","doi-asserted-by":"crossref","unstructured":"Chakraborty, S. and Vafeiadis, V., Formalizing the concurrency semantics of an LLVM fragment, Proc. IEEE\/ACM Int. Symp. on Code Generation and Optimization (CGO), Feb. 4\u20138, 2017, pp. 100\u2013110.","DOI":"10.1109\/CGO.2017.7863732"},{"key":"3610_CR7","doi-asserted-by":"crossref","unstructured":"Watt, C., Pulte, C., Podkopaev, A., Barbier, G., Dolan, S., Flur, S., Pichon-Pharabod, J., and Guo, S.-Y., Repairing and mechanising the JavaScript relaxed memory model, in Proc. 41st ACM SIGPLAN Conf. on Programming Language Design and Implementation, New York: Association for Computing Machinery, 2020, pp. 346\u2013361.","DOI":"10.1145\/3385412.3385973"},{"key":"3610_CR8","doi-asserted-by":"publisher","first-page":"283","DOI":"10.1145\/3155284.3018746","volume":"52","author":"M. Vollmer","year":"2017","unstructured":"Vollmer, M., Scott, R.G., Musuvathi, M., and Newton, R.R., SC-Haskell: sequential consistency in languages that minimize mutable shared heap, ACM SIGPLAN Not., 2017, vol. 52, no. 8, pp. 283\u2013298.","journal-title":"ACM SIGPLAN Not."},{"key":"3610_CR9","doi-asserted-by":"publisher","first-page":"89","DOI":"10.1145\/1785414.1785443","volume":"53","author":"P. Sewell","year":"2010","unstructured":"Sewell, P., Sarkar, S., Owens, S., Nardelli, F.Z., and Myreen, M.O., x86-TSO: a rigorous and usable programmer\u2019s model for x86 multiprocessors, Commun. ACM, 2010, vol. 53, no. 7, pp. 89\u201397.","journal-title":"Commun. ACM"},{"key":"3610_CR10","doi-asserted-by":"crossref","unstructured":"Alglave, J., Fox, A., Ishtiaq, S., Myreen, M.O., Sarkar, S., Sewell, P., and Nardelli, F.Z., The semantics of power and ARM multiprocessor machine code, Proc. 4th Workshop on Declarative Aspects of Multicore Programming, 2009, pp. 13\u201324.","DOI":"10.1145\/1481839.1481842"},{"key":"3610_CR11","doi-asserted-by":"crossref","unstructured":"Sarkar, S., Sewell, P., Alglave, J., Maranget, L., and Williams, D., Understanding POWER multiprocessors, Proc. 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation PLDI\u201911, 2011, pp. 175\u2013186.","DOI":"10.1145\/1993498.1993520"},{"key":"3610_CR12","doi-asserted-by":"crossref","unstructured":"Alglave, J., Maranget, L., and Tautschnig, M., Herding cats: modelling, simulation, testing, and data mining for weak memory, ACM Trans. Program. Lang. Syst., 2014, vol. 36, no. 2, pp. 7:1\u20137:74.","DOI":"10.1145\/2627752"},{"key":"3610_CR13","doi-asserted-by":"crossref","unstructured":"Chong, N. and Ishtiaq, S., Reasoning about the ARM weakly consistent memory model, Proc. ACM SIGPLAN Workshop on Memory Systems Performance and Correctness: Held in Conjunction with the 13th Int. Conf. on Architectural Support for Programming Languages and Operating Systems (ASPLOS\u201908), Seattle, 2008, pp. 16\u201319.","DOI":"10.1145\/1353522.1353528"},{"key":"3610_CR14","doi-asserted-by":"crossref","unstructured":"Pulte, C., Flur, S., Deacon, W., French, J., Sarkar, S., and Sewell, P., Simplifying ARM concurrency: multicopy-atomic axiomatic and operational models for ARMv8, Proc. ACM Program. Lang., 2018, vol. 2, no.\u00a0POPL, pp. 1\u201329.","DOI":"10.1145\/3158107"},{"key":"3610_CR15","doi-asserted-by":"publisher","first-page":"608","DOI":"10.1145\/2914770.2837615","volume":"51","author":"S. Flur","year":"2016","unstructured":"Flur, S., Gray, K.E., Pulte, C., Sarkar, S., Sezgin, A., Maranget, L., Deacon, W., and Sewell, P., Modelling the ARMv8 architecture, operationally: concurrency and ISA, ACM SIGPLAN Not., 2016, vol. 51, no. 1, pp.\u00a0608\u2013621.","journal-title":"ACM SIGPLAN Not."},{"key":"3610_CR16","doi-asserted-by":"crossref","unstructured":"Boehm, H.-J. and Demsky, B., Outlawing ghosts: avoiding out-of-thin-air results, Proc. Workshop on Memory Systems Performance and Correctness MSPC\u201914, Edinburgh, 2014, pp. 7:1\u20137:6.","DOI":"10.1145\/2618128.2618134"},{"key":"3610_CR17","doi-asserted-by":"crossref","unstructured":"Kang, J., Hur, C.-K., Lahav, O., Vafeiadis, V., and Dreyer, D., A promising semantics for relaxed-memory concurrency, Proc. 44th ACM SIGPLAN Symp. on Principles of Programming Languages POPL 2017, Paris, 2017.","DOI":"10.1145\/3009837.3009850"},{"key":"3610_CR18","doi-asserted-by":"crossref","unstructured":"Lee, S.-H., Cho, M., Podkopaev, A., Chakraborty, S., Hur, C.-K., Lahav, O., and Vafeiadis, V., Promising 2.0: global optimizations in relaxed memory concurrency, Proc. 41st ACM SIGPLAN Conf. on Programming Language Design and Implementation, 2020, pp. 362\u2013376.","DOI":"10.1145\/3385412.3386010"},{"key":"3610_CR19","doi-asserted-by":"crossref","unstructured":"Chakraborty, S. and Vafeiadis, V., Grounding thin-air reads with event structures, Proc. ACM Program. Lang., 2019, vol. 3, no. POPL, pp. 1\u201328.","DOI":"10.1145\/3290383"},{"key":"3610_CR20","doi-asserted-by":"crossref","unstructured":"Paviotti, M., Cooksey, S., Paradis, A., Wright, D., Owens, S., and Batty, M., Modular relaxed dependencies in weak memory concurrency, in Proc. European Symp. on Programming, Cham: Springer, 2020, pp. 599\u2013625.","DOI":"10.1007\/978-3-030-44914-8_22"},{"key":"3610_CR21","doi-asserted-by":"crossref","unstructured":"Lahav, O., Vafeiadis, V., Kang, J., Hur, C.-K., and Dreyer, D., Repairing sequential consistency in C\/C++11, Proc. 38th ACM SIGPLAN Conf. on Programming Language Design and Implementation PLDI 2017, Barcelona, 2017.","DOI":"10.1145\/3062341.3062352"},{"key":"3610_CR22","doi-asserted-by":"publisher","first-page":"242","DOI":"10.1145\/3296979.3192421","volume":"53","author":"S. Dolan","year":"2018","unstructured":"Dolan, S., Sivaramakrishnan, K., and Madhavapeddy, A., Bounding data races in space and time, ACM SIGPLAN Not., 2018, vol. 53, no. 4, pp. 242\u2013255.","journal-title":"ACM SIGPLAN Not."},{"key":"3610_CR23","doi-asserted-by":"crossref","unstructured":"Ou, P. and Demsky, B., Towards understanding the costs of avoiding out-of-thin-air results, Proc. ACM Program. Lang., 2018, vol. 2, no. OOPSLA, pp. 1\u201329.","DOI":"10.1145\/3276506"},{"key":"3610_CR24","doi-asserted-by":"crossref","unstructured":"Jeffrey, A. andRiely, J., On thin air reads: towards an event structures model of relaxed memory, Proc. 31st Annu. ACM\/IEEE Symp. on Logic in Computer Science LICS\u201916, New York, 2016.","DOI":"10.1145\/2933575.2934536"},{"key":"3610_CR25","doi-asserted-by":"publisher","first-page":"622","DOI":"10.1145\/2914770.2837616","volume":"51","author":"J. Pichon-Pharabod","year":"2016","unstructured":"Pichon-Pharabod, J. and Sewell, P., A concurrency semantics for relaxed atomics that permits optimisation and avoids thin-air executions, ACM SIGPLAN Not., 2016, vol. 51, no. 1, pp. 622\u2013633.","journal-title":"ACM SIGPLAN Not."},{"key":"3610_CR26","unstructured":"Marlow, S., et al., Haskell 2010 language report, 2010. https:\/\/www. haskell.org\/onlinereport\/haskell2010."},{"key":"3610_CR27","volume-title":"The Rust Programming Language (Covers Rust 2018)","author":"S. Klabnik","year":"2019","unstructured":"Klabnik, S. and Nichols, C., The Rust Programming Language (Covers Rust 2018), No Starch Press, 2019."},{"key":"3610_CR28","doi-asserted-by":"publisher","first-page":"68","DOI":"10.1145\/1379022.1375591","volume":"43","author":"H.-J. Boehm","year":"2008","unstructured":"Boehm, H.-J. and Adve, S.V., Foundations of the C++ concurrency memory model, ACM SIGPLAN Not., 2008, vol. 43, no. 6, pp. 68\u201378.","journal-title":"ACM SIGPLAN Not."},{"key":"3610_CR29","doi-asserted-by":"publisher","first-page":"649","DOI":"10.1145\/2914770.2837643","volume":"51","author":"O. Lahav","year":"2016","unstructured":"Lahav, O., Giannarakis, N., and Vafeiadis, V., Taming release-acquire consistency, ACM SIGPLAN Not., 2016, vol. 51, no. 1, pp. 649\u2013662.","journal-title":"ACM SIGPLAN Not."},{"key":"3610_CR30","doi-asserted-by":"publisher","first-page":"429","DOI":"10.1145\/3093333.3009839","volume":"52","author":"S. Flur","year":"2017","unstructured":"Flur, S., Sarkar, S., Pulte, C., Nienhuis, K., Maranget, L., Gray, K.E., Sezgin, A., Batty, M., and Sewell, P., Mixed-size concurrency: ARM, Power, C\/C++ 11, and SC, ACM SIGPLAN Not., 2017, vol. 52, no. 1, pp.\u00a0429\u2013442.","journal-title":"ACM SIGPLAN Not."},{"key":"3610_CR31","unstructured":"C\/C++11 mappings to processors, 2011. \nhttps:\/\/www.cl.cam.ac.uk\/~pes20\/cpp\/cpp0xmappings.html. Accessed Apr. 26, 2021."},{"key":"3610_CR32","doi-asserted-by":"publisher","first-page":"199","DOI":"10.1145\/1993316.1993522","volume":"46","author":"D. Marino","year":"2011","unstructured":"Marino, D., Singh, A., Millstein, T., Musuvathi, M., and Narayanasamy, S., A case for an SC-preserving compiler, ACM SIGPLAN Not., 2011, vol. 46, no. 6, pp.\u00a0199\u2013210.","journal-title":"ACM SIGPLAN Not."},{"key":"3610_CR33","doi-asserted-by":"crossref","unstructured":"Liu, L., Millstein, T., and Musuvathi, M., A volatile-by-default JVM for server applications, Proc. ACM Program. Lang., 2017, vol. 1, no. OOPSLA, pp. 1\u201325.","DOI":"10.1145\/3133873"},{"key":"3610_CR34","volume-title":"Advanced Compiler Design and Implementation","author":"S. Muchnick","year":"1997","unstructured":"Muchnick, S., Advanced Compiler Design and Implementation, Morgan Kaufmann, 1997."},{"key":"3610_CR35","doi-asserted-by":"crossref","unstructured":"Lahav, O., Namakonov, E., Oberhauser, J., Podkopaev, A., and Vafeiadis, V., Making weak memory models fair, 2020. arXiv:2012.01067.","DOI":"10.1145\/3485475"},{"key":"3610_CR36","doi-asserted-by":"crossref","unstructured":"\u0160ev\u010d\u00edk, J. and Aspinall, D., On validity of program transformations in the Java memory model, in Proc. European Conf. on Object-Oriented Programming, Springer, 2008, pp. 27\u201351.","DOI":"10.1007\/978-3-540-70592-5_3"},{"key":"3610_CR37","doi-asserted-by":"publisher","first-page":"181","DOI":"10.1145\/103135.103136","volume":"13","author":"M.N. Wegman","year":"1991","unstructured":"Wegman, M.N. and Zadeck, F.K., Constant propagation with conditional branches, ACM Trans. Program. Lang. Syst., 1991, vol. 13, no. 2, pp. 181\u2013210.","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"3610_CR38","doi-asserted-by":"crossref","unstructured":"Batty, M., Memarian, K., Nienhuis, K., Pichon-Pharabod, J., and Sewell, P., The problem of programming language concurrency semantics, in Proc. European Symp. on Programming Languages and Systems ESOP 2015, Springer, 2015, pp. 283\u2013307.","DOI":"10.1007\/978-3-662-46669-8_12"},{"key":"3610_CR39","unstructured":"Maranget, L., Sarkar, S., and Sewell, P., A tutorial introduction to the ARM and POWER relaxed memory models, 2012. https:\/\/www.cl.cam.ac.uk\/~pes20\/ppc-supplemental\/test7.pdf. Accessed Apr. 30, 2021."},{"key":"3610_CR40","doi-asserted-by":"crossref","unstructured":"Boudol, G. and Petri, G., A theory of speculative computation, in Proc. European Symp. on Programming, Springer, 2010, pp. 165\u2013184.","DOI":"10.1007\/978-3-642-11957-6_10"},{"key":"3610_CR41","doi-asserted-by":"crossref","unstructured":"Singh, A., Narayanasamy, S., Marino, D., Millstein, T., and Musuvathi, M., End-toend sequential consistency, Proc. 39th IEEE Annu. Int. Symp. on Computer Architecture (ISCA), Portland, 2012, pp. 524\u2013535.","DOI":"10.1109\/ISCA.2012.6237045"},{"key":"3610_CR42","doi-asserted-by":"crossref","unstructured":"Liu, L., Millstein, T., and Musuvathi, M., Accelerating sequential consistency for Java with speculative compilation, Proc. 40th ACM SIGPLAN Conf. on Programming Language Design and Implementation, 2019, pp. 16\u201330.","DOI":"10.1145\/3314221.3314611"},{"key":"3610_CR43","doi-asserted-by":"crossref","unstructured":"Marino, D., Singh, A., Millstein, T., Musuvathi, M., and Narayanasamy, S., DRFx: a simple and efficient memory model for concurrent programming languages, Proc. 31st ACM SIGPLAN Conf. on Programming Language Design and Implementation, Toronto, 2010, pp. 351\u2013362.","DOI":"10.1145\/1806596.1806636"},{"key":"3610_CR44","doi-asserted-by":"crossref","unstructured":"Demange, D., Laporte, V., Zhao, L., Jagannathan, S., Pichardie, D., and Vitek, J., Plan B: a buffered memory model for Java, Proc. 40th Annu. ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, Rome, 2013, pp. 329\u2013342.","DOI":"10.1145\/2429069.2429110"},{"key":"3610_CR45","doi-asserted-by":"publisher","first-page":"392","DOI":"10.1145\/1594834.1480930","volume":"44","author":"G. Boudol","year":"2009","unstructured":"Boudol, G. and Petri, G., Relaxed memory models: an operational approach, ACM SIGPLAN Not., 2009, vol.\u00a044, no. 1, pp. 392\u2013403.","journal-title":"ACM SIGPLAN Not."},{"key":"3610_CR46","doi-asserted-by":"crossref","unstructured":"Dodds, M., Batty, M., and Gotsman, A., Compositional verification of compiler optimisations on relaxed memory, in Proc. European Symp. on Programming, Springer, 2018, pp. 1027\u20131055.","DOI":"10.1007\/978-3-319-89884-1_36"},{"key":"3610_CR47","doi-asserted-by":"crossref","unstructured":"Doherty, S., Dongol, B., Wehrheim, H., and Derrick, J., Verifying C11 programs operationally, Proc. 24th Symp. on Principles and Practice of Parallel Programming, Washington, 2019, pp. 355\u2013365.","DOI":"10.1145\/3293883.3295702"},{"key":"3610_CR48","doi-asserted-by":"crossref","unstructured":"Dang, H.-H., Jourdan, J.-H., Kaiser, J.-O., and Dreyer, D., RustBelt meets relaxed memory, Proc. ACM Program. Lang., 2020, vol. 4, no. POPL, art. no. 34, pp.\u00a01\u201329.","DOI":"10.1145\/3371102"},{"key":"3610_CR49","doi-asserted-by":"crossref","unstructured":"Alglave, J., Maranget, L., McKenney, P.E., Parri, A., and Stern, A., Frightening small children and disconcerting grownups: concurrency in the Linux kernel, Proc. 23rd Int. Conf. on Architectural Support for Programming Languages and Operating Systems, 2018, pp.\u00a0405\u2013418.","DOI":"10.1145\/3173162.3177156"},{"key":"3610_CR50","doi-asserted-by":"publisher","first-page":"54","DOI":"10.1007\/s11704-015-4492-4","volume":"10","author":"Y. Zhang","year":"2016","unstructured":"Zhang, Y. and Feng, X., An operational happens-before memory model, Front. Comput. Sci., 2016, vol. 10, no.\u00a01, pp. 54\u201381.","journal-title":"Front. Comput. Sci."},{"key":"3610_CR51","unstructured":"Huisman, M. and Petri, G., The Java memory model: a formal explanation, Proc. Workshop on Verification and Analysis of Multi-Threaded Java-Like Programs VAMP\u201907, Lisbon, 2007, vol. 7, pp. 81\u201396."},{"key":"3610_CR52","doi-asserted-by":"crossref","unstructured":"Jagadeesan, R., Pitcher, C., and Riely, J., Generative operational semantics for relaxed memory models, in Proc. European Symp. on Programming, Springer, 2010, pp. 307\u2013326.","DOI":"10.1007\/978-3-642-11957-6_17"},{"key":"3610_CR53","doi-asserted-by":"crossref","unstructured":"Sarkar, S., Memarian, K., Owens, S., Batty, M., Sewell, P., Maranget, L., Alglave, J., and Williams, D., Synchronising C\/C++ and POWER, Proc. 33rd ACM SIGPLAN Conf. on Programming Language Design and Implementation, Beijing, 2012, pp. 311\u2013322.","DOI":"10.1145\/2254064.2254102"},{"key":"3610_CR54","doi-asserted-by":"publisher","first-page":"509","DOI":"10.1145\/2103621.2103717","volume":"47","author":"M. Batty","year":"2012","unstructured":"Batty, M., Memarian, K., Owens, S., Sarkar, S., and Sewell, P., Clarifying and compiling C\/C++ concurrency: from C++ 11 to POWER, ACM SIGPLAN Not., 2012, vol. 47, no. 1, pp. 509\u2013520.","journal-title":"ACM SIGPLAN Not."},{"key":"3610_CR55","doi-asserted-by":"crossref","unstructured":"Vafeiadis, V., Balabonski, T., Chakraborty, S., Morisset, R., and Nardelli, F.Z., Common compiler optimisations are invalid in the C11 memory model and what we can do about it, Proc. 42nd Ann. ACM SIGPLAN-SIGACT Symp. on Principles of Programming POPL\u201915, Mumbai, 2015, pp. 209\u2013220.","DOI":"10.1145\/2676726.2676995"},{"key":"3610_CR56","doi-asserted-by":"crossref","unstructured":"Batty, M., Donaldson, A.F., and Wickerson, J., Overhauling SC atomics in C11 and OpenCL, Proc. 43rd Annu. ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, St. Petersburg, FL, 2016, pp.\u00a0634\u2013648.","DOI":"10.1145\/2837614.2837637"},{"key":"3610_CR57","doi-asserted-by":"crossref","unstructured":"Nienhuis, K., Memarian, K., and Sewell, P., An operational semantics for C\/C++ 11 concurrency, Proc. ACM SIGPLAN Int. Conf. on Object-Oriented Programming, Systems, Languages, and Applications, Amsterdam, 2016, pp. 111\u2013128.","DOI":"10.1145\/2983990.2983997"},{"key":"3610_CR58","doi-asserted-by":"crossref","unstructured":"Crary, K. and Sullivan, M.J., A calculus for relaxed memory, Proc. 42nd Annu. ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, Mumbai, 2015, pp. 623\u2013636.","DOI":"10.1145\/2676726.2676984"},{"key":"3610_CR59","doi-asserted-by":"crossref","unstructured":"Saraswat, V.A., Jagadeesan, R., Michael, M., andvon Praun, C., A theory of memory models, Proc. 12th ACM SIGPLAN Symp. on Principles and Practice of Parallel Programming, San Jose, 2007, pp. 161\u2013172.","DOI":"10.1145\/1229428.1229469"},{"key":"3610_CR60","volume-title":"The SPARC Architecture Manual","author":"S.I. Inc","year":"1994","unstructured":"Inc, S.I. and Weaver, D.L., The SPARC Architecture Manual, Prentice-Hall, 1994."},{"key":"3610_CR61","doi-asserted-by":"crossref","unstructured":"Lustig, D., Trippel, C., Pellauer, M., and Martonosi, M., ArMOR: defending against memory consistency model mismatches in heterogeneous architectures, Proc. 42nd Annu. Int. Symp. on Computer Architecture, Portland, 2015, pp. 388\u2013400.","DOI":"10.1145\/2749469.2750378"},{"key":"3610_CR62","doi-asserted-by":"crossref","unstructured":"Podkopaev, A., Lahav, O., and Vafeiadis, V., Bridging the gap between programming languages and hardware weak memory models, Proc. ACM Program. Lang., 2019, vol. 3, no. POPL, pp. 1\u201331.","DOI":"10.1145\/3290382"},{"key":"3610_CR63","doi-asserted-by":"crossref","unstructured":"Pugh, W., Fixing the Java memory model, Proc. ACM Conf. on Java Grande, San Francisco, 1999, pp. 89\u201398.","DOI":"10.1145\/304065.304106"},{"key":"3610_CR64","doi-asserted-by":"publisher","first-page":"106","DOI":"10.1145\/277652.277670","volume":"33","author":"A. Diwan","year":"1998","unstructured":"Diwan, A., McKinley, K.S., and Moss, J.E.B., Type-based alias analysis, ACM SIGPLAN Not., 1998, vol. 33, no. 5, pp. 106\u2013117.","journal-title":"ACM SIGPLAN Not."},{"key":"3610_CR65","series-title":"A separation logic for a promising semantics","volume-title":"Programming Languages and Systems","author":"K. Svendsen","year":"2018","unstructured":"Svendsen, K., Pichon-Pharabod, J., Doko, M., Lahav, O., and Vafeiadis, V., A separation logic for a promising semantics, in Programming Languages and Systems, Ahmed, A., Ed., Cham: Springer Int. Publ., 2018, pp. 357\u2013384."},{"key":"3610_CR66","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/320385.320386","volume":"34","author":"J.-D. Choi","year":"1999","unstructured":"Choi, J.-D., Gupta, M., Serrano, M., Sreedhar, V.C., and Midkiff, S., Escape analysis for Java, ACM SIGPLAN Not., 1999, vol. 34, no. 10, pp. 1\u201319.","journal-title":"ACM SIGPLAN Not."},{"key":"3610_CR67","doi-asserted-by":"crossref","unstructured":"Jagadeesan, R., Jeffrey, A., and Riely, J., Pomsets with preconditions: a simple model of relaxed memory, Proc. ACM Program. Lang., 2020, vol. 4, no. OOPSLA, art. no. 194, pp. 1\u201330.","DOI":"10.1145\/3428262"},{"key":"3610_CR68","doi-asserted-by":"crossref","unstructured":"Cho, M., Lee, S.-H., Hur, C.-K., and Lahav, O., Modular data-race-freedom guarantees in the promising semantics, Proc. 42st ACM SIGPLAN Conf. on Programming Language Design and Implementation, 2021.","DOI":"10.1145\/3453483.3454082"}],"container-title":["Programming and Computer Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1134\/S0361768821060050.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1134\/S0361768821060050","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1134\/S0361768821060050.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,4,1]],"date-time":"2026-04-01T02:48:25Z","timestamp":1775011705000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1134\/S0361768821060050"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,11]]},"references-count":68,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2021,11]]}},"alternative-id":["3610"],"URL":"https:\/\/doi.org\/10.1134\/s0361768821060050","relation":{},"ISSN":["0361-7688","1608-3261"],"issn-type":[{"value":"0361-7688","type":"print"},{"value":"1608-3261","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,11]]},"assertion":[{"value":"17 May 2021","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"13 June 2021","order":2,"name":"revised","label":"Revised","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"13 July 2021","order":3,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"3 December 2021","order":4,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}