Newtonian Program Analysis of Probabilistic Programs
Due to their quantitative nature, probabilistic programs pose non-trivial challenges for designing compositional and efficient program analyses. Many analyses for probabilistic programs rely on iterative approximation. This article presents an interprocedural dataflow-analysis framework, called NPA-...
Gespeichert in:
Veröffentlicht in: | Proceedings of ACM on programming languages 2024-04, Vol.8 (OOPSLA1), p.305-333, Article 105 |
---|---|
Hauptverfasser: | , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | 333 |
---|---|
container_issue | OOPSLA1 |
container_start_page | 305 |
container_title | Proceedings of ACM on programming languages |
container_volume | 8 |
creator | Wang, Di Reps, Thomas |
description | Due to their quantitative nature, probabilistic programs pose non-trivial challenges for designing compositional and efficient program analyses. Many analyses for probabilistic programs rely on iterative approximation. This article presents an interprocedural dataflow-analysis framework, called NPA-PMA, for designing and implementing (partially) non-iterative program analyses of probabilistic programs with unstructured control-flow, nondeterminism, and general recursion. NPA-PMA is based on Newtonian Program Analysis (NPA), a generalization of Newton's method to solve equation systems over semirings. The key challenge for developing NPA-PMA is to handle multiple kinds of confluences in both the algebraic structures that specify analyses and the equation systems that encode control flow: semirings support a single confluence operation, whereas NPA-PMA involves three confluence operations (conditional, probabilistic, and nondeterministic). Our work introduces ω-continuous pre-Markov algebras (ωPMAs) to factor out common parts of different analyses; adopts regular infinite-tree expressions to encode probabilistic programs with unstructured control-flow; and presents a linearization method that makes Newton's method applicable to the setting of regular-infinite-tree equations over ωPMAs. NPA-PMA allows analyses to supply a non-iterative strategy to solve linearized equations. Our experimental evaluation demonstrates that (i) NPA-PMA holds considerable promise for outperforming Kleene iteration, and (ii) provides great generality for designing program analyses. |
doi_str_mv | 10.1145/3649822 |
format | Article |
fullrecord | <record><control><sourceid>acm_cross</sourceid><recordid>TN_cdi_crossref_primary_10_1145_3649822</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>3649822</sourcerecordid><originalsourceid>FETCH-LOGICAL-a239t-59291d69f67078b36e5e9c7a8dfed85c156713122fa26ce634bcef516c514d9d3</originalsourceid><addsrcrecordid>eNpNj0lLA0EUhBtRMMTg3dPcPI32672PIbhB0BzieXjTi7TMIt0Dkn-vIYl4qqLqo6AIuQZ6ByDkPVfCGsbOyIwJLWsQDM7_-UuyKOWTUgqWC8PtjIjX8D2NQ8Kh2uTxI2NfLQfsdiWVaoz7rMU2dalMyZ2IckUuInYlLI46J--PD9vVc71-e3pZLdc1Mm6nWlpmwSsblabatFwFGazTaHwM3kgHUmngwFhEplxQXLQuRAnKSRDeej4nt4ddl8dScojNV0495l0DtNn_bY5_f8mbA4mu_4NO5Q8cHE6g</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>Newtonian Program Analysis of Probabilistic Programs</title><source>ACM Digital Library Complete</source><source>Elektronische Zeitschriftenbibliothek - Frei zugängliche E-Journals</source><creator>Wang, Di ; Reps, Thomas</creator><creatorcontrib>Wang, Di ; Reps, Thomas</creatorcontrib><description>Due to their quantitative nature, probabilistic programs pose non-trivial challenges for designing compositional and efficient program analyses. Many analyses for probabilistic programs rely on iterative approximation. This article presents an interprocedural dataflow-analysis framework, called NPA-PMA, for designing and implementing (partially) non-iterative program analyses of probabilistic programs with unstructured control-flow, nondeterminism, and general recursion. NPA-PMA is based on Newtonian Program Analysis (NPA), a generalization of Newton's method to solve equation systems over semirings. The key challenge for developing NPA-PMA is to handle multiple kinds of confluences in both the algebraic structures that specify analyses and the equation systems that encode control flow: semirings support a single confluence operation, whereas NPA-PMA involves three confluence operations (conditional, probabilistic, and nondeterministic). Our work introduces ω-continuous pre-Markov algebras (ωPMAs) to factor out common parts of different analyses; adopts regular infinite-tree expressions to encode probabilistic programs with unstructured control-flow; and presents a linearization method that makes Newton's method applicable to the setting of regular-infinite-tree equations over ωPMAs. NPA-PMA allows analyses to supply a non-iterative strategy to solve linearized equations. Our experimental evaluation demonstrates that (i) NPA-PMA holds considerable promise for outperforming Kleene iteration, and (ii) provides great generality for designing program analyses.</description><identifier>ISSN: 2475-1421</identifier><identifier>EISSN: 2475-1421</identifier><identifier>DOI: 10.1145/3649822</identifier><language>eng</language><publisher>New York, NY, USA: ACM</publisher><subject>Algebraic semantics ; Probabilistic computation ; Program analysis ; Theory of computation ; Tree languages</subject><ispartof>Proceedings of ACM on programming languages, 2024-04, Vol.8 (OOPSLA1), p.305-333, Article 105</ispartof><rights>Owner/Author</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><cites>FETCH-LOGICAL-a239t-59291d69f67078b36e5e9c7a8dfed85c156713122fa26ce634bcef516c514d9d3</cites><orcidid>0000-0002-2418-7987 ; 0000-0002-5676-9949</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://dl.acm.org/doi/pdf/10.1145/3649822$$EPDF$$P50$$Gacm$$Hfree_for_read</linktopdf><link.rule.ids>314,776,780,2276,27901,27902,40172,75970</link.rule.ids></links><search><creatorcontrib>Wang, Di</creatorcontrib><creatorcontrib>Reps, Thomas</creatorcontrib><title>Newtonian Program Analysis of Probabilistic Programs</title><title>Proceedings of ACM on programming languages</title><addtitle>ACM PACMPL</addtitle><description>Due to their quantitative nature, probabilistic programs pose non-trivial challenges for designing compositional and efficient program analyses. Many analyses for probabilistic programs rely on iterative approximation. This article presents an interprocedural dataflow-analysis framework, called NPA-PMA, for designing and implementing (partially) non-iterative program analyses of probabilistic programs with unstructured control-flow, nondeterminism, and general recursion. NPA-PMA is based on Newtonian Program Analysis (NPA), a generalization of Newton's method to solve equation systems over semirings. The key challenge for developing NPA-PMA is to handle multiple kinds of confluences in both the algebraic structures that specify analyses and the equation systems that encode control flow: semirings support a single confluence operation, whereas NPA-PMA involves three confluence operations (conditional, probabilistic, and nondeterministic). Our work introduces ω-continuous pre-Markov algebras (ωPMAs) to factor out common parts of different analyses; adopts regular infinite-tree expressions to encode probabilistic programs with unstructured control-flow; and presents a linearization method that makes Newton's method applicable to the setting of regular-infinite-tree equations over ωPMAs. NPA-PMA allows analyses to supply a non-iterative strategy to solve linearized equations. Our experimental evaluation demonstrates that (i) NPA-PMA holds considerable promise for outperforming Kleene iteration, and (ii) provides great generality for designing program analyses.</description><subject>Algebraic semantics</subject><subject>Probabilistic computation</subject><subject>Program analysis</subject><subject>Theory of computation</subject><subject>Tree languages</subject><issn>2475-1421</issn><issn>2475-1421</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2024</creationdate><recordtype>article</recordtype><recordid>eNpNj0lLA0EUhBtRMMTg3dPcPI32672PIbhB0BzieXjTi7TMIt0Dkn-vIYl4qqLqo6AIuQZ6ByDkPVfCGsbOyIwJLWsQDM7_-UuyKOWTUgqWC8PtjIjX8D2NQ8Kh2uTxI2NfLQfsdiWVaoz7rMU2dalMyZ2IckUuInYlLI46J--PD9vVc71-e3pZLdc1Mm6nWlpmwSsblabatFwFGazTaHwM3kgHUmngwFhEplxQXLQuRAnKSRDeej4nt4ddl8dScojNV0495l0DtNn_bY5_f8mbA4mu_4NO5Q8cHE6g</recordid><startdate>20240429</startdate><enddate>20240429</enddate><creator>Wang, Di</creator><creator>Reps, Thomas</creator><general>ACM</general><scope>AAYXX</scope><scope>CITATION</scope><orcidid>https://orcid.org/0000-0002-2418-7987</orcidid><orcidid>https://orcid.org/0000-0002-5676-9949</orcidid></search><sort><creationdate>20240429</creationdate><title>Newtonian Program Analysis of Probabilistic Programs</title><author>Wang, Di ; Reps, Thomas</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a239t-59291d69f67078b36e5e9c7a8dfed85c156713122fa26ce634bcef516c514d9d3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2024</creationdate><topic>Algebraic semantics</topic><topic>Probabilistic computation</topic><topic>Program analysis</topic><topic>Theory of computation</topic><topic>Tree languages</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Wang, Di</creatorcontrib><creatorcontrib>Reps, Thomas</creatorcontrib><collection>CrossRef</collection><jtitle>Proceedings of ACM on programming languages</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Wang, Di</au><au>Reps, Thomas</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Newtonian Program Analysis of Probabilistic Programs</atitle><jtitle>Proceedings of ACM on programming languages</jtitle><stitle>ACM PACMPL</stitle><date>2024-04-29</date><risdate>2024</risdate><volume>8</volume><issue>OOPSLA1</issue><spage>305</spage><epage>333</epage><pages>305-333</pages><artnum>105</artnum><issn>2475-1421</issn><eissn>2475-1421</eissn><abstract>Due to their quantitative nature, probabilistic programs pose non-trivial challenges for designing compositional and efficient program analyses. Many analyses for probabilistic programs rely on iterative approximation. This article presents an interprocedural dataflow-analysis framework, called NPA-PMA, for designing and implementing (partially) non-iterative program analyses of probabilistic programs with unstructured control-flow, nondeterminism, and general recursion. NPA-PMA is based on Newtonian Program Analysis (NPA), a generalization of Newton's method to solve equation systems over semirings. The key challenge for developing NPA-PMA is to handle multiple kinds of confluences in both the algebraic structures that specify analyses and the equation systems that encode control flow: semirings support a single confluence operation, whereas NPA-PMA involves three confluence operations (conditional, probabilistic, and nondeterministic). Our work introduces ω-continuous pre-Markov algebras (ωPMAs) to factor out common parts of different analyses; adopts regular infinite-tree expressions to encode probabilistic programs with unstructured control-flow; and presents a linearization method that makes Newton's method applicable to the setting of regular-infinite-tree equations over ωPMAs. NPA-PMA allows analyses to supply a non-iterative strategy to solve linearized equations. Our experimental evaluation demonstrates that (i) NPA-PMA holds considerable promise for outperforming Kleene iteration, and (ii) provides great generality for designing program analyses.</abstract><cop>New York, NY, USA</cop><pub>ACM</pub><doi>10.1145/3649822</doi><tpages>29</tpages><orcidid>https://orcid.org/0000-0002-2418-7987</orcidid><orcidid>https://orcid.org/0000-0002-5676-9949</orcidid><oa>free_for_read</oa></addata></record> |
fulltext | fulltext |
identifier | ISSN: 2475-1421 |
ispartof | Proceedings of ACM on programming languages, 2024-04, Vol.8 (OOPSLA1), p.305-333, Article 105 |
issn | 2475-1421 2475-1421 |
language | eng |
recordid | cdi_crossref_primary_10_1145_3649822 |
source | ACM Digital Library Complete; Elektronische Zeitschriftenbibliothek - Frei zugängliche E-Journals |
subjects | Algebraic semantics Probabilistic computation Program analysis Theory of computation Tree languages |
title | Newtonian Program Analysis of Probabilistic Programs |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-09T12%3A21%3A18IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-acm_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Newtonian%20Program%20Analysis%20of%20Probabilistic%20Programs&rft.jtitle=Proceedings%20of%20ACM%20on%20programming%20languages&rft.au=Wang,%20Di&rft.date=2024-04-29&rft.volume=8&rft.issue=OOPSLA1&rft.spage=305&rft.epage=333&rft.pages=305-333&rft.artnum=105&rft.issn=2475-1421&rft.eissn=2475-1421&rft_id=info:doi/10.1145/3649822&rft_dat=%3Cacm_cross%3E3649822%3C/acm_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true |