{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,16]],"date-time":"2026-04-16T02:02:46Z","timestamp":1776304966237,"version":"3.50.1"},"reference-count":99,"publisher":"Association for Computing Machinery (ACM)","issue":"POPL","license":[{"start":{"date-parts":[[2024,1,2]],"date-time":"2024-01-02T00:00:00Z","timestamp":1704153600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/100000001","name":"NSF","doi-asserted-by":"publisher","award":["1553471, 1564207, 1918483, 1910216"],"award-info":[{"award-number":["1553471, 1564207, 1918483, 1910216"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000015","name":"DOE U.S. Department of Energy","doi-asserted-by":"publisher","award":["DE-SC0018050"],"award-info":[{"award-number":["DE-SC0018050"]}],"id":[{"id":"10.13039\/100000015","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Program. Lang."],"published-print":{"date-parts":[[2024,1,2]]},"abstract":"<jats:p>Datalog has gained prominence in program analysis due to its expressiveness and ease of use. Its generic fixpoint resolution algorithm over relational domains simplifies the expression of many complex analyses. The performance and scalability issues of early Datalog approaches have been addressed by tools such as Souffl\u00e9 through specialized code generation. Still, while pure Datalog is expressive enough to support a wide range of analyses, there is a growing need for extensions to accommodate increasingly complex analyses This has led to the development of various extensions, such as Flix, Datafun, and Formulog, which enhance Datalog with features like arbitrary lattices and SMT constraints.<\/jats:p>\n          <jats:p>Most of these extensions recognize the need for full interoperability between Datalog and a full-fledged programming language, a functionality that high-performance systems like Souffl\u00e9 lack. Specifically, in most cases, they construct languages from scratch with first-class Datalog support, allowing greater flexibility. However, this flexibility often comes at the cost of performance due to the conflicting requirements of prioritizing modularity and abstraction over efficiency. Consequently, achieving both flexibility and compilation to highly-performant specialized code poses a significant challenge.<\/jats:p>\n          <jats:p>In this work, we reconcile the competing demands of expressiveness and performance with Flan, a Datalog compiler fully embedded in Scala that leverages multi-stage programming to generate specialized code for enhanced performance. Our approach combines the flexibility of Flix with Souffl\u00e9\u2019s performance, offering seamless integration with the host language that enables the addition of powerful extensions while generating specialized code for the entire computation. Flan\u2019s simple operator interface allows the addition of an extensive set of features, including arbitrary aggregates, user-defined functions, and lattices, with multiple execution strategies such as binary and multi-way joins, supported by different indexing structures like specialized trees and hash tables, with minimal effort. We evaluate our system on a variety of benchmarks and compare it to established Datalog engines. Our results demonstrate competitive performance and speedups in the range of to compared to state-of-the-art systems for workloads of practical importance.<\/jats:p>","DOI":"10.1145\/3632928","type":"journal-article","created":{"date-parts":[[2024,1,5]],"date-time":"2024-01-05T20:48:51Z","timestamp":1704487731000},"page":"2577-2609","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":8,"title":["Flan: An Expressive and Efficient Datalog Compiler for Program Analysis"],"prefix":"10.1145","volume":"8","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-6054-2432","authenticated-orcid":false,"given":"Supun","family":"Abeysinghe","sequence":"first","affiliation":[{"name":"Purdue University, West Lafayette, USA"}]},{"ORCID":"https:\/\/orcid.org\/0009-0008-6670-6408","authenticated-orcid":false,"given":"Anxhelo","family":"Xhebraj","sequence":"additional","affiliation":[{"name":"Purdue University, West Lafayette, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2068-3238","authenticated-orcid":false,"given":"Tiark","family":"Rompf","sequence":"additional","affiliation":[{"name":"Purdue University, West Lafayette, USA"}]}],"member":"320","published-online":{"date-parts":[[2024,1,5]]},"reference":[{"key":"e_1_3_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/3129246"},{"key":"e_1_3_1_3_1","unstructured":"Supun Abeysinghe Fei Wang Gr\u00e9gory M. Essertel and Tiark Rompf. 2023. Architecting Intermediate Layers for Efficient Composition of Data Management and Machine Learning Systems. CoRR abs\/2311.02781 (2023)."},{"key":"e_1_3_1_4_1","doi-asserted-by":"publisher","DOI":"10.5555\/551350"},{"key":"e_1_3_1_5_1","doi-asserted-by":"crossref","unstructured":"Nicholas Allen Bernhard Scholz and Padmanabhan Krishnan. 2015. Staged Points-to Analysis for Large Code Bases. In CC (Lecture Notes in Computer Science Vol. 9031). Springer 131\u2013150.","DOI":"10.1007\/978-3-662-46663-6_7"},{"key":"e_1_3_1_6_1","doi-asserted-by":"crossref","unstructured":"Nada Amin William E. Byrd and Tiark Rompf. 2019. Lightweight Functional Logic Meta-Programming. In APLAS (Lecture Notes in Computer Science Vol. 11893). Springer 225\u2013243.","DOI":"10.1007\/978-3-030-34175-6_12"},{"key":"e_1_3_1_7_1","volume-title":"Program analysis and specialization for the C programming language.","author":"Lars Ole Andersen","year":"1994","unstructured":"Andersen Lars Ole 1994. Program analysis and specialization for the C programming language. Ph. D. Dissertation. Citeseer."},{"key":"e_1_3_1_8_1","first-page":"25","volume-title":"SOAP@PLDI.","author":"Antoniadis Tony","year":"2017","unstructured":"Tony Antoniadis, Konstantinos Triantafyllou, and Yannis Smaragdakis. 2017. Porting doop to Souffl\u00e9: a tale of inter-engine portability for Datalog-based analyses. In SOAP@PLDI. ACM, 25\u201330."},{"key":"e_1_3_1_9_1","doi-asserted-by":"crossref","unstructured":"Samuel Arch Hu Xiaowen David Zhao Pavle Subotic and Bernhard Scholz. 2022. Building a Join Optimizer for Souffl\u00e9. In LOPSTR (Lecture Notes in Computer Science Vol. 13474). Springer 83\u2013102.","DOI":"10.1007\/978-3-031-16767-6_5"},{"key":"e_1_3_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/2723372.2742796"},{"key":"e_1_3_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/3371090"},{"key":"e_1_3_1_12_1","doi-asserted-by":"crossref","unstructured":"Michael Arntzenius and Neelakantan R. Krishnaswami. 2016. Datafun: a functional Datalog. In ICFP. ACM 214\u2013227.","DOI":"10.1145\/2951913.2951948"},{"key":"e_1_3_1_13_1","doi-asserted-by":"crossref","unstructured":"Albert Atserias Martin Grohe and Marx. D\u00e1niel 2008. Size Bounds and Query Plans for Relational Joins. In FOCS. IEEE Computer Society 739\u2013748.","DOI":"10.1109\/FOCS.2008.43"},{"key":"e_1_3_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/3428209"},{"key":"e_1_3_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1273920.1273923"},{"key":"e_1_3_1_16_1","unstructured":"Jeff Bezanson Alan Edelman Stefan Karpinski and Viral B. Shah. 2014. Julia: A Fresh Approach to Numerical Computing. CoRR https:\/\/abs\/1411.1607 (2014)."},{"key":"e_1_3_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1167473.1167488"},{"key":"e_1_3_1_18_1","article-title":"The DaCapo Benchmarks: Java Benchmarking Development and Analysis (Extended Version).","author":"Blackburn S. M.","year":"2006","unstructured":"S. M. Blackburn, R. Garner, C. Hoffman, A. M. Khan, K. S. McKinley, R. Bentzur, A. Diwan, D. Feinberg, D. Frampton, S. Z. Guyer, M. Hirzel, A. Hosking, M. Jump, H. Lee, J. E. B. Moss, A. Phansalkar, D. Stefanovi\u0107, T. VanDrunen, D. von Dincklage, and B. Wiedermann. 2006b. The DaCapo Benchmarks: Java Benchmarking Development and Analysis (Extended Version). Technical Report TR-CS-06-01. https:\/\/www.dacapobench.org.","journal-title":"Technical Report TR-CS-06-01"},{"key":"e_1_3_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO51591.2021.9370333"},{"key":"e_1_3_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO53902.2022.9741280"},{"key":"e_1_3_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/3622813"},{"key":"e_1_3_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1640089.1640108"},{"key":"e_1_3_1_23_1","doi-asserted-by":"publisher","DOI":"10.1016\/0743-1066(85)90002-0"},{"key":"e_1_3_1_24_1","doi-asserted-by":"crossref","unstructured":"Mendon\u00e7a de Moura Leonardo and Nikolaj S. Bj\u00f8rner. 2007. Efficient E-Matching for SMT Solvers. In CADE (Lecture Notes in Computer Science Vol. 4603). Springer 183\u2013198.","DOI":"10.1007\/978-3-540-73595-3_13"},{"key":"e_1_3_1_25_1","first-page":"799","volume-title":"OSDI.","author":"Essertel Gr\u00e9gory M.","year":"2018","unstructured":"Gr\u00e9gory M. Essertel, Ruby Y. Tahboub, James M. Decker, Kevin J. Brown, Kunle Olukotun, and Tiark Rompf. 2018. Flare: Optimizing Apache Spark with Native Compilation for Scale-Up Architectures and Medium-Size Data. In OSDI. USENIX Association, 799\u2013815."},{"key":"e_1_3_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/3486609.3487207"},{"key":"e_1_3_1_27_1","doi-asserted-by":"publisher","DOI":"10.14778\/3311880.3311886"},{"key":"e_1_3_1_28_1","first-page":"1075","volume-title":"USENIX Security Symposium.","author":"Flores-Montoya Antonio","year":"2020","unstructured":"Antonio Flores-Montoya and Eric M. Schulte. 2020. Datalog Disassembly. In USENIX Security Symposium. USENIX Association, 1075\u20131092."},{"issue":"1","key":"e_1_3_1_29_1","first-page":"22","article-title":"Compilation in the Microsoft SQL Server Hekaton Engine.","volume":"37","author":"Freedman Craig","year":"2014","unstructured":"Craig Freedman, Erik Ismert, and Per-\u00c5ke Larson. 2014. Compilation in the Microsoft SQL Server Hekaton Engine. IEEE Data Eng. Bull. 37, 1 (2014), 22\u201330.","journal-title":"IEEE Data Eng. Bull."},{"key":"e_1_3_1_30_1","doi-asserted-by":"publisher","DOI":"10.14778\/3407790.3407797"},{"key":"e_1_3_1_31_1","first-page":"45","article-title":"Partial evaluation of computation process-an approach to a compiler-compiler.","volume":"25","author":"Futamura Yoshihiko","year":"1971","unstructured":"Yoshihiko Futamura. 1971. Partial evaluation of computation process-an approach to a compiler-compiler. Systems, Computers, Controls 25 (1971), 45\u201350.","journal-title":"Systems, Computers, Controls"},{"key":"e_1_3_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2019.00120"},{"key":"e_1_3_1_33_1","doi-asserted-by":"crossref","unstructured":"Elnar Hajiyev Mathieu Verbaere and de Moor. Oege 2006. codeQuest: Scalable Source Code Queries with Datalog. In ECOOP (Lecture Notes in Computer Science Vol. 4067). Springer 2\u201327.","DOI":"10.1007\/11785477_2"},{"key":"e_1_3_1_34_1","unstructured":"Julien Henry. 2022. User defined aggregate. https:\/\/github.com\/souffle-lang\/souffle\/pull\/2282\/files."},{"key":"e_1_3_1_35_1","doi-asserted-by":"crossref","unstructured":"Krystof Hoder Nikolaj S. Bj\u00f8rner and de Moura Leonardo Mendon\u00e7a. 2011. \u03bcZ-An Efficient Engine for Fixed Points with Constraints. In CAV (Lecture Notes in Computer Science Vol. 6806). Springer 457\u2013462.","DOI":"10.1007\/978-3-642-22110-1_36"},{"key":"e_1_3_1_36_1","doi-asserted-by":"publisher","DOI":"10.5555\/153676"},{"key":"e_1_3_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/3303084.3309490"},{"key":"e_1_3_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/3293883.3295719"},{"key":"e_1_3_1_39_1","doi-asserted-by":"publisher","DOI":"10.1002\/cpe.5643"},{"key":"e_1_3_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/319838.319859"},{"key":"e_1_3_1_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2010.5447892"},{"key":"e_1_3_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065167.1065169"},{"key":"e_1_3_1_43_1","doi-asserted-by":"crossref","unstructured":"Chris Lattner and Vikram Adve. 2004. LLVM: A Compilation Framework for Lifelong Program Analysis and Transformation. San Jose CA USA 75\u201388.","DOI":"10.1109\/CGO.2004.1281665"},{"key":"e_1_3_1_44_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO51591.2021.9370308"},{"key":"e_1_3_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/1926385.1926389"},{"key":"e_1_3_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/1142473.1142485"},{"key":"e_1_3_1_47_1","unstructured":"Magnus Madsen Jonathan Starup and Ondrej Lhot\u00e1k. 2022. Flix: A Meta Programming Language for Datalog. In Datalog (CEUR Workshop Proceedings Vol. 3203). https:\/\/CEUR-WS.org 202\u2013206."},{"key":"e_1_3_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/2908080.2908096"},{"key":"e_1_3_1_49_1","volume-title":"HotOS.","author":"McSherry Frank","year":"2015","unstructured":"Frank McSherry, Michael Isard, and Derek Gordon Murray. 2015. Scalability! But at what COST?. In HotOS. USENIX Association."},{"key":"e_1_3_1_50_1","unstructured":"Frank McSherry Derek Gordon Murray Rebecca Isaacs and Michael Isard. 2013. Differential Dataflow. In CIDR. https:\/\/www.cidrdb.org."},{"key":"e_1_3_1_51_1","unstructured":"Dan Moldovan James M. Decker Fei Wang Andrew A. Johnson Brian K. Lee Zachary Nado D. Sculley Tiark Rompf and Alexander B. Wiltschko. 2019. AutoGraph: Imperative-style Coding with Graph-based Performance. In MLSys. https:\/\/mlsys.org."},{"key":"e_1_3_1_52_1","doi-asserted-by":"publisher","DOI":"10.14778\/2002938.2002940"},{"key":"e_1_3_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/3180143"},{"key":"e_1_3_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/2590989.2590991"},{"key":"e_1_3_1_55_1","unstructured":"Andr\u00e9 Pacak and Sebastian Erdweg. 2022. Functional Programming with Datalog. In ECOOP (LIPIcs Vol. 222). Schloss Dagstuhl - Leibniz-Zentrum f\u00fcr Informatik 7:1\u20137:28."},{"key":"e_1_3_1_56_1","doi-asserted-by":"publisher","DOI":"10.14778\/3184470.3184471"},{"key":"e_1_3_1_57_1","unstructured":"Rayon. 2022. Rayon: A data parallelism library for Rust.https:\/\/github.com\/rayon-rs\/rayon."},{"key":"e_1_3_1_58_1","doi-asserted-by":"crossref","unstructured":"Thomas W. Reps. 1994. Solving Demand Versions of Interprocedural Analysis Problems. In CC (Lecture Notes in Computer Science Vol. 786). Springer 389\u2013403.","DOI":"10.1007\/3-540-57877-3_26"},{"key":"e_1_3_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/199448.199462"},{"key":"e_1_3_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/2784731.2784760"},{"key":"e_1_3_1_61_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796819000054"},{"key":"e_1_3_1_62_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10990-013-9096-9"},{"key":"e_1_3_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/1868294.1868314"},{"key":"e_1_3_1_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/2429069.2429128"},{"key":"e_1_3_1_65_1","unstructured":"Leonid Ryzhyk and Mihai Budiu. 2019. Differential Datalog. In Datalog (CEUR Workshop Proceedings Vol. 2368). https:\/\/CEUR-WS.org 56\u201367."},{"key":"e_1_3_1_66_1","doi-asserted-by":"publisher","DOI":"10.1016\/0304-3975(96)00072-2"},{"key":"e_1_3_1_67_1","doi-asserted-by":"publisher","DOI":"10.1145\/3622840"},{"key":"e_1_3_1_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/3497776.3517779"},{"key":"e_1_3_1_69_1","doi-asserted-by":"publisher","DOI":"10.1145\/2892208.2892226"},{"key":"e_1_3_1_70_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASWEC.2015.15"},{"key":"e_1_3_1_71_1","doi-asserted-by":"publisher","DOI":"10.1109\/TKDE.2015.2405562"},{"key":"e_1_3_1_72_1","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2915244"},{"key":"e_1_3_1_73_1","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2915229"},{"key":"e_1_3_1_74_1","doi-asserted-by":"publisher","DOI":"10.1561\/2500000014"},{"key":"e_1_3_1_75_1","doi-asserted-by":"crossref","unstructured":"Yannis Smaragdakis and Martin Bravenboer. 2010. Using Datalog for Fast and Easy Program Analysis. In Datalog (Lecture Notes in Computer Science Vol. 6702). Springer 245\u2013251.","DOI":"10.1007\/978-3-642-24206-9_14"},{"key":"e_1_3_1_76_1","doi-asserted-by":"publisher","DOI":"10.14778\/3282495.3282500"},{"key":"e_1_3_1_77_1","doi-asserted-by":"publisher","DOI":"10.1145\/3276509"},{"key":"e_1_3_1_78_1","doi-asserted-by":"publisher","DOI":"10.1145\/2970276.2970298"},{"key":"e_1_3_1_79_1","doi-asserted-by":"crossref","unstructured":"Tam\u00e1s Szab\u00f3 Markus Voelter and Sebastian Erdweg. 2017. IncAL: A DSL for Incremental Program Analysis with Lattices. In Proceedings of the International Workshop on Incremental Computing (IC).","DOI":"10.1145\/2970276.2970298"},{"key":"e_1_3_1_80_1","doi-asserted-by":"publisher","DOI":"10.1145\/258993.259019"},{"key":"e_1_3_1_81_1","doi-asserted-by":"publisher","DOI":"10.1145\/3183713.3196893"},{"key":"e_1_3_1_82_1","unstructured":"Luc Tielen. 2023. Eclair-lang. https:\/\/github.com\/luc-tielen\/eclair-lang."},{"key":"e_1_3_1_83_1","doi-asserted-by":"publisher","DOI":"10.5555\/42790"},{"key":"e_1_3_1_84_1","first-page":"984","volume-title":"Principles of Database and Knowledge-Base Systems, Volume II.","author":"Ullman. Jeffrey D.","year":"1989","unstructured":"Jeffrey D. Ullman. 1989. Principles of Database and Knowledge-Base Systems, Volume II. Computer Science Press. 984\u2013987 pages."},{"key":"e_1_3_1_85_1","unstructured":"Todd L. Veldhuizen. 2014. Triejoin: A Simple Worst-Case Optimal Join Algorithm. In ICDT. https:\/\/OpenProceedings.org 96\u2013106."},{"key":"e_1_3_1_86_1","doi-asserted-by":"publisher","DOI":"10.1145\/2020976.2021006"},{"key":"e_1_3_1_87_1","doi-asserted-by":"publisher","DOI":"10.1145\/3589295"},{"key":"e_1_3_1_88_1","doi-asserted-by":"publisher","DOI":"10.1145\/3428232"},{"key":"e_1_3_1_89_1","doi-asserted-by":"publisher","DOI":"10.1145\/3360552"},{"key":"e_1_3_1_90_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE48619.2023.00116"},{"key":"e_1_3_1_91_1","unstructured":"Joel Wejdenst\u00e5l. 2022. DashMap. https:\/\/github.com\/xacrimon\/dashmap."},{"key":"e_1_3_1_92_1","doi-asserted-by":"crossref","unstructured":"John Whaley Dzintars Avots Michael Carbin and Monica S. Lam. 2005. Using Datalog with Binary Decision Diagrams for Program Analysis. In APLAS (Lecture Notes in Computer Science Vol. 3780). Springer 97\u2013118.","DOI":"10.1007\/11575467_8"},{"key":"e_1_3_1_93_1","doi-asserted-by":"publisher","DOI":"10.1145\/996841.996859"},{"key":"e_1_3_1_94_1","doi-asserted-by":"publisher","DOI":"10.1145\/3434304"},{"key":"e_1_3_1_95_1","unstructured":"Eric Zhang. 2020. ekzhang\/crepe: Datalog compiler embedded in Rust as a procedural macro. https:\/\/github.com\/ekzhang\/crepe."},{"key":"e_1_3_1_96_1","doi-asserted-by":"crossref","unstructured":"Yihong Zhang Yisu Remy Wang Oliver Flatt David Cao Philip Zucker Eli Rosenthal Zachary Tatlock and Max Willsey. 2023. Better Together: Unifying Datalog and Equality Saturation. CoRR https:\/\/abs\/2304.04332 (2023).","DOI":"10.1145\/3591239"},{"key":"e_1_3_1_97_1","doi-asserted-by":"publisher","DOI":"10.1145\/3498696"},{"key":"e_1_3_1_98_1","doi-asserted-by":"publisher","DOI":"10.1145\/3479394.3479415"},{"key":"e_1_3_1_99_1","doi-asserted-by":"publisher","DOI":"10.1145\/3379446"},{"key":"e_1_3_1_100_1","unstructured":"Philip Zucker. 2022. Logging an Egg: Datalog on E-Graphs (EGRAPHS 2022). 1\u20136."}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3632928","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3632928","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3632928","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,7,4]],"date-time":"2025-07-04T20:05:15Z","timestamp":1751659515000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3632928"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,1,2]]},"references-count":99,"journal-issue":{"issue":"POPL","published-print":{"date-parts":[[2024,1,2]]}},"alternative-id":["10.1145\/3632928"],"URL":"https:\/\/doi.org\/10.1145\/3632928","relation":{},"ISSN":["2475-1421"],"issn-type":[{"value":"2475-1421","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,1,2]]},"assertion":[{"value":"2024-01-05","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}