{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,3]],"date-time":"2026-07-03T19:32:24Z","timestamp":1783107144321,"version":"3.54.6"},"reference-count":73,"publisher":"Association for Computing Machinery (ACM)","issue":"6","license":[{"start":{"date-parts":[[2023,12,5]],"date-time":"2023-12-05T00:00:00Z","timestamp":1701734400000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"NSF","doi-asserted-by":"publisher","award":["2105806, 2238839 and CCF-1846502"],"award-info":[{"award-number":["2105806, 2238839 and CCF-1846502"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Graph."],"published-print":{"date-parts":[[2023,12,5]]},"abstract":"<jats:p>We introduce SLANG.D, an extension to the Slang shading language that incorporates first-class automatic differentiation support. The new shading language allows us to transform a Direct3D-based path tracer to be fully differentiable with minor modifications to existing code. SLANG.D enables a shared ecosystem between machine learning frameworks and pre-existing graphics hardware API-based rendering systems, promoting the interchange of components and ideas across these two domains.<\/jats:p>\n          <jats:p>Our contributions include a differentiable type system designed to ensure type safety and semantic clarity in codebases that blend differentiable and non-differentiable code, language primitives that automatically generate both forward and reverse gradient propagation methods, and a compiler architecture that generates efficient derivative propagation shader code for graphics pipelines. Our compiler supports differentiating code that involves arbitrary control-flow, dynamic dispatch, generics and higher-order differentiation, while providing developers flexible control of checkpointing and gradient aggregation strategies for best performance. Our system allows us to differentiate an existing real-time path tracer, Falcor, with minimal change to its shader code. We show that the compiler-generated derivative kernels perform as efficiently as handwritten ones. In several benchmarks, the SLANG.D code achieves significant speedup when compared to prior automatic differentiation systems.<\/jats:p>","DOI":"10.1145\/3618353","type":"journal-article","created":{"date-parts":[[2023,12,5]],"date-time":"2023-12-05T10:20:48Z","timestamp":1701771648000},"page":"1-28","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":22,"title":["SLANG.D: Fast, Modular and Differentiable Shader Programming"],"prefix":"10.1145","volume":"42","author":[{"given":"Sai Praveen","family":"Bangaru","sequence":"first","affiliation":[{"name":"MIT CSAIL, USA and NVIDIA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Lifan","family":"Wu","sequence":"additional","affiliation":[{"name":"NVIDIA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Tzu-Mao","family":"Li","sequence":"additional","affiliation":[{"name":"University of California San Diego, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jacob","family":"Munkberg","sequence":"additional","affiliation":[{"name":"NVIDIA, Sweden"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Gilbert","family":"Bernstein","sequence":"additional","affiliation":[{"name":"University of Washington, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jonathan","family":"Ragan-Kelley","sequence":"additional","affiliation":[{"name":"MIT CSAIL, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Fr\u00e9do","family":"Durand","sequence":"additional","affiliation":[{"name":"MIT CSAIL, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Aaron","family":"Lefohn","sequence":"additional","affiliation":[{"name":"NVIDIA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Yong","family":"He","sequence":"additional","affiliation":[{"name":"NVIDIA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2023,12,5]]},"reference":[{"key":"e_1_2_2_1_1","unstructured":"Mart\u00edn Abadi Ashish Agarwal Paul Barham Eugene Brevdo Zhifeng Chen Craig Citro Greg S. Corrado Andy Davis Jeffrey Dean Matthieu Devin Sanjay Ghemawat Ian Goodfellow Andrew Harp Geoffrey Irving Michael Isard Yangqing Jia Rafal Jozefowicz Lukasz Kaiser Manjunath Kudlur Josh Levenberg Dan Man\u00e9 Rajat Monga Sherry Moore Derek Murray Chris Olah Mike Schuster Jonathon Shlens Benoit Steiner Ilya Sutskever Kunal Talwar Paul Tucker Vincent Vanhoucke Vijay Vasudevan Fernanda Vi\u00e9gas Oriol Vinyals Pete Warden Martin Wattenberg Martin Wicke Yuan Yu and Xiaoqiang Zheng. 2015. TensorFlow: Large-Scale Machine Learning on Heterogeneous Systems."},{"key":"e_1_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1007\/s12532-018-0139-4"},{"key":"e_1_2_2_3_1","unstructured":"Autodesk. 2023. Autodesk Aurora Path Tracing Renderer. https:\/\/github.com\/Autodesk\/Aurora"},{"key":"e_1_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/3414685.3417833"},{"key":"e_1_2_2_5_1","unstructured":"Bradley Bell. 2003. CppAD: A Package for Differentiation of C++ Algorithms. http:\/\/www.coin-or.org\/CppAD\/"},{"key":"e_1_2_2_6_1","unstructured":"Gilbert Bernstein Michael Mara Tzu-Mao Li Dougal Maclaurin and Jonathan Ragan-Kelley. 2020. Differentiating a tensor language. arXiv preprint arXiv:2008.11256."},{"key":"e_1_2_2_7_1","volume-title":"Chris Leary, Dougal Maclaurin, and Skye Wanderman-Milne.","author":"Bradbury James","year":"2018","unstructured":"James Bradbury, Roy Frostig, Peter Hawkins, Matthew James Johnson, Chris Leary, Dougal Maclaurin, and Skye Wanderman-Milne. 2018. JAX: composable transformations of Python+NumPy programs. http:\/\/github.com\/google\/jax"},{"key":"e_1_2_2_8_1","doi-asserted-by":"crossref","unstructured":"Ajay Brahmakshatriya and Saman Amarasinghe. 2021. BuildIt: A type-based multistage programming framework for code generation in C++. In Code Generation and Optimization. 39--51.","DOI":"10.1109\/CGO51591.2021.9370333"},{"key":"e_1_2_2_9_1","unstructured":"Brent Burley. 2012. Physically-based shading at Disney. In SIGGRAPH Course Notes. Practical physically-based shading in film and game production."},{"key":"e_1_2_2_10_1","unstructured":"Brent Burley. 2015. Extending the Disney BRDF to a BSDF with integrated subsurface scattering. In SIGGRAPH Course Notes. Physically Based Shading in Theory and Practice."},{"key":"e_1_2_2_11_1","volume-title":"Real-Time Path Tracing and Beyond. HPG 2022 Keynote.","author":"Clarberg Petrik","year":"2022","unstructured":"Petrik Clarberg, Simon Kallweit, Craig Kolb, Pawel Kozlowski, Yong He, Lifan Wu, Edward Liu, Benedikt Bitterli, and Matt Pharr. 2022. Real-Time Path Tracing and Beyond. HPG 2022 Keynote."},{"key":"e_1_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/357290.357293"},{"key":"e_1_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132188"},{"key":"e_1_2_2_14_1","volume-title":"The Simple Essence of Automatic Differentiation. International Conference on Functional Programming","author":"Elliott Conal","year":"2018","unstructured":"Conal Elliott. 2018. The Simple Essence of Automatic Differentiation. International Conference on Functional Programming (2018)."},{"key":"e_1_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1631687.1596579"},{"key":"e_1_2_2_16_1","unstructured":"Theresa Foley. 2022. Managing Shader Code Complexity in NVIDIA Omniverse. https:\/\/www.linkedin.com\/pulse\/managing-shader-code-complexity-nvidia-omniverse-tim-foley\/"},{"key":"e_1_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2010324.1965002"},{"key":"e_1_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/229473.229474"},{"key":"e_1_2_2_19_1","doi-asserted-by":"crossref","unstructured":"Andreas Griewank and Andrea Walther. 2008. Evaluating Derivatives. Society for Industrial and Applied Mathematics.","DOI":"10.1137\/1.9780898717761"},{"key":"e_1_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2450153.2450158"},{"key":"e_1_2_2_21_1","unstructured":"Jon Hasselgren Nikolai Hofmann and Jacob Munkberg. 2022. Shape Light and Material Decomposition from Images using Monte Carlo Rendering and Denoising. In Advances in Neural Information Processing Systems."},{"key":"e_1_2_2_22_1","volume-title":"Eurographics Symposium on Rendering.","author":"Hasselgren Jon","year":"2021","unstructured":"Jon Hasselgren, Jacob Munkberg, Jaakko Lehtinen, Miika Aittala, and Samuli Laine. 2021. Appearance-Driven Automatic 3D Model Simplification. In Eurographics Symposium on Rendering."},{"key":"e_1_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/3197517.3201380"},{"key":"e_1_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/3520484"},{"key":"e_1_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/2560359"},{"key":"e_1_2_2_26_1","volume-title":"DiffTaichi: Differentiable Programming for Physical Simulation. International Conference on Learning Representations","author":"Hu Yuanming","year":"2020","unstructured":"Yuanming Hu, Luke Anderson, Tzu-Mao Li, Qi Sun, Nathan Carr, Jonathan Ragan-Kelley, and Fr\u00e9do Durand. 2020. DiffTaichi: Differentiable Programming for Physical Simulation. International Conference on Learning Representations (2020)."},{"key":"e_1_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/3545008.3545089"},{"key":"e_1_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/3337821.3337906"},{"key":"e_1_2_2_29_1","unstructured":"Mathieu Huot and Amir Shaikhha. 2022. Denotationally Correct Purely Functional Efficient Reverse-mode Automatic Differentiation. arXiv preprint arXiv:2212.09801."},{"key":"e_1_2_2_30_1","doi-asserted-by":"crossref","unstructured":"Mathieu Huot Sam Staton and Matthijs V\u00e1k\u00e1r. 2020. Correctness of Automatic Differentiation via Diffeologies and Categorical Gluing. In Foundations of Software Science and Computation Structures. 319--338.","DOI":"10.1007\/978-3-030-45231-5_17"},{"key":"e_1_2_2_31_1","doi-asserted-by":"crossref","unstructured":"Homan Igehy. 1999. Tracing Ray Differentials. In SIGGRAPH. 179--186.","DOI":"10.1145\/311535.311555"},{"key":"e_1_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/3528223.3530099"},{"key":"e_1_2_2_33_1","doi-asserted-by":"crossref","unstructured":"Ulrik J\u00f8rring and William L Scherlis. 1986. Compilers and staging transformations. In Principles of programming languages. 86--96.","DOI":"10.1145\/512644.512652"},{"key":"e_1_2_2_34_1","unstructured":"Simon Kallweit Petrik Clarberg Craig Kolb Tom'a\u0161 Davidovi\u010d Kai-Hwa Yao Theresa Foley Yong He Lifan Wu Lucy Chen Tomas Akenine-M\u00f6ller Chris Wyman Cyril Crassin and Nir Benty. 2022. The Falcor Rendering Framework. https:\/\/github.com\/NVIDIAGameWorks\/Falcor"},{"key":"e_1_2_2_35_1","volume-title":"Dynamic Tensor Rematerialization. In International Conference on Learning Representations.","author":"Kirisame Marisa","year":"2021","unstructured":"Marisa Kirisame, Steven Lyubomirsky, Altan Haan, Jennifer Brennan, Mike He, Jared Roesch, Tianqi Chen, and Zachary Tatlock. 2021. Dynamic Tensor Rematerialization. In International Conference on Learning Representations."},{"key":"e_1_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/3498710"},{"key":"e_1_2_2_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/3414685.3417861"},{"key":"e_1_2_2_38_1","volume-title":"LLVM: A compilation framework for lifelong program analysis & transformation. In Code Generation and Optimization. 75--86.","author":"Lattner Chris","year":"2004","unstructured":"Chris Lattner and Vikram Adve. 2004. LLVM: A compilation framework for lifelong program analysis & transformation. In Code Generation and Optimization. 75--86."},{"key":"e_1_2_2_39_1","unstructured":"Tzu-Mao Li. 2018. redner: Differentiable rendering without approximation. https:\/\/github.com\/BachiLi\/redner"},{"key":"e_1_2_2_40_1","article-title":"Differentiable Monte Carlo Ray Tracing through Edge Sampling","volume":"37","author":"Li Tzu-Mao","year":"2018","unstructured":"Tzu-Mao Li, Miika Aittala, Fr\u00e9do Durand, and Jaakko Lehtinen. 2018a. Differentiable Monte Carlo Ray Tracing through Edge Sampling. ACM Trans. Graph. (Proc. SIGGRAPH Asia) 37, 6 (2018), 222:1--222:11.","journal-title":"ACM Trans. Graph. (Proc. SIGGRAPH Asia)"},{"key":"e_1_2_2_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/3197517.3201383"},{"key":"e_1_2_2_42_1","article-title":"Paparazzi: Surface Editing by Way of Multi-view Image Processing","volume":"37","author":"Derek Liu Hsueh-Ti","year":"2018","unstructured":"Hsueh-Ti Derek Liu, Michael Tao, and Alec Jacobson. 2018. Paparazzi: Surface Editing by Way of Multi-view Image Processing. ACM Trans. Graph. (Proc. SIGGRAPH Asia) 37, 6 (2018), 221:1--221:11.","journal-title":"ACM Trans. Graph. (Proc. SIGGRAPH Asia)"},{"key":"e_1_2_2_43_1","first-page":"228","article-title":"Reparameterizing discontinuous integrands for differentiable rendering","volume":"38","author":"Loubet Guillaume","year":"2019","unstructured":"Guillaume Loubet, Nicolas Holzschuch, and Wenzel Jakob. 2019. Reparameterizing discontinuous integrands for differentiable rendering. ACM Trans. Graph. (Proc. SIGGRAPH Asia) 38, 6 (2019), 228.","journal-title":"ACM Trans. Graph. (Proc. SIGGRAPH Asia)"},{"key":"e_1_2_2_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/3453986"},{"key":"e_1_2_2_45_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-58452-8_24"},{"key":"e_1_2_2_46_1","first-page":"12472","article-title":"Instead of rewriting foreign code for machine learning, automatically synthesize fast gradients","volume":"33","author":"Moses William","year":"2020","unstructured":"William Moses and Valentin Churavy. 2020. Instead of rewriting foreign code for machine learning, automatically synthesize fast gradients. Advances in Neural Information Processing Systems 33 (2020), 12472--12485.","journal-title":"Advances in Neural Information Processing Systems"},{"key":"e_1_2_2_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/3458817.3476165"},{"key":"e_1_2_2_48_1","doi-asserted-by":"publisher","DOI":"10.5555\/3571885.3571964"},{"key":"e_1_2_2_49_1","doi-asserted-by":"publisher","DOI":"10.1109\/CVPR52688.2022.00810"},{"key":"e_1_2_2_50_1","unstructured":"NVIDIA. 2023. NVIDIA RTX Remix. https:\/\/www.nvidia.com\/en-us\/geforce\/rtx-remix\/"},{"key":"e_1_2_2_51_1","volume-title":"PyTorch: An Imperative Style","author":"Paszke Adam","unstructured":"Adam Paszke, Sam Gross, Francisco Massa, Adam Lerer, James Bradbury, Gregory Chanan, Trevor Killeen, Zeming Lin, Natalia Gimelshein, Luca Antiga, Alban Desmaison, Andreas Kopf, Edward Yang, Zachary DeVito, Martin Raison, Alykhan Tejani, Sasank Chilamkurthy, Benoit Steiner, Lu Fang, Junjie Bai, and Soumith Chintala. 2019. PyTorch: An Imperative Style, High-Performance Deep Learning Library. In Advances in Neural Information Processing Systems. 8024--8035."},{"key":"e_1_2_2_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/3473593"},{"key":"e_1_2_2_53_1","article-title":"Reverse-mode AD in a Functional Framework: Lambda the Ultimate Backpropagator","volume":"30","author":"Pearlmutter Barak A.","year":"2008","unstructured":"Barak A. Pearlmutter and Jeffrey Mark Siskind. 2008. Reverse-mode AD in a Functional Framework: Lambda the Ultimate Backpropagator. Trans. Program. Lang. Syst. 30, 2 (2008), 7:1--7:36.","journal-title":"Trans. Program. Lang. Syst."},{"key":"e_1_2_2_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/3306346.3322955"},{"key":"e_1_2_2_55_1","doi-asserted-by":"crossref","unstructured":"Alexey Radul Adam Paszke Roy Frostig Matthew Johnson and Dougal Maclaurin. 2022. You only linearize once: Tangents transpose to gradients. arXiv preprint arXiv:2204.10923.","DOI":"10.1145\/3571236"},{"key":"e_1_2_2_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/2185520.2185528"},{"key":"e_1_2_2_57_1","doi-asserted-by":"publisher","DOI":"10.1111\/cgf.14607"},{"key":"e_1_2_2_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/3355089.3356554"},{"key":"e_1_2_2_59_1","volume-title":"Proc. ACM Program. Lang. 5, POPL, Article 3","author":"Sherman Benjamin","year":"2021","unstructured":"Benjamin Sherman, Jesse Michel, and Michael Carbin. 2021. \u03bbs: Computable semantics for differentiable programming with higher-order functions and datatypes. Proc. ACM Program. Lang. 5, POPL, Article 3 (2021), 31 pages."},{"key":"e_1_2_2_60_1","doi-asserted-by":"crossref","unstructured":"Walid Taha. 2004. A gentle introduction to multi-stage programming. In Domain-Specific Program Generation. 30--50.","DOI":"10.1007\/978-3-540-25935-0_3"},{"key":"e_1_2_2_61_1","doi-asserted-by":"publisher","DOI":"10.1111\/cgf.14455"},{"key":"e_1_2_2_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/1377596.1377598"},{"key":"e_1_2_2_63_1","article-title":"Path Replay Backpropagation: Differentiating Light Paths using Constant Memory and Linear Time","volume":"40","author":"Vicini Delio","year":"2021","unstructured":"Delio Vicini, S\u00e9bastien Speierer, and Wenzel Jakob. 2021. Path Replay Backpropagation: Differentiating Light Paths using Constant Memory and Linear Time. Transactions on Graphics (Proceedings of SIGGRAPH) 40, 4 (2021), 108:1--108:14.","journal-title":"Transactions on Graphics (Proceedings of SIGGRAPH)"},{"key":"e_1_2_2_64_1","doi-asserted-by":"publisher","DOI":"10.1016\/0898-1221(85)90188-9"},{"key":"e_1_2_2_65_1","volume-title":"Program Transformations for ML Workshop at Neur IPS.","author":"Vytiniotis Dimitrios","year":"2019","unstructured":"Dimitrios Vytiniotis, Dan Belov, Richard Wei, Gordon Plotkin, and Martin Abadi. 2019. The differentiable curry. In Program Transformations for ML Workshop at Neur IPS."},{"key":"e_1_2_2_66_1","unstructured":"Richard Wei Dan Zheng Marc Rasi and Bart Chrzaszcz. 2021. Differentiable Programming Manifesto. https:\/\/github.com\/apple\/swift\/blob\/main\/docs\/DifferentiableProgramming.md"},{"key":"e_1_2_2_67_1","doi-asserted-by":"publisher","DOI":"10.1145\/3528223.3530125"},{"key":"e_1_2_2_68_1","unstructured":"Dong Yu Adam Eversole Mike Seltzer Kaisheng Yao Oleksii Kuchaiev Yu Zhang Frank Seide Zhiheng Huang Brian Guenter Huaming Wang Jasha Droppo Geoffrey Zweig Chris Rossbach Jie Gao Andreas Stolcke Jon Currey Malcolm Slaney Guoguo Chen Amit Agarwal Chris Basoglu Marko Padmilac Alexey Kamenev Vladimir Ivanov Scott Cypher Hari Parthasarathi Bhaskar Mitra Baolin Peng and Xuedong Huang. 2014. An Introduction to Computational Networks and the Computational Network Toolkit. Technical Report. Microsoft Research."},{"key":"e_1_2_2_69_1","doi-asserted-by":"publisher","DOI":"10.1145\/3550454.3555500"},{"key":"e_1_2_2_70_1","doi-asserted-by":"publisher","DOI":"10.1145\/3450626.3459807"},{"key":"e_1_2_2_71_1","doi-asserted-by":"publisher","DOI":"10.1109\/CVPR52688.2022.00548"},{"key":"e_1_2_2_72_1","doi-asserted-by":"crossref","unstructured":"Shuang Zhao Ioannis Gkioulekas and Sai Bangaru. 2021. Physics-Based Differentiable Rendering. In CVPR Tutorial.","DOI":"10.1145\/3386569.3392383"},{"key":"e_1_2_2_73_1","article-title":"LuisaRender: A High-Performance Rendering Framework with Layered and Unified Interfaces on Stream Architectures","volume":"41","author":"Zheng Shaokun","year":"2022","unstructured":"Shaokun Zheng, Zhiqian Zhou, Xin Chen, Difei Yan, Chuyan Zhang, Yuefeng Geng, Yan Gu, and Kun Xu. 2022. LuisaRender: A High-Performance Rendering Framework with Layered and Unified Interfaces on Stream Architectures. ACM Trans. Graph. (Proc. SIGGRAPH Asia) 41, 6, Article 232 (2022), 19 pages.","journal-title":"ACM Trans. Graph. (Proc. SIGGRAPH Asia)"}],"container-title":["ACM Transactions on Graphics"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3618353","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3618353","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3618353","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,8,21]],"date-time":"2025-08-21T10:47:11Z","timestamp":1755773231000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3618353"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,12,5]]},"references-count":73,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2023,12,5]]}},"alternative-id":["10.1145\/3618353"],"URL":"https:\/\/doi.org\/10.1145\/3618353","relation":{},"ISSN":["0730-0301","1557-7368"],"issn-type":[{"value":"0730-0301","type":"print"},{"value":"1557-7368","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,12,5]]},"assertion":[{"value":"2023-12-05","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}