{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,16]],"date-time":"2026-07-16T22:12:15Z","timestamp":1784239935190,"version":"3.55.0"},"reference-count":69,"publisher":"Association for Computing Machinery (ACM)","issue":"PLDI","license":[{"start":{"date-parts":[[2024,6,20]],"date-time":"2024-06-20T00:00:00Z","timestamp":1718841600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Program. Lang."],"published-print":{"date-parts":[[2024,6,20]]},"abstract":"<jats:p>A key promise of probabilistic programming is the ability to specify rich models using an expressive programming language. However, the expressive power that makes probabilistic programming languages enticing also poses challenges to inference, so much so that specialized approaches to inference ban language features such as recursion. We present an approach to variable elimination and marginal inference for probabilistic programs featuring bounded recursion, discrete distributions, and sometimes continuous distributions. A compiler eliminates probabilistic side effects, using a novel information-flow type system to factorize probabilistic computations and hoist independent subcomputations out of sums or integrals. For a broad class of recursive programs with dynamically recurring substructure, the compiler effectively decomposes a global marginal-inference problem, which may otherwise be intractable, into tractable subproblems. We prove the compilation correct by showing that it preserves denotational semantics. Experiments show that the compiled programs subsume widely used PTIME algorithms for recursive models and that the compilation time scales with the size of the inference problems. As a separate contribution, we develop a denotational, logical-relations model of information-flow types in the novel measure-theoretic setting of probabilistic programming; we use it to prove noninterference and consequently the correctness of variable elimination.<\/jats:p>\n          <jats:p>\n            CCS Concepts: \u2022\n            <jats:italic toggle=\"yes\">Theory of computation<\/jats:italic>\n            <jats:inline-formula>\n              <mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\" display=\"inline\">\n                <mml:mo>\u2192<\/mml:mo>\n              <\/mml:math>\n            <\/jats:inline-formula>\n            <jats:italic toggle=\"yes\">Probabilistic computation; Program semantics; Program reasoning; Type theory; \u2022<\/jats:italic>\n            <jats:bold>Mathematics of computing<\/jats:bold>\n            <jats:inline-formula>\n              <mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\" display=\"inline\">\n                <mml:mo>\u2192<\/mml:mo>\n              <\/mml:math>\n            <\/jats:inline-formula>\n            <jats:italic toggle=\"yes\">Bayesian computation; Statistical software;<\/jats:italic>\n            \u2022\n            <jats:bold>Computing methodologies<\/jats:bold>\n            <jats:inline-formula>\n              <mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\" display=\"inline\">\n                <mml:mo>\u2192<\/mml:mo>\n              <\/mml:math>\n            <\/jats:inline-formula>\n            <jats:italic toggle=\"yes\">Machine learning;<\/jats:italic>\n            \u2022\n            <jats:bold>Software and its engineering<\/jats:bold>\n            <jats:inline-formula>\n              <mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\" display=\"inline\">\n                <mml:mo>\u2192<\/mml:mo>\n              <\/mml:math>\n            <\/jats:inline-formula>\n            <jats:italic toggle=\"yes\">Compilers; Functional languages; Language features; Formal language definitions<\/jats:italic>\n            .\n          <\/jats:p>","DOI":"10.1145\/3656448","type":"journal-article","created":{"date-parts":[[2024,6,20]],"date-time":"2024-06-20T16:27:20Z","timestamp":1718900840000},"page":"1755-1780","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["Compiling Probabilistic Programs for Variable Elimination with Information Flow"],"prefix":"10.1145","volume":"8","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-7371-3034","authenticated-orcid":false,"given":"Jianlin","family":"Li","sequence":"first","affiliation":[{"name":"University of Waterloo, Waterloo, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0000-0865-8964","authenticated-orcid":false,"given":"Eric","family":"Wang","sequence":"additional","affiliation":[{"name":"University of Waterloo, Waterloo, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8206-4694","authenticated-orcid":false,"given":"Yizhou","family":"Zhang","sequence":"additional","affiliation":[{"name":"University of Waterloo, Waterloo, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2024,6,20]]},"reference":[{"key":"e_1_3_1_2_1","doi-asserted-by":"publisher","unstructured":"Mart\u00edn Abadi Anindya Banerjee Nevin Heintze and Jon G. Riecke. 1999. A core calculus of dependency. In ACM SIGPLAN Symp. on Principles of Programming Languages (POPL). https:\/\/doi.org\/10.1145\/292540.292555 10.1145\/292540.292555","DOI":"10.1145\/292540.292555"},{"key":"e_1_3_1_3_1","doi-asserted-by":"publisher","unstructured":"Torben Amtoft and Anindya Banerjee. 2020. A theory of slicing for imperative probabilistic programs. ACM Tran. on Programming Languages and Systems (TOPLAS) 42 2 (April 2020). https:\/\/doi.org\/10.1145\/3372895 10.1145\/3372895","DOI":"10.1145\/3372895"},{"key":"e_1_3_1_4_1","doi-asserted-by":"publisher","unstructured":"Eric Atkinson Charles Yuan Guillaume Baudart Louis Mandel and Michael Carbin. 2022. Semi-symbolic inference for efficient streaming probabilistic programming. Proc. of the ACM on Programming Languages (PACMPL) 6 OOPSLA2 (Oct. 2022). https:\/\/doi.org\/10.1145\/3563347 10.1145\/3563347","DOI":"10.1145\/3563347"},{"key":"e_1_3_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/3473592"},{"key":"e_1_3_1_6_1","doi-asserted-by":"publisher","unstructured":"J. K. Baker. 1979. Trainable grammars for speech recognition. The Journal of the Acoustical Society of America 65 S1 (1979). https:\/\/doi.org\/10.1121\/1.2017061 10.1121\/1.2017061","DOI":"10.1121\/1.2017061"},{"key":"e_1_3_1_7_1","doi-asserted-by":"publisher","unstructured":"Jialu Bao Simon Docherty Justin Hsu and Alexandra Silva. 2021. A bunched logic for conditional independence. In ACM\/IEEE Symp. on Logic In Computer Science (LICS). https:\/\/doi.org\/10.1109\/LICS52264.2021.9470712 10.1109\/LICS52264.2021.9470712","DOI":"10.1109\/LICS52264.2021.9470712"},{"key":"e_1_3_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/3371123"},{"key":"e_1_3_1_9_1","doi-asserted-by":"publisher","unstructured":"Guillaume Baudart Louis Mandel Eric Atkinson Benjamin Sherman Marc Pouzet and Michael Carbin. 2020. Reactive probabilistic programming. In ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI). https:\/\/doi.org\/10.1145\/3385412.3386009 10.1145\/3385412.3386009","DOI":"10.1145\/3385412.3386009"},{"key":"e_1_3_1_10_1","unstructured":"Richard E. Bellman. 1957. Dynamic Programming. Princeton University Press."},{"key":"e_1_3_1_11_1","doi-asserted-by":"crossref","unstructured":"Eli Bingham Jonathan P. Chen Martin Jankowiak Fritz Obermeyer Neeraj Pradhan Theofanis Karaletsos Rohit Singh Paul Szerlip Paul Horsfall and Noah D. Goodman. 2019. Pyro: Deep universal probabilistic programming. Journal of Machine Learning Research (JMLR) 20 1 (2019). arXiv:1810.09538","DOI":"10.1145\/3315508.3329974"},{"key":"e_1_3_1_12_1","doi-asserted-by":"publisher","unstructured":"Johannes Borgstrom Ugo Dal Lago Andrew D. Gordon and Marcin Szymczak. 2016. A lambda-calculus foundation for universal probabilistic programming. In ACM SIGPLAN Conf. on Functional Programming (ICFP). https:\/\/doi.org\/10.1145\/2951913.2951942 10.1145\/2951913.2951942","DOI":"10.1145\/2951913.2951942"},{"key":"e_1_3_1_13_1","doi-asserted-by":"publisher","unstructured":"Johannes Borgstrom Andrew D. Gordon. Michael Greenberg James Margetson and Jurgen Van Gael. 2011. Measure transformer semantics for Bayesian machine learning. In European Symp. on Programming (ESOP). https:\/\/doi.org\/10.1007\/978-3-642-19718-5_5 10.1007\/978-3-642-19718-5_5","DOI":"10.1007\/978-3-642-19718-5_5"},{"key":"e_1_3_1_14_1","doi-asserted-by":"publisher","unstructured":"Bob Carpenter Andrew Gelman Matthew D .Hoffman Daniel Lee Ben Goodrich Michael Betancourt Marcus Brubaker Jiqiang Guo Peter Li and Allen Riddell. 2017. Stan: A probabilistic programming language. Journal of Statistical Software 76 1 (2017). https:\/\/doi.org\/10.18637\/jss.v076.i01 10.18637\/jss.v076.i01","DOI":"10.18637\/jss.v076.i01"},{"key":"e_1_3_1_15_1","doi-asserted-by":"publisher","unstructured":"Mark Chavira and Adnan Darwiche. 2008. On probabilistic inference by weighted model counting. Artificial Intelligence 172 6 (2008). https:\/\/doi.org\/10.1016\/j.artint.2007.11.002 10.1016\/j.artint.2007.11.002","DOI":"10.1016\/j.artint.2007.11.002"},{"key":"e_1_3_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/3586050"},{"key":"e_1_3_1_17_1","unstructured":"David Chiang and Darcey Riley. 2020. Factor graph grammars. In Conf. on Neural Information Processing Systems (NeurIPS). arXiv:2010.12048"},{"key":"e_1_3_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491411.2491423"},{"key":"e_1_3_1_19_1","doi-asserted-by":"publisher","unstructured":"Ryan Culpepper and Andrew Cobb. 2017. Contextual equivalence for probabilistic programs with continuous random variables and scoring. In European Symp. on Programming (ESOP). https:\/\/doi.org\/10.1007\/978-3-662-54434-1_14 10.1007\/978-3-662-54434-1_14","DOI":"10.1007\/978-3-662-54434-1_14"},{"key":"e_1_3_1_20_1","doi-asserted-by":"publisher","unstructured":"Oliver Danvy and Andrzex Filinski. 1992. Representing control: a study of the CPS transformation. Mathematical Structures in Computer Science 2 4 (1992). https:\/\/doi.org\/10.1017\/S0960129500001535 10.1017\/S0960129500001535","DOI":"10.1017\/S0960129500001535"},{"key":"e_1_3_1_21_1","doi-asserted-by":"publisher","unstructured":"Adnan Darwiche. 2009. Modeling and Reasoning with Bayesian Networks. Cambridge University Press. https:\/\/doi.org\/10.1017\/CB09780511811357 10.1017\/CB09780511811357","DOI":"10.1017\/CB09780511811357"},{"key":"e_1_3_1_22_1","doi-asserted-by":"publisher","unstructured":"Dorothy E. Denning and Peter J. Denning. 1977. Certification of programs for secure information flow. Comm. of the ACM (CACM) 20 7 (July 1977). https:\/\/doi.org\/10.1145\/359636.359712 10.1145\/359636.359712","DOI":"10.1145\/359636.359712"},{"key":"e_1_3_1_23_1","unstructured":"Dorothy Elizabeth Robling Denning. 1982. Cryptography and Data Security. Addison-Wesley Reading."},{"key":"e_1_3_1_24_1","doi-asserted-by":"publisher","unstructured":"Simon Duane A.D. Kennedy Brian J. Pendleton and Duncan Roweth 1987. Hybrid Monte Carlo. Physics Letters B 195 2 (1987). https:\/\/doi.org\/10.1016\/0370-2693(87)91197-X 10.1016\/0370-2693(87)91197-X","DOI":"10.1016\/0370-2693(87)91197-X"},{"key":"e_1_3_1_25_1","unstructured":"Roy Frostig Matthew Johnson and Chris Leary. 2018. Compiling machine learning programs via highllevel tracing. https:\/\/mlsys.org\/Conferences\/doc\/2018\/146.pdf"},{"key":"e_1_3_1_26_1","doi-asserted-by":"publisher","unstructured":"Timon Gehr Sasa Misailovic and Martin Vechev. 2016. PSI: Exact symbolic inference for probabilistic programs. In Int\u2019l Conf. on Computer Aided Verification (CAV). https:\/\/doi.org\/10.1007\/978-3-319-41528-4_4 10.1007\/978-3-319-41528-4_4","DOI":"10.1007\/978-3-319-41528-4_4"},{"key":"e_1_3_1_27_1","doi-asserted-by":"publisher","unstructured":"Timon Gehr Samuel Steffen and Martin Vechev. 2020. APSI: Exact inference for higher-order probabilistic programs. In ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI). https:\/\/doi.org\/10.1145\/3385412.3386006 10.1145\/3385412.3386006","DOI":"10.1145\/3385412.3386006"},{"key":"e_1_3_1_28_1","doi-asserted-by":"publisher","unstructured":"J. A. Goguen and J. Meseguer. 1982. Security policies and security models. In IEEE Symp. on Security and Privacy. https:\/\/doi.org\/10.1109\/SP.1982.10014 10.1109\/SP.1982.10014","DOI":"10.1109\/SP.1982.10014"},{"key":"e_1_3_1_29_1","unstructured":"Noah D. Goodman and Andreas Stuhlmuller. 2014. The design and implementation of probabilistic programming languages. http:\/\/dippl.org."},{"key":"e_1_3_1_30_1","doi-asserted-by":"publisher","unstructured":"Maria I. Gorinova Andrew D. Gordon Charles Sutton and Matthijs Vakar. 2021. Conditional independence by typing. ACM Tran. on Programming Languages and Systems (TOPLAS) 44 1 (Dec. 2021). https:\/\/doi.org\/10.1145\/3490421 10.1145\/3490421 arXiv:2010.11887","DOI":"10.1145\/3490421"},{"key":"e_1_3_1_31_1","doi-asserted-by":"publisher","unstructured":"Chris Heunen Ohad Kammar Sam Staton and Hongseok Yang. 2017. A convenient category for higher-order probability theory. In ACM\/IEEE Symp. on Logic In Computer Science (LICS). https:\/\/doi.org\/10.5555\/3329995.3330072 10.5555\/3329995.3330072 arXiv:1701.02547","DOI":"10.5555\/3329995.3330072"},{"key":"e_1_3_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/3428208"},{"key":"e_1_3_1_33_1","doi-asserted-by":"publisher","unstructured":"Matthew D. Homan and Andrew Gelman. 2014. The no-U-turn sampler: Adaptively setting path lengths in Hamiltonian Monte Carlo. Journal of Machine Learning Research (JMLR) 15 1 (Jan. 2014). https:\/\/doi.org\/10.5555\/2627435.2638586 10.5555\/2627435.2638586","DOI":"10.5555\/2627435.2638586"},{"key":"e_1_3_1_34_1","doi-asserted-by":"publisher","unstructured":"Chung-Kil Hur Aditya V. Nori Sriram k. Rajamani and Selva. Samuel 2014. Slicing probabilistic programs. In ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI). https:\/\/doi.org\/10.1145\/2594291.2594303 10.1145\/2594291.2594303","DOI":"10.1145\/2594291.2594303"},{"key":"e_1_3_1_35_1","article-title":"Effective Bayesian inference for stochastic programs.","author":"Koller Daphne","year":"1997","unstructured":"Daphne Koller, David McAllester, and Avi Pfeffer. 1997. Effective Bayesian inference for stochastic programs. In Proc. of the 14th National Conf. on Artificial Intelligence and the 9th Conf. on Innovative Applications of Artificial Intelligence (AAAI\/IAAI).","journal-title":"In Proc. of the 14th National Conf. on Artificial Intelligence and the 9th Conf. on Innovative Applications of Artificial Intelligence (AAAI\/IAAI)."},{"key":"e_1_3_1_36_1","unstructured":"Satoshi Kura. 2023. Higher-order weakest precondition transformers via a CPS transformation. (2023). arXiv:2301.09997"},{"key":"e_1_3_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/3591290"},{"key":"e_1_3_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/3571243"},{"key":"e_1_3_1_39_1","doi-asserted-by":"publisher","unstructured":"Jianlin Li Eric Wang and Yizhou Zhang. 2024. Compiling probabilistic programs for variable elimination with information flow (artifact). https:\/\/doi.org\/10.5281\/zenodo.10951893 10.5281\/zenodo.10951893","DOI":"10.5281\/zenodo.10951893"},{"key":"e_1_3_1_40_1","unstructured":"Jianlin Li Eric Wang and Yizhou Zhang. 2024. Compiling Probabilistic Programs for Variable Elimination with Information Flow (Extended Version). Technical Report CS-2024-03. School of Computer Science University of Waterloo. https:\/\/cs.uwaterloo.ca\/sites\/ca.computer-science\/files\/uploads\/files\/cs-2024-03.pdf"},{"key":"e_1_3_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/3591226"},{"key":"e_1_3_1_42_1","unstructured":"Christopher Manning and Hinrich Schutze. 1999. Foundations of Statistical Natural Language Processing. MIT Press."},{"key":"e_1_3_1_43_1","unstructured":"Andrew McCallum Karl Schultz and Sameer Singh. 2009. FACTORIE: Probabilistic programming via imperatively defined factor graphs. In Conf. on Neural Information Processing Systems (NIPS)."},{"key":"e_1_3_1_44_1","unstructured":"Lawrence Murray Daniel Lunden Jan Kudlicka David Broman and Thomas Schon. 2018. Delayed sampling and automatic Rao-Blackwellization of probabilistic programs. In Int\u2019l Conf. on Artificial Intelligence and Statistics (AISTATS). arXiv:1708.07787"},{"key":"e_1_3_1_45_1","doi-asserted-by":"publisher","unstructured":"Andrew C. Myers. 1999. JFlow: Practical mostly static information flow control. In ACM SIGPLAN Symp. on Principles of Programming Languages (POPL). https:\/\/doi.org\/10.1145\/292540.292561 10.1145\/292540.292561","DOI":"10.1145\/292540.292561"},{"key":"e_1_3_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/268998.266669"},{"key":"e_1_3_1_47_1","doi-asserted-by":"publisher","unstructured":"Praveen Narayanan Jacques Carette Wren Romano Chung-chieh Shan and Robert Zinkov. 2016. Probabilistic inference by program transformation in Hakaru (system description). In Functional and Logic Programming. https:\/\/doi.org\/10.1007\/978-3-319-29604-3_5 10.1007\/978-3-319-29604-3_5","DOI":"10.1007\/978-3-319-29604-3_5"},{"key":"e_1_3_1_48_1","doi-asserted-by":"publisher","unstructured":"Radford M. Neal. 2001. Annealed importance sampling. Statistics and Computing 11 (2001). https:\/\/doi.org\/10.1023\/A:1008923215028 10.1023\/A:1008923215028","DOI":"10.1023\/A:1008923215028"},{"key":"e_1_3_1_49_1","unstructured":"Fritz Obermeyer Eli Bingham Martin Jankowiak Neeraj Pradhan Justin Chiu Alexander Rush and Noah Goodman. 2019. Tensor variable elimination for plated factor graphs. In Int\u2019l Conf. on Machine Learning (ICML). arXiv:1902.03210"},{"key":"e_1_3_1_50_1","doi-asserted-by":"publisher","unstructured":"Judea Pearl. 1988. Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference. Morgan Kaufmann. https:\/\/doi.org\/10.1016\/B978-0-08-051489-5.50001-1 10.1016\/B978-0-08-051489-5.50001-1","DOI":"10.1016\/B978-0-08-051489-5.50001-1"},{"key":"e_1_3_1_51_1","unstructured":"AviPfeffer. [n.d.]. IBAL: An expressive functional probabilistic modeling language. ([n. d.]). https:\/\/www.cs.tufts.edu\/\u223cnr\/cs257\/archive\/avi-pfeffer\/ibal-journal.pdf"},{"key":"e_1_3_1_52_1","unstructured":"Avi Pfeffer 2001. IBAL: A probabilistic rational programming language. In Int\u2019l Joint Conf. on Artificial Intelligence (IJCAI)."},{"key":"e_1_3_1_53_1","doi-asserted-by":"publisher","unstructured":"Avi Pfeffer. 2007. The design and implementation of IBAL: A general-purpose probabilistic language. In Introduction to Statistical Relational Learning. The MIT Press. https:\/\/doi.org\/10.7551\/mitpress\/7432.003.0016 10.7551\/mitpress\/7432.003.0016","DOI":"10.7551\/mitpress\/7432.003.0016"},{"key":"e_1_3_1_54_1","unstructured":"AviPfeffer. 2016. Practical Probabilistic Programming. Manning Publications."},{"key":"e_1_3_1_55_1","unstructured":"Du Phan Neeraj Pradhan and Martin Jankowiak. 2019. Composable effects for flexible and accelerated probabilistic programming inNumPyro. (2019). arXiv:1912.11554"},{"key":"e_1_3_1_56_1","doi-asserted-by":"publisher","unstructured":"Lawrence R .Rabiner and Biing-Hwang Juang. 1986. An introduction to hidden Markov models. IEEE ASSP Magazine 3 1 (1986). https:\/\/doi.org\/10.1109\/MASSP.1986.1165342 10.1109\/MASSP.1986.1165342","DOI":"10.1109\/MASSP.1986.1165342"},{"key":"e_1_3_1_57_1","doi-asserted-by":"publisher","unstructured":"Vineet Rajani and Deepak Garg. 2018. Types for information flow control: Labeling granularity and semantic models. In IEEE Computer Security Foundations Symp. (CSF). https:\/\/doi.org\/10.1109\/CSF.2018.00024 10.1109\/CSF.2018.00024","DOI":"10.1109\/CSF.2018.00024"},{"key":"e_1_3_1_58_1","doi-asserted-by":"publisher","unstructured":"Christian P. Robert and George. Casella 1999. Monte Carlo Statistical Methods. Springer. https:\/\/doi.org\/10.1007\/978-1-4757-4145-2 10.1007\/978-1-4757-4145-2","DOI":"10.1007\/978-1-4757-4145-2"},{"key":"e_1_3_1_59_1","doi-asserted-by":"publisher","unstructured":"Fredrik Ronquist Jan Kudlicka Viktor Senderov Johannes Borgstrom Nicolas Lartillot Daniel Lunden Lawrence Murray Thomas B. Schon and David Broman. 2021. Universal probabilistic programming offers a powerful approach to statistical phylogenetics. Communications Biology 4 1 (2021). https:\/\/doi.org\/10.1038\/s42003-021-01753-7 10.1038\/s42003-021-01753-7","DOI":"10.1038\/s42003-021-01753-7"},{"key":"e_1_3_1_60_1","doi-asserted-by":"publisher","unstructured":"Feras A. Saad. Martin C Rinard and Vikash K.. Mansinghka 2021. SPPL: Probabilistic programming with fast exact symbolic inference. In ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI). https:\/\/doi.org\/10.1145\/3453483.3454078 10.1145\/3453483.3454078","DOI":"10.1145\/3453483.3454078"},{"key":"e_1_3_1_61_1","doi-asserted-by":"publisher","unstructured":"Andrei Sabelfeld and Andrew C. Myers. 2003. Language-based information-flow security. IEEE Journal on Selected Areas in Communications 21 1 (2003). https:\/\/doi.org\/10.1109\/JSAC.2002.806121 10.1109\/JSAC.2002.806121","DOI":"10.1109\/JSAC.2002.806121"},{"key":"e_1_3_1_62_1","doi-asserted-by":"publisher","unstructured":"Andrei Sabelfeld and David Sands. 2001. A PER model of secure information flow in sequential programs. Higher-Order and Symbolic Computation 14 (2001). https:\/\/doi.org\/10.1023\/A:1011553200337 10.1023\/A:1011553200337","DOI":"10.1023\/A:1011553200337"},{"key":"e_1_3_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/3158148"},{"key":"e_1_3_1_64_1","unstructured":"Andreas Stuhlmuller and Noah D. Goodman. 2012. A dynamic programming algorithm for inference in recursive probabilistic programs. (2012). arXiv:1206.3555"},{"key":"e_1_3_1_65_1","doi-asserted-by":"publisher","DOI":"10.1145\/3290349"},{"key":"e_1_3_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/3341702"},{"key":"e_1_3_1_67_1","doi-asserted-by":"publisher","DOI":"10.1145\/3236782"},{"key":"e_1_3_1_68_1","doi-asserted-by":"crossref","unstructured":"Di .Wang Jan Hoffmann and Thomas .Reps 2021. Sound probabilistic inference via guide types. In ACM SIGPLAN Conf. on Programming Language Design andImplementation (PLDI). arXiv:2104.03598","DOI":"10.1145\/3410300"},{"key":"e_1_3_1_69_1","article-title":"A simple approach to Bayesian network computations.","author":"Zhang Nevin Lianwen","year":"1994","unstructured":"Nevin Lianwen Zhang and David Poole. 1994. A simple approach to Bayesian network computations. In Proc. of the 10th Canadian Conference on Artificial Intelligence.","journal-title":"In Proc. of the 10th Canadian Conference on Artificial Intelligence."},{"key":"e_1_3_1_70_1","doi-asserted-by":"publisher","DOI":"10.1145\/3498677"}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3656448","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3656448","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,7,4]],"date-time":"2025-07-04T20:40:25Z","timestamp":1751661625000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3656448"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,6,20]]},"references-count":69,"journal-issue":{"issue":"PLDI","published-print":{"date-parts":[[2024,6,20]]}},"alternative-id":["10.1145\/3656448"],"URL":"https:\/\/doi.org\/10.1145\/3656448","relation":{},"ISSN":["2475-1421"],"issn-type":[{"value":"2475-1421","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,6,20]]},"assertion":[{"value":"2024-06-20","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}